VIM教程与学习资料汇总(2010-02-19更新)

  汇总VIM的教程与学习资料,以方便初学者及持续学习者。欢迎补充。
Vim

一、官方文档

  网友happyvim说:“gvim的两份帮助写得非常好,vim的帮助不像tc的帮助—-跟垃圾差不多。相比之下,简直是一个在天上,一个在地下的区别。”

30分钟入门:
  首次安装vim后,可用 :help tutor 或 :help tutor@cn ,进入一个30分钟的vim入门教程。

Vim官方文档中文版安装包:
  Vim Documentation Chinese Version ,安装后使用 :help @cn 命令,就可以看到中文手册。

Vim用户手册中译7.2版pdf:
  作者:BramMoolenaar,翻译:ZhaoRuFei(slimzhao # hotmail)。链接

二、网友作品

大家来学Vim|李果正:
  台湾网友李果正编写的手册,PDF格式、80+页、800KB。链接

Vim 实用技术|IBM 吴咏炜
  共分3篇:实用技巧常用插件定制 Vim

神奇的VIM|IBM 闫石
  举了很多例子,尽显Vim之神奇。xbeta推荐阅读。链接

史上最强的vimrc文件|amix
  网上称为史上最强的vimrc文件,约800行,还是作者精简后的结果。评价:未必全用,但通读有益!
  另:国内网友改进版,更符合中文习惯。

史上最强的vim tips
  vim_tips.txt

vi/vim使用进阶|Easwy:
  写本系列文章的最初想法,是介绍如何用vi/vim开发软件。但纵观整个系列,讲述的其实和软件开发关系并不大,基本都在讲vim的使用技巧、vim的配置及vimrc、vim的命令和vim的插件。包括:序言(讲述我使用vi/vim的经历和心得,以及对vi/vim初学者的一些建议)、使用会话和viminfo、vimrc初步、保存项目相关配置、 使用标签(tag)文件、使用taglist插件、文件浏览和缓冲区浏览、lookupfile插件、开启文件类型检测、 乱花渐欲迷人眼 – 语法高亮、程序员的利器 – cscope、 剑不离手 – quickfix、智能补全、 自动补全、指随意动,移动如飞、在VIM中使用GDB调试 – 使用vimgdb、等十余篇内容,后续还有待完成的几篇。链接

Vim对程序员与普通人分别有什么用?
  实际是两篇文章。Dieken写过 程序员的编辑器——VIM 后,xbeta写了 普通人的编辑利器——Vim

edyfox使用Vim的总结
  也是水木社区Vim版高手。链接

vgod的使用经验
  用心绘制了Vim入门图解说明(如能改为浅色就更便于打印了),较直观地解释了Vim模式的概念、更多见 http://blog.vgod.tw/tag/vim/

其他网友收集的文档:
  neman (行胜于言)
  学用UNIX机读版.rar
  网友狂人收集的vim资料链接

三、善用佳软的Vim文章

  http://xbeta.info/tag/gvim
  另有部分文章,在sina blog及水木社区vim版,尚未整理。

附录:文章更新历史

  2010-01-27:全面更新。
  2006-04-24:初稿。>

《VIM教程与学习资料汇总(2010-02-19更新)》有114个想法

    1. 谢谢你的插件,用起来不错!

      不知道能不能支持多个输入法并存和切换,我平时用五笔,但有时会拆不了字,想切换成拼音,在VIMIM中没有找到切换的办法

      1. 【拼音★四角】同时插上,可以平行也可以交叉使用,无须切换。
        【五笔★拼音】同时插上,可以平行使用,敲动态切换。

  1. 作为程序员应该学会vim, 它是个非常高效的编辑软件。我在看很多人用集成IDE时,写程序很别扭,把鼠标弄得吱吱响,不断的上下移动,如果真的掌握了vim,效率不知道能提高多少,很可惜,我身边坚持用这个编辑器的很少,希望更多的人一起来用,教会别人。

    1. 用了有两年了吧,学起来太难了,我用了半年多才基本熟练,1年多才把一些插件和配置弄熟,现在基本上已经能够用来写代码、写文档了,下一步准备弄弄脚本。

      用VIM写代码有的时候方便,但也有不方便的地方,编写完了还是要在IDE下编译,并且文件打开的多了跳来跳去的也不太方便,再说写代码时并不是要求打字特别快。

  2. 尝试着用了一段时间的GVIM, 但在我看来并没有那么好用—-或许更应该说是太难以上手. 我现在用Notepad++就已经足够了, 在Windows下还是鼠标用得更多, 或许在Linux下, 就能体验到vim的方便了.

  3. vim以行为单位的滚动我可以忍受。但是,当一个长行铺满或超过一整屏的时候,我实在是忍受不了。

      1. 不好意思我没有把问题说清楚。我碰到的问题是:在折行开启状态下(wrap on)。当一行文本很长(例如上千字,一个屏幕都显示不完),很难凭借滚动来移动到自己想要到的位置,只能用gj和gk来移动。

        gvim对于长行的处理方式是:当光标移动到了长行的最后一行,这时由于此行文字太带一个屏幕显示不完它的首行已经在窗口外,将光标将光标再玩下移动一行,也就是移出该长行,那么这一整行就会消失(被移到窗口外)。使用者看到的就是一大段甚至整屏文字突然消失,非常突兀。

        这个问题困扰我很久,一直在找答案。在帮助文档里,我只找到这样一段对于长行的描述:

        If there is a single line that is too long to fit in the window, this is a special situation. Vim will show only part of the line, around where the cursor is. There are no special characters shown, so that you can edit all parts of this line.

        似乎gvim对于长行的操作只能支持到这个程度。
        【善用佳软:似乎没有实质性的解决办法。】

    1. 试试formatoption选项,可以实现真正的自动换行,再结合格式化命令,这个问题就迎刃而解了。

  4. 希望有人能开发一个图形界面的配置工具(类似Doxywizard),解决VIM配置的工作量。此举才是功德无亮!

    1. 配置选项太多,不同人用不同的插件,想要一个界面基本上不可能,再说配置完一次基本上改动很小,一劳永逸,如果不自己弄清楚选项的意思,下次遇到问题还是麻烦

  5. 以前一直以为五笔打字最快, 直到看到有人用拼音几秒钟输入一句话.
    其实用什么都可以很快, 只要找到适合自己的.

  6. 请问:选择文中的几句话,怎么改变它的颜色,高亮,或设成粗体? 我指的不是语法高亮,我是记录资料用的。 我在网上和vim help中找了很久都找不到怎么办,谢谢!
    【善用佳软:vim虽然是多功能的应用,但它的数据限于纯文本,也就是txt,是无格式的。】

        1. 语法高亮当然不算富文本,因为不是富文本格式,所以高亮为什么不能应用到局部选择的文本。语法高亮只是“显示”高亮而已,文件本身是不会记录这个单词被高亮,那个单词被加粗的。有这种功能的就是富文本了。

        2. 是的,语法高亮一般只是记忆一套高亮规则(如将if等语法保留字显示为蓝色…),在渲染文本时去应用这套规则。而很难对任意选中的某单词做高亮。除非在这个单词两侧做某种标记(插入一两个特殊符号),让编辑器每次一“看到”这个标记就“想起来”应该对这个单词做高亮…

  7. 我补充几个VIM资源吧.
    一.相关书籍
    1.Learning the vi and Vim Editors
    http://www.douban.com/subject/3041178/

    2.Vi iMproved (VIM)又称Vimbook.采用GFDL许可证.可以在网络上自由下载.
    http://www.truth.sk/vim/vimbook-OPL.pdf

    3.Hacking Vim http://www.douban.com/subject/2124452/

    4.a byte of vim 可免费下载 http://www.swaroopch.com/notes/Vim

    二.其他的一些零碎学习资料.

    1.Seven habits of effective text editing
    http://www.moolenaar.net/habits_paper.pdf

    2.Best of Vim Tips 中文版

    3.tips_vim_online

    4.Vim FAQ http://vimdoc.sourceforge.net/vimfaq.html

    5.把 Vim 改装成一个 IDE

  8. 我补充几个VIM资源吧.
    一.相关书籍
    1.Learning the vi and Vim Editors
    http://www.douban.com/subject/3041178/

    2.Vi iMproved (VIM)又称Vimbook.采用GFDL许可证.可以在网络上自由下载.
    http://www.truth.sk/vim/vimbook-OPL.pdf

    3.Hacking Vim http://www.douban.com/subject/2124452/

    4.a byte of vim 可免费下载 http://www.swaroopch.com/notes/Vim

    二.其他的一些零碎学习资料.

    1.Seven habits of effective text editing
    http://www.moolenaar.net/habits_paper.pdf

    2.Best of Vim Tips 中文版

    3.tips_vim_online

    4.Vim FAQ http://vimdoc.sourceforge.net/vimfaq.html

    5.把 Vim 改装成一个 IDE

  9. 用texwork编辑一个中文tex,utf-8编码,用vim打开乱码,而用notepad正常。我知道要用:set 设置编码,可为什么不能自动识别呢?
    我是linux fan, 也是latex fan, 也是命令行fan, 在linux下用vim也算熟练,但在WIN下,选择太多,用户习惯也不同,VIM在这方面如果不做一些发展,始终只能是小众的。

    1. 有的时候我也遇到这个问题,解决的办法就是用UE打开,然后复制到VIM下,再设置成UTF8格式,但大多数都没有问题,个别带BOM的会有问题,至今没有找到完美的解决办法

  10. 想问佳软大哥个vim使用的问题。怎么设置。vim的一自动换行。就像帮助一样。都是每行78个字。我查看帮助,好像是set wd=78.不过没有成功。

    1. si是拿来看代码的,单拼出字速度还是vim强
      考虑到智能补全啥的还是vs+va就更强
      话说我一直挺不习惯si的高高低低的风格,可能是我out了?

  11. 请问各位在用VIM书写中文的时候,输入法能自动跟随吗?我试了几个输入法都不能自动跟随光标。
    【善用佳软/2010-02-08:能。winxp, gvim7.2, 极点五笔5.2】

    1. 我用的是拼音输入法,搜狗与微软的都不行
      不过后来在网上找了一个同样是GVIM 7.2的,又可以了,真神奇

  12. @morry
    Vim Plugins You Should Know About 感觉不错。介绍的后面有点水,但是推荐的插件都很棒。
    作为新手开始用几个插件是很用帮助的。

  13. vim在windows控制台下中文显示乱码,请问该如何解决,我记得我下了个中文帮助文件安装后就变成这样了,试了网上几篇文章的办法都没有解决。
    【善用佳软:这方面没有经验。试着删除(先备份)vimrc 试一下。】

    1. 到“vimfiles”目录浏览一下,在“plugin”目录下发现“vimcdoc.vim”,打开,找到一句

      set encoding=utf-8

      句首加双引号注释掉

      ” set encoding=utf-8

      重启Vim,问题解决

      我也是遇到了,网上找到的解决方法

  14. 有一文本文件
    要把每行行首为 – 的行,剪切到文件末尾。
    使用 map /-〈cr窜〉ddGpgg
    需要按〈F8 〉许多次。
    (xbeta注: :g/pattern/.m$)

    1. 感谢xbeta,果然好使,.m$如何解释?
      是移动到文尾的意思吗?$ 不是行尾吗?
      另外:没有 . 好像也行。

  15. 你好,我想请问下,我看了你的文章后开始学用vim,但是我一般是写html+css, 试用了很多插件觉得有些冲突有些有问题,昨天看来你写的用zen-coding,那假如主要写html+css,那我该如何选择对应插件呢?或者能否给一个简单有效的插件单,多谢!

  16. 我喜欢vim,也喜欢集成IDE.于是我就在想,为什么不能在IDE里模拟vim的操作呢.有了autohotkey,这是个很容易解决的问题.关于autohotkey的介绍,xbeta有不少资料哦.这里仅提供一个vim modal的脚本.希望对像我一样嗜好的同学们有帮助.http://www.kylirhorton.com/

  17. 你好:
    “Vim官方文档中文版安装包”
    这个在windows Xp下安装后,显示中文就会乱码,是哪里出的问题呢?

  18. 想问一下,看了安装目录里面有一个vim.exe,还有一个vimd.exe,想问一下这两者有什么区别呢?
    (xbeta注:vimd.exe ? 没见过这个文件啊。 )

    1. 下的x64的vim,http://code.google.com/p/vim-win3264/
      试了一下,两个都能用,不知道有什么区别。。。

  19. 下载Vim官方文档中文版安装包:
      Vim Documentation Chinese Version ,安装后使用 :help @cn 命令,就可以看到中文手册。

    然后安装,再打开vim,界面全部变成乱码了,这个是什么包来的啊

  20. 我vimrc里面这样设置
    set tabstop=8
    set softtabstop=4
    set noexpandtab

    但一个非空白符后按tab后它对齐到4的整数倍的位置而非插入 softstop个空白

    1. it
    2. t
    3.int

    t表示一个Tab

    这三行的光标位置是一样的,为什么呢?

    看半天帮助文档也没弄明白啊……

  21. 佳软兄啊,您老是行内老人了,您知道一个技术禅院得网站不,首页有一个大大的禅字.还有一句 你做什么坏事,其实你是知道的.我上过一次,忘了. 找了一上午,如果您知道,通知一声.谢谢啊.
    快疯的我

    xbeta回复:抱歉,确实不知道。

  22. 感谢xbeta!我就是你文章中《普通人的编辑利器——vim》里的普通人。
    我主要是看了05年的介绍文章《普通人的编辑利器——vim》才想试用vim的,因为觉得vim的宏、列操作、查找替换功能实在是强大
    这两天集中了解了下vim,看vim的中文帮助看到第12章,简单学习了下正则表达式,对一些基本操作有了一些大致的了解,感受到了vim的强大,不过很多还是一头雾水,我就谈谈希望xbeta怎样写这个系列介绍文章吧
    vim可以用很多的设置,我照着05年的介绍文章《普通人的编辑利器——vim》设置了”:set go= “,然后菜单和工具栏都不见了,然后很杯具的设置不回来了,因为我完全是新手。感觉_vimrc设置的好的话vim会很好用,但是这个好像对新手门槛太高了?好多设置都不知道怎么弄。
    总之很不适应,希望xbeta把这个索引贴弄成一个不编程的普通新手可以从notepad2等普通编辑器过渡到vim的教学文章吧,尽量详细、尽量考虑到像我这样的小白用户
    比如:1)notepad2的多标签在vim怎样方便的实现
    2)怎样在vim中快捷的粘贴复制文字到剪贴板
    3)vim可否实现半透明功能等等
    只要vim能比较好的替代普通编辑器的功能,然后又有一些强大的功能,感觉vim还是很值得学习下的。
    其实感觉入门有时候是最难的,只要入门了然后再知道怎样利用软件的帮助和搜索引擎解决问题就行了,这样自己就可以慢慢学习进步了
    还有我看了网友改进的《史上最强的Vim 配置文件(修正版)》,感觉设置完全看不懂,xbeta介绍你的vim配置文件时能不能加下注释?

    最后问个很小白的问题,希望其他高人能解答下:
    vim怎样设置为打开文档时默认多标签页,而不需要每次都输入”:tabnew f:text”类似的命令在新标签页打开文档?

  23. 首先感谢xbeta, 从这里学到了不少东西。 另外我想问一个困扰了我很久的问题,在vim中如何设置才能在输入一个单词的前n(比如3)个字母后就自动触发补全()功能,比如我输入xbe就自动补全为xbeta。

  24. @lix0715, 已经很久没有折腾vim了,现在记不得有什么办法实现该需求。另外,这样做似乎效率很低,我认为ctrl+p手工补全是比较合乎实际的。或者,你指的是缩写?

    1. @xbeta, 感谢版主的回答,我的意思是我输入了几个字母之后vim自动帮我实现ctrl+p补全,而不用我手工键入。

  25. Pingback: Vim Tips

发表评论

电子邮件地址不会被公开。 必填项已用*标注