我这样使用VIM:索引贴 ★★★★★

作者:   日期: 2011-05-19  分类: 1 文本办公, 1.2 文本编辑   标签: ,

vim
本文将作为“我如何实际使用gVim”的索引贴,不定期更新。

一、基本说明

gVim使用情况:
绝大多数情况下,是处理文本(txt、html);
少数情况下,处理 AutoHotkey、ini文件;
从来不处理程序代码,因为不会编程。

gVim学习过程:
(待补充:2005年……2次学习,ERP,打印小册子)参见:普通人的编辑利器——Vim

我的gvim设置:
vimrc文件:…… 常用插件:……

二、常用功能

重点:用VIM记笔记
最初,用自定义txt。
自定义高亮文件,实现了对日期的高亮(yyyy-mm-dd);标题高亮,且折叠,这样可以方便的管理长文件;快速定位和查找(/)。
2005年9月的方案见水木文章(附语法文件,效果图)
此后,修改折叠方式,参见 水木文章(附代码、效果图)

后来,明白了txt与html本是一体,放弃了原来的做法,改用html格式记笔记。细节见下:
* 为什么txt与html是一回事?原因是pre标签,详见 链接
* vim 写 html 可以借用自定义缩写、snippet、vimhtml 扩展。三者之中,仍以自定义为本。(待详细展开)
* vim 编辑 html,可借助 Voom 扩展,实现左侧目录导航,详见链接

重点:用Vim写博客
写博客,不用WordPress可视视图,直接在vim中手写代码,部分内容同上。另外补充两条:
* 从WordPress到vim,用ahk脚本,见……
* 具体效果参见视频演示

vim临时处理文字
在把文章转发到BBS/论坛时,会用VIM排版。
* 段前两个全角空格:Ctrl+Q,jjj……, I两个全角空格, Esc
* 合并行:J

用VIM来做通讯录。X加密后要密码才能打开;/快速查找(维护记录时加一个英文简称,如syjr 善用佳软 010-62001234,则/syjr就能定位到了);Email高亮。

把VIM指定为 Total Commander 的F4默认编辑器。

三、偶尔使用或曾经使用的功能

辅助Excel等系统处理数据:主要利用正则替换、列模式功能。如把2006-6-30替换为2006.6.30或2006.06.30

机密文件(比如带有业务数据的excel)先用VIM修改(破坏)一下再del。

打开常用文件的方法:最常用的文件指定一个全局书签(比如关于VIM的笔记指定为N,则要打开时只要`N就可以了);最近打开过的用:MRU插件;知道目录的用:e d:\xx\yy\z.txt利用tab补全。

VIM中取消菜单和工具栏,简洁。

有时可用它放到顶层和透明度来做笔记。详见这里

可以比较文本文件的差异(用的较少,比较文件本来就少,TC更方便)。

总结一下就是,主要用它的快速定位、批量且强大的替换功能。



2011-05-19:几乎重写本文。
2006-07-05:初稿,发于新浪博客。

分享到:
作者: 2011-05-19 
出处: https://xbeta.info/my-gvim.htm
说明:转载、投稿、翻译类文章版权信息以正文标注为准
分类: 1 文本办公, 1.2 文本编辑   标签: ,

热门评论

megax 发表于 2011-05-20 12:30:57 #
基本上,我认为,博主在vim上的付出和收获不成正比。我猜想很多人这么热衷vim的原因是,因为可以把玩它,配置它,还有另类的操作会让自己有一种成就感,就像当初的我一样。如果只是做基本的文本修改,替换,或者只是轻度键盘爱好者的话,vim无论是从启动速度,内存占用,记忆难度还是多窗口管理上,收获与付出均不成正比。我还是觉得,vim是终端的王者,至于GUI下嘛。。。看看你身边使用它的人就知道了!
(44喜欢)
善用佳软 发表于 2011-05-24 08:23:31 #
@megax, 因为这一组讨论比较激烈,并且投入产出比例,也是一个重要问题,所以,简短答复如下——本想写专文的,但时间不够。 1. 软件对我和很多读者而言,至少两重含义:实用主义的工具;爱好和兴趣。 2. 从实用主义角度,边际效益递减。所以,投入产出有一个最优点。 大多数不关注软件的人,处于这个点的左侧。即,他们应该再投入10分钟,换取30分钟的时间节省。 而对软件兴趣越大的人,所处位置右侧偏离平衡点的越远。他们可能因为一个偶然问题上1秒钟的不方便(只是不方便而已,还不是“不能”),去花费几小时寻找方案,再用几小时试验改进,甚至导致系统崩溃…… 3. 人生总有一些时间可以蹉跎。我们既非理性机器,也非实用主义的奴隶。爱好和兴趣,也是人生价值体系中不可缺少,甚至是较为高级的组成部分。因此,综合来看,用户的最优点并不是狭义投入产出曲线的最大值,而是与兴趣相权衡后的综合最优值。 权衡过程中,实用与兴趣各占比例几何?目前难以明确判断。但平衡点也不可知乎?苏轼有云:此心安处是吾乡。 4. 可否安心?如何安心?需要一个次第过程。举例如下: 初,仅知notepad,无心无虑; 后,知多款功能更多之editor,感叹世界多彩; 再后,知vim,但未能入手,惑; 入手vim,感叹天外有天,三月不知肉味; 如此许久,忽怅然而叹:投入vim甚多,值否? 再后面,还会有新阶段…… 4+. 再后面的新阶段是什么,我也是刚刚进入不久,所以,不想贸然定论。 但在《从最简界面的Total Commander谈起》一文中,试着分析了很多。无心的读者认为这又是一篇TC文章,但有心读者才知道TC只是个引子,标题的关键词是“谈”。 文章开篇就指出:有些问题,实用角度并无价值,甚至可谓变态。但在变态需求的解决方案之中,却有可能把软件的功能、用户的思路,挑战至极,加深对软件和应用的思考。君不见,诸多武林高手,皆在生死关头,才超越极限,更上层楼。唯魔高一尺,才逼得道高一丈。 这种挑战,只是为读者或偶然需求,间或为之。于平时常态,我已经“能放下”。 5. 上一条所述,还是仅就所迷软件自身而言,有个“见山是山,见山非山,见山还是山”的过程。 但极致软件,还具备一种“超越性”(我自造术语)。 仍以vim为例:它不仅在editor领域开创了新天地,树立了新高度;而且对整个软件领域,都有历史性影响。很多人软件开发者和用户,在了解vim后,才豁然明白:软件竟可以做到如此地步。比之文学,正如马尔克斯面对卡夫卡《变形记》发出的感慨与影响。 5+ 有很多看起来不错的软件,我为什么不介绍?曾经沧海难为水,是原因之一。 再者,无论博客还是人生,为什么我有所为,有所不为?价值观使然。价值观何来?除却抽象化的理论学习,便是具体的良师益友所赐。vim等极致作品,及其背后的发展脉络,及其背后的人,正是如此良师益友。无上甚深微妙法,百千万劫难遭遇。既然相遇,当然要求如来真义。 6. 勇猛精进、放下执著、慧而不用——不是结尾,只是最后的几句话。
(32喜欢)
松风水月 发表于 2011-05-23 15:35:11 #
@megax, 如果真如你所言,“只是做基本的文本修改,替换,或者只是轻度键盘爱好者的话”,那也许的确是这样。但是如果要做大量的复杂的文体替换、需要语法高亮、喜爱使用快捷键的话,vim的用处就太大了。文本编辑器有多种,各有不同的用途、特色和用户群,如果你觉得vim不符合你的需要,换用其他编辑器即可,怎么可以自己不喜欢,就随意揣测“博主在vim上的付出和收获不成正比”呢?不符合你需要的,并不代表也不符合别人需要啊!
(13喜欢)
吴桐 发表于 2011-05-26 21:50:56 #
对我来说,从实用的角度来讲,vim是值得的。 我是一个“键盘控”,喜欢甚至于极致追求高效率,就像各位所说的“洁癖”什么的。先是dvorak后是买机械键盘,现在正在学习单手键盘,无一不是追求这样一种极致。我一直认为,最好的工具是双手,是手上的笔和纸,vim比起其他任何软件来,都更接近笔纸。为了这些细节,我觉得一切都是值得的。 以上只能说我喜欢这些绝妙的软件,不代表“投入产出”合算。那么我来“晒一晒”我的投入与产出。 看投入,算下来我学习vim的时间绝对不超过2小时,只知道几个方向键hjkl,删除d,x,复制y,粘贴p,插入i,a,下一个词w,上一个词b,保存w退出q,没了。列模式不会,什么正则表达时根本不会,从任何角度上来说,我都不是一个合格的vimer。我的投入是多少?并不多,而且我觉得现在的vim对我来说足够了,正字表达式什么的,听起来挺复杂的,而且感觉需求不大,懒得去学。 论产出,我觉得佳软的那句话“软件竟可以做到如此地步”是非常切合我的心意的。原来编辑器可以这么用,手不离开主键盘区域,竟然可以如此轻松的在电脑上表达出我心中所想的,双手的操作如此简单,几乎不需要思考。
(8喜欢)
松风水月 发表于 2011-05-24 01:50:27 #
@megax, 也许我是激动了,过火了,那么我在这里向你道歉。但是我确实是不同意你说的“博主在vim上的付出和收获不成正比”。你说的“博主在vim上的付出”是指哪方面的付出呢?学习上的付出?分享经验上的付出?如果说的是学习上的付出,vim的学习满足了博主在文章上面所提到的那些他需要的功能,怎么是不成正比呢?如果说的是分享经验上的付出,宣传佳软本来就是博主所乐意的,他的收获就是更多的人放弃盗版软件而使用免费软件中的佳软,怎么是不成正比呢?而且经验本来就是要互相分享才能增长和有更多收获的,不是吗?你第一条评论批评的是那种忽略实际需求而过度追求技巧的作风,但是只要读过善用佳软比较多的文章就会知道,这种“技术控”的作风本来就是他反对的。你怎么用他反对的东西去批评他呢? 关于博主的问题我不想再纠缠下去了。我不想学那些明星粉丝,这个网站是关于软件的,还是把关注的焦点放在软件上吧。而且我想我也没有资格谈博主在vim上的付出和收获是不是成正比的问题,这个问题只有博主自己才清楚。 我从未说过我“舍弃其它,而只选vim”,实际上,金山文字、openoffice.org、notepad、ctex我都有在用,只是看是什么需要和在什么场合。我喜欢vim是因为它在文本查找替换的时候可以使用正则表达式、它可以自定义语法高亮、可以使用宏、可以折叠、可以生成目录(加上插件)、有很多快捷键等等,这些功能在我用的文本编辑器中,它是最强大的。你说vim的文本替换可以达到怎么样的复杂程度?我可以回答正则表达式可以达到多复杂,就有多复杂。当然你可以说思考、调试、输入那么复杂的表达式还不如一个个手工替换更快。那我说,如果需要替换的文本量小,这样做的确更好。但是如果需要的是几百个甚至更多的批量替换的时候,输入表达式替换效率更高。也许你还会说emacs或者其他软件也有类似vim的这些功能,为什么非用vim不可?那我只能说我只接触过vim而没怎么学过emacs,我觉得vim已经能满足我的需求,所以就用vim了。至于“舍弃其它,而只选vim”,我从来没有这种想法,我想很多人也不会有这种想法。
(7喜欢)
bigclean 发表于 2008-12-12 13:55:07 #
个人而言,还是习惯在windows用notepad++,notepad2这些编辑器,但在linux下面我会选择vim来编辑文件(个人不大喜欢gvim),emacs来编程,发邮件,其实emacs可以看成是一个用lisp语言写的操作系统,拓展性比vim要好,插件比vim多,(gnus,mew,auctex,erc都很强),感觉编辑器还是应该与操作系统相匹配。
(5喜欢)
megax 发表于 2011-06-01 23:11:50 #
@吴桐, 你的表述还是给我这种感觉:vim“另类”的操作,让自己觉得舒服,或者说有成就感!呵呵。。
(5喜欢)
哥舒 发表于 2011-11-27 22:29:49 #
唷,是不是回复对象称呼错了??应该是hi_lucky兄。
(1喜欢)
  • booker

    以前多次想转到VIM上,可以一直不得法,最近看了你的blog,我才下定决心再次使用VIM。从你这里学习了不少技巧,不过现在碰到一些麻烦想请教一下。

    借用你easytodo的语法,不过不想改变扩展名,看了帮助,自己建立了scripts.vim如下:

    if did_filetype() ” filetype 已经设立..
    finish ” ..不需要这些检测
    endif
    if getline(1) =~ ‘^\* TODO \*$’
    setfiletype easytodo
    endif

    文档第一行写“* TODO *”用于检测,经过试验成功,但是所有的折叠都是关闭的,如何才能自动记录我上次关闭文档时候的折叠呢?谢谢

    • booker

      还有一个问题,我的_vimrc文件中有behave mswin着句,主要还是长期习惯了win的快捷方式,但是在数字的加减上,CTRL-A和CTRL-X就不能用了,有没有方法把这两个功能映射到别的组合上?比如CTRL-SHIFT-+?

      再次谢谢

  • ①保存折叠(及其他状态),我的做法是.vimrc中加入
    “ au BufWinLeave *.ztx mkview
    au BufWinEnter *.ztx silent loadview”,你参照变通一下吧。
    ②似乎不能映到其他键。可考虑只让mswin.vim在 i 插入状态下映射,这样在normal状态下就仍保留了原有功能。

  • archerC

    请教如何让VIM 切换折叠的状态
    用zo可以打开折叠,zc可以关闭折叠,但是我想将空格键或者别的键绑定到一个函数,实现根据当前行的状态打开或关闭折叠,不知道这个函数该怎么写

  • beta

    那个VIM到底怎么安装的??

    • bigclean

      可以在vim的网站下载vim的windows版本(www.vim.org),但是注册要花10欧元。

      • zokr7et

        阁下在哪里看到vim 收费了?
        http://www.vim.org/download.php#pc
        可以直接下载 gvim##.exe
        或者下载 vim##rt.zip + gvim##.zip | vim##w32.zip

      • @bigclean, 难道这位同学把 vim 首界面的乌干达捐款当成要求收费了? = =

      • @bigclean, 软件使用许可无须注册。注册者得到的是,对期望的vim新特性的投票权。

  • beta

    好像我的电脑安装不起来

  • bigclean

    个人而言,还是习惯在windows用notepad++,notepad2这些编辑器,但在linux下面我会选择vim来编辑文件(个人不大喜欢gvim),emacs来编程,发邮件,其实emacs可以看成是一个用lisp语言写的操作系统,拓展性比vim要好,插件比vim多,(gnus,mew,auctex,erc都很强),感觉编辑器还是应该与操作系统相匹配。

    • nTol

      这个同意,一是看平台,再是看习惯

  • phoenixzfb

    请问能否给个vim做通讯录的模板,谢谢

  • winstarst

    我是在07年开始使用GVIM的,本人是个程序员,所以用的比较多,一般用来写代码,还有就是利用正则来批量操作,列功能也常用,差不多上面列的都用过,多谢佳软推荐的VOOM插件,我现在用它来记日志,呵呵,偶尔写文档也用它,最新的4.0版功能又强大了不少,比Word中的文档结构图要强大了

  • alan

    试了很多编辑器,都有一些毛病,主要是东亚语言编码识别的问题,还有打开速度;
    emeditor很不错,不过要收费;
    vim很完美,除了入手有点难。

  • eikc

      vim 如果打开较大的文章,且带着色的话,速度也会比较慢了。当然,不带色加载速度依然很快。

  • 基本上,我认为,博主在vim上的付出和收获不成正比。我猜想很多人这么热衷vim的原因是,因为可以把玩它,配置它,还有另类的操作会让自己有一种成就感,就像当初的我一样。如果只是做基本的文本修改,替换,或者只是轻度键盘爱好者的话,vim无论是从启动速度,内存占用,记忆难度还是多窗口管理上,收获与付出均不成正比。我还是觉得,vim是终端的王者,至于GUI下嘛。。。看看你身边使用它的人就知道了!

    喜欢(44)
    • song

      @megax,

      我很简单的回复,我与您有同感。

      • seagle0128

        @song, 我还是习惯emacs :)

    • dojer

      @megax,
      同感,以前也用过一段时间,发现确实很难学会,而且处理不同编码的中文txt文件一直搞不定,最后放弃。现在用AkelPad,免费强大,处理txt够了。

    • 松风水月

      @megax, 如果真如你所言,“只是做基本的文本修改,替换,或者只是轻度键盘爱好者的话”,那也许的确是这样。但是如果要做大量的复杂的文体替换、需要语法高亮、喜爱使用快捷键的话,vim的用处就太大了。文本编辑器有多种,各有不同的用途、特色和用户群,如果你觉得vim不符合你的需要,换用其他编辑器即可,怎么可以自己不喜欢,就随意揣测“博主在vim上的付出和收获不成正比”呢?不符合你需要的,并不代表也不符合别人需要啊!

      喜欢(13)
      • @松风水月,
        呵呵,请不要激动。首先我没有说不喜欢vim,有吗?我也没有说vim不符合我需要,没有吧。我对挑起这种争斗毫无兴趣。其次,你为什么说我是随意揣测,我说我没有随意,你信吗?再者,我很喜欢继续听你说vim对你的用处,我也非常感兴趣你说的大量的复杂的文本替换,究竟是什么样的复杂程度。或者说什么样的操作,让你舍弃其它,而只选vim?所以我顶了一把你的回复,以期望更多人的回复。

      • 松风水月

        @megax, 也许我是激动了,过火了,那么我在这里向你道歉。但是我确实是不同意你说的“博主在vim上的付出和收获不成正比”。你说的“博主在vim上的付出”是指哪方面的付出呢?学习上的付出?分享经验上的付出?如果说的是学习上的付出,vim的学习满足了博主在文章上面所提到的那些他需要的功能,怎么是不成正比呢?如果说的是分享经验上的付出,宣传佳软本来就是博主所乐意的,他的收获就是更多的人放弃盗版软件而使用免费软件中的佳软,怎么是不成正比呢?而且经验本来就是要互相分享才能增长和有更多收获的,不是吗?你第一条评论批评的是那种忽略实际需求而过度追求技巧的作风,但是只要读过善用佳软比较多的文章就会知道,这种“技术控”的作风本来就是他反对的。你怎么用他反对的东西去批评他呢?

        关于博主的问题我不想再纠缠下去了。我不想学那些明星粉丝,这个网站是关于软件的,还是把关注的焦点放在软件上吧。而且我想我也没有资格谈博主在vim上的付出和收获是不是成正比的问题,这个问题只有博主自己才清楚。

        我从未说过我“舍弃其它,而只选vim”,实际上,金山文字、openoffice.org、notepad、ctex我都有在用,只是看是什么需要和在什么场合。我喜欢vim是因为它在文本查找替换的时候可以使用正则表达式、它可以自定义语法高亮、可以使用宏、可以折叠、可以生成目录(加上插件)、有很多快捷键等等,这些功能在我用的文本编辑器中,它是最强大的。你说vim的文本替换可以达到怎么样的复杂程度?我可以回答正则表达式可以达到多复杂,就有多复杂。当然你可以说思考、调试、输入那么复杂的表达式还不如一个个手工替换更快。那我说,如果需要替换的文本量小,这样做的确更好。但是如果需要的是几百个甚至更多的批量替换的时候,输入表达式替换效率更高。也许你还会说emacs或者其他软件也有类似vim的这些功能,为什么非用vim不可?那我只能说我只接触过vim而没怎么学过emacs,我觉得vim已经能满足我的需求,所以就用vim了。至于“舍弃其它,而只选vim”,我从来没有这种想法,我想很多人也不会有这种想法。

    • @megax, 因为这一组讨论比较激烈,并且投入产出比例,也是一个重要问题,所以,简短答复如下——本想写专文的,但时间不够。
      1.
      软件对我和很多读者而言,至少两重含义:实用主义的工具;爱好和兴趣。
      2.
      从实用主义角度,边际效益递减。所以,投入产出有一个最优点。
      大多数不关注软件的人,处于这个点的左侧。即,他们应该再投入10分钟,换取30分钟的时间节省。
      而对软件兴趣越大的人,所处位置右侧偏离平衡点的越远。他们可能因为一个偶然问题上1秒钟的不方便(只是不方便而已,还不是“不能”),去花费几小时寻找方案,再用几小时试验改进,甚至导致系统崩溃……
      3.
      人生总有一些时间可以蹉跎。我们既非理性机器,也非实用主义的奴隶。爱好和兴趣,也是人生价值体系中不可缺少,甚至是较为高级的组成部分。因此,综合来看,用户的最优点并不是狭义投入产出曲线的最大值,而是与兴趣相权衡后的综合最优值。
      权衡过程中,实用与兴趣各占比例几何?目前难以明确判断。但平衡点也不可知乎?苏轼有云:此心安处是吾乡
      4.
      可否安心?如何安心?需要一个次第过程。举例如下:
      初,仅知notepad,无心无虑;
      后,知多款功能更多之editor,感叹世界多彩;
      再后,知vim,但未能入手,惑;
      入手vim,感叹天外有天,三月不知肉味;
      如此许久,忽怅然而叹:投入vim甚多,值否?
      再后面,还会有新阶段……
      4+.
      再后面的新阶段是什么,我也是刚刚进入不久,所以,不想贸然定论。
      但在《从最简界面的Total Commander谈起》一文中,试着分析了很多。无心的读者认为这又是一篇TC文章,但有心读者才知道TC只是个引子,标题的关键词是“谈”。
      文章开篇就指出:有些问题,实用角度并无价值,甚至可谓变态。但在变态需求的解决方案之中,却有可能把软件的功能、用户的思路,挑战至极,加深对软件和应用的思考。君不见,诸多武林高手,皆在生死关头,才超越极限,更上层楼。唯魔高一尺,才逼得道高一丈。
      这种挑战,只是为读者或偶然需求,间或为之。于平时常态,我已经“能放下”。
      5.
      上一条所述,还是仅就所迷软件自身而言,有个“见山是山,见山非山,见山还是山”的过程。
      但极致软件,还具备一种“超越性”(我自造术语)。
      仍以vim为例:它不仅在editor领域开创了新天地,树立了新高度;而且对整个软件领域,都有历史性影响。很多人软件开发者和用户,在了解vim后,才豁然明白:软件竟可以做到如此地步。比之文学,正如马尔克斯面对卡夫卡《变形记》发出的感慨与影响。
      5+
      有很多看起来不错的软件,我为什么不介绍?曾经沧海难为水,是原因之一。
      再者,无论博客还是人生,为什么我有所为,有所不为?价值观使然。价值观何来?除却抽象化的理论学习,便是具体的良师益友所赐。vim等极致作品,及其背后的发展脉络,及其背后的人,正是如此良师益友。无上甚深微妙法,百千万劫难遭遇。既然相遇,当然要求如来真义。
      6.
      勇猛精进、放下执著、慧而不用——不是结尾,只是最后的几句话。

      喜欢(32)
      • winstarst

        @善用佳软, 他们可能因为一个偶然问题上1秒钟的不方便(只是不方便而已,还不是“不能”),去花费几小时寻找方案,再用几小时试验改进,甚至导致系统崩溃……

        呵呵,佳软说的对,确实会这样,我觉得这是一个解决问题的态度,有些人就是有这种要求完美的心理洁癖,这样子在有些人看来是浪费时间,但从另外一个角度来看,在寻求解决方案的过程中,实际上已经学到了很多,并且这种事事追求极限、追求完美的精神是值得学习的,当前前提是要平衡,不能忘记追求方法的目标是解决问题,而不是过分享受追求解决问题的过程。

        同意佳软说的“有可能把软件的功能、用户的思路,挑战至极,加深对软件和应用的思考”,我想加深的不仅是对软件本身的思考,因小见大,久而久之也会影响自己处理事情的态度 ,是追求细节上的完美,还是凑合着能用就行,反映出的本身就是一个人生态度的问题。

    • 塞壬

      @megax, 我的观感是佳软基本上是以需求为导向,而非技术。

    • winstarst

      @megax, 至于你说的复杂应用,我确实经常用到,多个文档下的正则替换、删除,在文档前插入行号,从文本到十六进制的转化,文本中的数字全部做加法(图片或标注),汉字和字母之前的处理,大量类似文本的产生,宏定义什么的,小说智能分段,等等

    • megax

      @megax,
      在以上所有的回复当中,只有博主的回复,最切入我原回复的本意。那就是:软件有两重含义,一者实用工具, 其次爱好和兴趣!

      我认为vim绝对不是实用主义的工具,这个很好调查!凡是实用的东西,都会有大量的人在使用!在我工作的这么多年中,我的身边除了我,没人用VIM,甚至没人用过VIM,当然我是说GUI下。

      那么剩下的就是爱好兴趣了,对吧?如果把范围缩小到兴趣和爱好,那么受众就很小很小了!呵呵,且不说这些人本来就少,还有,人的兴趣和爱好是会逐渐发生变化的嘛!我一同事多年前也是技术控,sed, awk, vim, emacs玩的不比任何人差,现在走管理路线。有次问他,你用什么,他说:记事本和Excel,呵呵!

      至于还有的人说,vim可以批量替换,插入行号什么之类的,这只能说它能够做这件事情,不能够说它能够比其它做的更好,更快,更便捷。对吧!

      还有,说花30分钟学些一下vim提供的教程,就可以得到大于30分钟的回报?呵呵。。。我觉得有点悬!

      从我的角度来讲,vim架构优秀,扩展便捷,但这些和工作效率无关!至于未来的编辑器。。我觉得textmate不错,我觉得它代表了一种方向。并且这种方向的受众群体很大!

      • winstarst

        @megax, 不知道怎么样才算是实用,估计还是和用户的需求有关系吧,一个普通用户,可能记事本就满足了,根据8/2原则,大多数人并没有太多的需求。很少有人愿意去花时间就学习,即使学会以后可能很多年都不用再做选择,就像五笔或VIM,这是整个社会的通病,很多人不愿意去耐心等待种子发芽、开化、结果,但并不代表那样就是对的。再说了,没人知道VIM的原因是它是从Linux下过来的,整个Linux的用户都属于小众,更何况Linux下的一个软件。

        当然,VIM能做到的,UE或NotePad++之类的也能完成,直接用Python、Perl或Sed、Awk也能完成,但VIM可以做到,为什么不用呢,一个软件可以做到,并且能够解决问题,为什么不一直用呢,何必要用几个组合来解决问题,如果Word支持PPT、Execel和FrontPage的功能,我肯定只用Word一个,而不是用一堆,那样反而会增加学习成本。

        更何况正则什么的,本来就是要学的,也不算是VIM的学习成本吧,VIM的学习无非就是熟悉一些快捷键,学会用一些插件而已,至于投入,对于一个只会用记事本的人来说,无论任何软件,想要用正则都是要花时间的。

        从另外一个角度来说,VIM能存在那么多年,如果真的是不实用的话,也许不会有今天,Linux下默认会有VI,就像Windows下默认有记事本一样,难道都不实用,从易用性来说,简单的功能30分钟就能学会,就像Word一样,上手就能用,但想用好不容易,Word的VBA脚本也不是半天就能学会的。

        在没有学会VIM前,确实效率不高,就像用五笔不熟悉一样,但熟悉了的话,效率还是相当高的,不过这个学习的过程至少要半年以上,大多数人都没有这个勇气或毅力去学习,更何况更多的人甚至连听说都没有,坐井观天的总是绝大多数。

        对于我来说,花上半年时间学习,也许会用上几十年,再也不用担心,再也不用再学习相关的软件,对我来说,那是值得的,我想要的是一劳永逸,即使要付出时间和努力。

      • megax

        @winstarst,
        非得拿五笔来比吗?时代在发展,五笔也许注定要被淘汰的!说淘汰可能过分,但趋势肯定是越来越少的人去使用它,到最后只有一些专业人士,比如做数据输入的人之类的去用它,这个我没做过调查,不过我只见过一个离职的女同事用过五笔(入力出身)。境况的确和VIM很相似,vi/vim则会继续坚守在终端!

        >>在没有学会VIM前,确实效率不高,就像用五笔不熟悉一样,但熟悉了的话,效率还是相当高的,
        我用过vim一段时间,即使熟悉了,也谈不上多高!同时打开多个文件打开,对照修改,来回切换,中日英三种文字混合输入,ESC按的我手都疼啦!那个时候你也许会想要是只输入英语该是那么多的幸福。要不然也不会有好事者,用vim的脚本做出个模拟中文输入法来,让你不用去按ESC,还可以简单的输入一些中文. 另外,在很多笔记本上ESC的键程可不近哦!

        vim可以做到很多事情,但vim做到的很多事情都需要用户去配置,并且他做到的事情也不够专业。vim编辑器二进制,打开一个1G的试试?vim写博客,就是简单的文字加上标签吧?要排版吗?来几个表格?vim模拟textmate?Ok,这个比较好,不过你要是看过那些脚本,你就知道了,脚本非常长,倘若把这些精力花在其它编辑器上,其它编辑器也可以实现的哦,比如scite.

        vim历史悠久,脚本强大(私下认为,它的脚本语言语法很丑陋), 但是它的受众注定是要渐渐变小的(个人观点)。还是那句话,vi/vim有它的归宿,那就是终端!

      • winstarst

        @megax, 不错,现在用五笔的是越来越少了,但越来越少的原因无非是要学习,而拼音对大多数人来说都是不需要学习的,并且不需要经常性的打字写文档什么的,所以没有什么速度要求,对输入内容也没有要求,自然不需要去专门学习,但你一旦学习了,学会了,你受益的是以后的岁月,你可以一直用下去。既然专业的都可以做到,对付非专业更是没有问题,谁能保证以后不会处理专业的东东,并且很多时候最终的目标都是专业。既然用专业的方式能够提高效率,能够节省时间,为什么不学习专业点呢,至少应该向专业靠拢吧,十年下来的话,花在打字上时间对比学习五笔的时间应该可以说算不上什么的。

        至于VIM的ESC键问题确实存在,在笔记本上确实不方便,这也是我一直觉得不爽的地方,如果没有太大必要,简单的输入时我也会用记事本,然后再用VIM处理一下,毕竟要取长补短,没有必要死在一棵树上。

        中文输入的问题,现在的输入法应该有不少都已经支持了,极点和微软拼音就支持,问题不是太大。

        是,VIM需要配置,但配置只需要一次,这是个学习的过程,我说过如果没有学会前会很慢,但一旦掌握了,没见过谁经常把配置改来改去的,还是那句话,一次投入,终生受益,可乐而不为。就像学自行车一样,虽然现在很多人一年都骑不了几次,但基本上还是人人都学的。

        至于打开1G的二进制文件,我会用专门的工具,应该说这个功能基本上没有多少人用到吧,至于说排版,我的解决办法是用txt2tags或DocBook,生成HTML文档,然后再拷贝到Word中,用VBA脚本自动处理一下,排版用CSS控制,支持表格,效果应该说还可以,主要是能够方便的做版本管理。

        VIM的脚本确实不怎么样,所以都用Python处理了,况且很少人自己去写VIM脚本的,干码非要拿这个说事。

        用VIM,用的是它的强处,它的适应性广,它的一次学习,终生使用,它的文本处理能力,它的与时俱进(Python支持),只是说它值得投入去学习,不是说非用它不可。

        再说了,如果用到了那么多的处理功能,无论什么软件,都是要投入的吧,并且其它软件能存活多久,这也是个问题,而VIM至少证明了它的生命力,有几个软件能用20年的

  • 有些小技巧可以借鉴啊
    不过我有点个人小习惯就不适合了

  • 额,现在学习这些技巧比较少,一般linux只用vi打开,搜索,修改文件,其他也没太多用到的地方

  • VerGil

    “他们可能因为一个偶然问题上1秒钟的不方便(只是不方便而已,还不是“不能”),去花费几小时寻找方案,再用几小时试验改进,甚至导致系统崩溃……”
    泪奔啊….自己折磨自己……..反而浪费很多很多时间

  • 期待xbeta的学习路程心得,因为我很想学习下vim来提高我的文档处理效率(我同你一样也是不会编程),对于一个新的有点复杂的软件,身边没有高手教,一个人学习的难度有点大(就如同我初学火狐一样),前辈们的学习心得和经历是很有用的参考啊

    • megax

      @小刀,
      简单的学习下正则表达式吧!

      • 小刀

        @megax, 简单学习下正则表达式,那种30分钟的初级教程就可以?万望赐教!

      • megax

        @小刀,
        可以!30分钟就可以!

  • Pingback: Evernote Chrome Extension 升级:更智能, 更好用 - Chrome.So | 专注于Google Chrome与Chrome OS()

  • 没有接触过,先了解下

  • 学习vim只需要半小时.运行vimtutor即可.
    所以需要计算下学会vim的回报是否大于半小时就可以了.

  • 吴桐

    对我来说,从实用的角度来讲,vim是值得的。
    我是一个“键盘控”,喜欢甚至于极致追求高效率,就像各位所说的“洁癖”什么的。先是dvorak后是买机械键盘,现在正在学习单手键盘,无一不是追求这样一种极致。我一直认为,最好的工具是双手,是手上的笔和纸,vim比起其他任何软件来,都更接近笔纸。为了这些细节,我觉得一切都是值得的。
    以上只能说我喜欢这些绝妙的软件,不代表“投入产出”合算。那么我来“晒一晒”我的投入与产出。
    看投入,算下来我学习vim的时间绝对不超过2小时,只知道几个方向键hjkl,删除d,x,复制y,粘贴p,插入i,a,下一个词w,上一个词b,保存w退出q,没了。列模式不会,什么正则表达时根本不会,从任何角度上来说,我都不是一个合格的vimer。我的投入是多少?并不多,而且我觉得现在的vim对我来说足够了,正字表达式什么的,听起来挺复杂的,而且感觉需求不大,懒得去学。
    论产出,我觉得佳软的那句话“软件竟可以做到如此地步”是非常切合我的心意的。原来编辑器可以这么用,手不离开主键盘区域,竟然可以如此轻松的在电脑上表达出我心中所想的,双手的操作如此简单,几乎不需要思考。

    • megax

      @吴桐,
      你的表述还是给我这种感觉:vim“另类”的操作,让自己觉得舒服,或者说有成就感!呵呵。。

      • 吴桐

        @megax 哈哈,工具为人所用嘛,对于vim,这个“另类”操作,确实深深吸引了我。想想这个“成就感”确实挺装的~焖烧的人啊~
        当然最重要的还是用着舒服。很多软件都有很多好用的功能,只不过学校没有一门“工具课”,于是这些工具都是工作的人出于各种各样的原因研究出来的,比如传说牛顿的微积分就是为了计算他的物理公式弄出来的,是工具,莱布尼茨的微积分就是数学研究,一种数学的领域,牛顿的直接可以用,而且很好用,但是漏洞百出,莱布尼茨的更加严格,更加“正确”(相比而言),更加科学,但是不好理解。直到柯西那时提出极限概念才又科学又好用。现在学习到的都是无数代人改进后的数学。
        扯远了,同样,一个编辑器,有的可能是研究出来的,有的是纯粹是工作中的辅助产品,不知道vim是不是为了写代码快一点才发明的(瞎猜的哈)。
        其实我只想表达一个观点,不是说谁好谁差,不是每个人用途不一样,这些大家都说过了,我想说:工具会不断进化,不断融合。也许现在vim不是那么好入门,也许现在vim比某些编辑器效率高,但是二十年后呢?要是到了那个时候vim好入门,我可能会去使用高级功能。
        回到您最初的回复,本人也很难理解一个国人研究一个工具,吃力不讨好,付出收获不成比例,又没有人发工资,而且他会了之后,写出来之后,我还是不会~如果是老师,打算开一门这样的课程,我会很欣赏并且报名学习——吐槽,VIM作者的演讲全英文,听过之后全然没懂。那些个老外衣食无忧成天研究还好理解,我们成天养家糊口忙得不亦乐乎,哪有工夫研究这些~也许是一种悲哀吧,一边觉得希望有人提供好的工具,一方面又觉得这样不值得。
        上个月跳槽的期间,有一段时间挺清闲的,于是开始把以前用各种编辑器的想法用QQ空间写出来,UE,SOURCE INSIGHT,VIM这几个常用的工具我一个都没研究过,也敢写下来,因为我觉得,大多数人层次和我差不多,大多数人不需要XBETA这样的专业讲述,只要最浅显的用法就足够了。而且大多数人和我一样很懒,只需要简单说一些小技巧就够了。个人不需要“为了1秒钟的方便,花1小时研究,还不一定有结果”。
        加上在学校望江楼BBS回帖,这个我第四次回帖,逻辑乱了,不要见怪,一笑了之哈

  • pp

    写博客的话我用一个中国人写的插件vimrepress. 很好用. 我的安装和使用心得在这里http://wanpeng.xxpp.ca/2011/05/07/write_blog_with_vim/

  • 没有接触过,先了解下

  • @xbeta,感谢善用佳软,我就是你文章《普通人的编辑利器——vim》里的普通人。这个发言之前发到资料汇总那篇文章了,关注少,现在移过来并补充一下。

    我主要是看了05年的介绍文章《普通人的编辑利器——vim》才想试用vim的,因为觉得vim的宏、列操作、查找替换功能实在是强大,同时我对xbeta你用html格式记笔记的方法非常感兴趣

    这两天集中了解了下vim,看vim的中文帮助看到第12章,简单学习了下正则表达式,对一些基本操作有了一些大致的了解,感受到了vim的强大,不过很多还是一头雾水,我就谈谈希望xbeta怎样写这个系列介绍文章吧

    vim可以用很多的设置,我照着05年的介绍文章《普通人的编辑利器——vim》设置了”:set go= “,然后菜单和工具栏都不见了,然后很杯具的设置不回来了(这个问题已经解决),因为我完全是新手。感觉_vimrc设置的好的话vim会很好用,但是这个好像对新手门槛太高了?好多设置都不知道怎么弄(主要是不知道各种设置的意思、有哪些设置、如何设置)。总之很不适应,希望xbeta把这个索引贴弄成一个不编程的普通新手可以从notepad2等普通编辑器过渡到vim的教学文章吧,尽量详细、尽量考虑到像我这样的小白用户

    比如:
    1)notepad2的多标签在vim怎样方便的实现
    2)怎样在vim中快捷的选中、复制、粘贴文字到剪贴板(选中用可视模式或者键鼠操作,复制我只知道”*y)
    3)vim可否实现半透明功能等等

    只要vim能比较好的替代普通编辑器的功能,然后又有一些强大的功能,感觉vim还是很值得学习下的。普通操作的话感觉适应下就ok了,其实感觉入门有时候是最难的(vim的入门感觉就是设置配置文件和装扩展,因为如果不配置好感觉根本没法用,普通操作习惯如粘贴复制适应下就可以了,但是一些默认设置和扩展不配置好就太麻烦了),只要入门了然后再知道怎样利用软件的帮助和Google解决问题就行了,这样自己就可以慢慢学习进步了。

    还有我看了网友改进的《史上最强的Vim 配置文件(修正版)》,感觉设置完全看不懂,xbeta介绍你的vim配置文件时能不能加下注释?

    最后问个很小白的问题,希望其他高人能指点下:
    如果我已经打开txt1,现在想拖动txt2到vim中打开txt2,使txt1和txt2按多标签的形式显示,该如何设置?

    • megax

      @小刀,
      1)notepad2的多标签在vim怎样方便的实现
      >VIM有多标签插件,不过无法实现像MDI那样窗口的重叠,毕竟只是模拟。一些多标签特性,比如icon, 层叠,丰富的右键,估计是不大可能有的。

      2)怎样在vim中快捷的选中、复制、粘贴文字到剪贴板(选中用可视模式或者键鼠操作,复制我只知道”*y)
      >behave win默认ctrl+c就是复制之类的吧?

      3)vim可否实现半透明功能等等
      >DM2等很方便的实现。

      如果我已经打开txt1,现在想拖动txt2到vim中打开txt2,使txt1和txt2按多标签的形式显示,该如何设置?
      >安装插件。minibuf之类的。

      不过,看了你写了这么多,你要的功能,其它一些免费的实现的更好,你甚至都不需要学习。为什么非得费这么大力气用vim呢?
      因为正则吗?vim甚至都不完全支持正则更多的特性,甚至都不够更标准。

    • dudanger

      @小刀,
      2)怎样在vim中快捷的选中、复制、粘贴文字到剪贴板(选中用可视模式或者键鼠操作,复制我只知道”*y)
      选中有两个,一个是v(小写),以字母为单位选择,另一个是V(大写),以行为单位,选择的时候,需要配合移动工具,e,b,w等等
      比如ve,就是选择到下一个单词结尾

      复制粘贴,你用的”*y是正确的,只要再走多一步,把”*y定义为快捷键,就能完成日常操作了
      比如你是Win用户,可以与Win快捷键统一
      把以下文件写入配置文件中:
      “复制
      map “*y
      “粘贴
      inoremap “*pi
      “或者这个imap

      • dudanger

        @dudanger,
        真见鬼了,发的文件被吞掉一截,应该是这样的
        把以下文件写入配置文件中:
        “复制
        map “*y
        “粘贴
        inoremap “*pi
        “或者imap

      • dudanger

        @dudanger,
        无语了,还是被吞了一截,看来是关键字过滤了
        map Ctrl+C的VIM快捷表达方式 “*y

        inoremap Ctrl+v的VIM快捷表达方式 “*pi

        或者imap Ctrl+v的VIM快捷表达方式 Shift+insert的VIM快捷表达方式

  • 小刀

    @megax,你好多的回答很专业啊,我非计算机专业,有些专业术语不太懂

    想试试vim,是因为觉得vim的宏、列操作、查找替换功能实在是强大,同时我对xbeta用html格式记笔记的方法非常感兴趣。其实也有好奇的心理在起作用吧,既然是盛传如此强大的软件,难免心痒难耐,想试一试,其实我的要求不高,我觉得我的应用也就最多像xbeta一样多了

    你觉得notepad2会更适合我?我用notepad2主要就是总在最前、透明模式、多标签了。其实使我偶然下决心试用vim是因为我在粘贴网页文字到博客编辑的时候,首行总是没有空两格了,并且一些链接插入时有点麻烦

  • DevPlus

    文中给出的水木地址有问题,wwv应为www

    xbeta注:多谢提醒,已经更正。不过想不清楚为什么出现这种错误,url肯定是copy, paste过来的。

  • darrenhp

    不是说vim有多难学。

    问题是有那么多内容需要表达吗?
    我觉得楼主的境界是在这里。

    可能是自己书读得少,没什么文化的原因,觉得可以写的东西特别少。

  • Pingback: 前端开发利器vim – Kily's Blog()

  • 微风

    在UNIX,AIX平台用惯了vi,在windows用用vim感觉也不错,很亲切,而且不用鼠标,很爽

  • 对位女装代理

  • 哥舒

    请教一下,有什么办法实现汉字双引号的自动配对输入呢?也就是“”的自动配对??

    • hi_lucky

      @哥舒, 是经常上新闻组的那个大牛吗?
      不知道别人怎么实现的,我是极点五笔,输入法自带。

      • 哥舒

        @hi_lucky, 惭愧,正是我,不过可不算是大牛……
        原来是这样。
        我使用五笔加加,然后是极点五笔,现在使用小鸭五笔(前身是老五笔)。
        对五笔输入法,我有一点小体会:五笔加加是最简明的,它可以说是后两种五笔的前身。但是它和极点五笔在lotus notes上会出现乱码:主要是收件人栏里。
        基于使用的软件环境不断变化,以及长期稳定的需要,我一直在使用小鸭五笔来工作。只有在写长篇文章的时候,才使用极点五笔,它的打字机音效挺能解除疲劳的……呵呵。
        谢谢”善用佳软”兄,你对VIM的推荐让我也开始对之感兴趣了。我的工作环境有一部分是UNIX,因此会简单地使用VI,现在看来,那真是太浅显了。

      • 哥舒

        唷,是不是回复对象称呼错了??应该是hi_lucky兄。

  • 依怡以弈

    看了各位的讨论,更加坚定了我对VIM的向往,以前一直用UltraEdit,喜欢能够自定义编程(JS,我还曾经写过一篇文章来讲如何使用JS脚本编辑文本),但是由于舍不得买正版,而且还是觉得UE少了些什么,决定放弃。
    我平时工作是用IBM大型机的,里面的ISPF编辑器其实也蛮好用的,尤其是处理大规模文本(不过对汉字没有任何优势),曾经想找一个类似于ISPF的编辑器,但实在太少见了,没办法。
    我才刚刚走上VIM之路,深感其路漫漫但乐趣亦不少,以后有更多的心得再与大家交流。

  • Pingback: 前端开发利器vim | ued资源分享站()