做为一个程序员,熟练掌握一个的编辑工具可是很大地提高工作效率,不过熟练掌握一个强大的编辑工具可以极大地提高效率,呵呵。

VIM就是这么一个编译器,而且是利器。vim是和emacs一样大名鼎鼎的编辑软件,两个我都用过,不过个人还是喜欢vim,emacs经常要按两个组合键才完成一个动作,觉得不够快,所以做了vim的门徒。好,废话不多说了,下面我们介绍在windows下使用vim。

首先先到到www.vim.org下载最新的vim版本,然后安装之。默认vim启用了mswin风格,整得跟记事本似的,可以支持<ctrl+c>, <ctrl+v>做复制粘贴,这样我觉得反而不好,vim原本命令都很好用了。所以我们到vim的安装目录下,下面用$VIMHOME代表之。打开_vimrc文件,将其中的source $VIMRUNTIME/mswin.vim这一行前面加上", 双引号表示注释的开始。然后在文件最后加上下面几行:

set expandtab " 展开'/t'为tabstop个空格 set tabstop=4 " 一个'/t'等于4个空格等长 set shiftwidth=4 " autoindent模式下,每次缩进多个空格的距离 set autoindent " 打开自动缩进模式 set cindent " 采用c语言的缩进模式 set fileencodings=ucs-bom,utf-8,cp936 " 遇到一个陌生文件时将依次尝试采用这个三种编码解释文件 set fileencoding=cp936 " 文件默认编码方式,cp936貌似就是GBK (这条语句不起作用) set fileformat=unix " 文件换行符,dos采用CR加LF, unix采用LF (这也条语句不起作用) set encoding=cp936 " vim的内部编码方式 filetype plugin indent on " 这个具体含义是什么,我也不知道,加了后可以打开补全功能 colorscheme evening " evening配色方案,背景是暗色的,保护眼睛

上面每一句后面的注释是对该语句的解释,_vimrc中是vim脚本,也是vim命令,有兴趣的同学可以学习一下,可以更好地定制自己的环境和使用编辑命令。

简单地且不科学地讲,vim有两种模式或者状态,一种模式下可以输入命令,还有一种模式下可以输入文字。刚打开vim是处于命令模式下,然后按i, 就可以进入编辑模式,这是可以随意输入,然后按ESC可以返回到命令模式。了解这两点就可以尝试使用vim了,大部分人一开始对于这种模式的切换肯定是不习惯的,但等熟悉了之后,就会知道使用模式确实很好,可以很快地输入各种命令编辑文件。

要熟练使用vim,移动命令确实是要好好掌握的,可以熟练使用移动命令时,就会发现使用vim编辑文档是多么惬意和方便。同样重要还有查找和替换命令,另外懂一点正则表达式对效率的提高也是非常有帮助的。还有选择命令等等,命令的掌握要和实践相结合,这样掌握得也牢,学习得也快,要知行合一。

使用vim的一个很重要的原因就是因为vim有着丰富的插件,vim有一个很活跃的插件贡献者群体,编写了很多有用的插件。下面就介绍几个很有用的插件:

1. taglist

taglist可以将代码中的重要元素以列表形式显示出来,而且支持多种编程语言(其实是ctags支持多种编程语言,呵呵),使得我们可以方便地在代码间穿梭。要使用taglist首先要去下一个ctags 软件,因为taglist要用到ctags程序,然后将ctags所在的文件路径加入到环境变量%PATH%(右击“我的电脑”,属性-->高级-->环境变量)中。然后到这里下载taglist 插件。打开zip包,将taglist.vim放到$VIMHOME/vimfiles/plugin目录下。然后打开一个.c文件,按ESC退到command模式,输入:Tlist命令,就是可以看到左边多了一个窗口显示代码中函数,结构体,还有宏。

附:安装了ctags后,还可以使用vim的补全功能,先在命令行里移动到代码在的目录,然后使用命令ctags -R, 然后在这个命令行里用gvim打开文件,这样gvim的当前目录就是刚才我们运行ctags -R的目录,因为vim默认到当前目录寻找tags文件。然后尝试在插入模式下,敲入一个宏的一部分,然后按<ctrl+x> <ctrl+o>然后就会有一个列表跳出来,可以使用方向键选择其中一个补全方案。

2. DoxygenToolkit

doxygen是很多人使用来生成文档的工具,DoxygenToolkit 可以帮助你快速生成一个doxygen式注释的框架,非常方便。只需将DoxygenToolkit.vim文件放到$VIMHOME/vimfiles/plugin就安装好了。将光标移动到一个函数定义上,然后输入命令:Dox,看函数头上是不是多了一个doxygen格式的注释。

3. 别的插件(其实我用的插件不多),请参考这篇文章《VIM实用技术--常用插件》 。

介绍vim的博客和网站:

vim.org --肯定得有它, 另外:help <命令名>也是特别有用,vim的帮助文档口碑相当好。

碎碎念 --blogsome对vim的熟悉和理解真是深啊。

善用佳软 --有一些介绍vim使用技巧的文章。

好困哪,就写到这,洗洗睡了。

我的VIM配置--工欲善其事必先利其器相关推荐

  1. vim配置及插件安装管理

    1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...

  2. vim 配置及插件安装管理(超级详细)

    1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...

  3. 高效的vim配置及其插件管理

    俗话说:"工欲善其事必先利其器!"  . 同样的道理,当在linux系统中使用的vim编辑器时,我们就必须为它配置强大的插件,这样当我们使用vim时,会大大提高编写效率!好了,废话 ...

  4. 【CS-Notes】工欲善其事必先利其器(Code、Git、Docker、Linux)

    文章目录 Code工作台(工欲善其事必先利其器) 1.通用工具 1.1.编辑器 1.2.Git 基本版本控制 1.3.Docker容器 2.Linux工作台 2.1.Linux命令 2.2.开发工具 ...

  5. Linux下的vim配置和插件管理

    1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...

  6. vim 配置插件分享

    转载自 http://a.vifix.us/blog/vim-%E9%85%8D%E7%BD%AE%E6%8F%92%E4%BB%B6%E5%88%86%E4%BA%AB 此文在vim中完成,全文较长 ...

  7. 【 Vim 配置详解 】强大的vim配置文件,让编程更随意

    Vim 配置详解 首 先安装完整版本的VIM  如果是在Linux下,可以安装VIM-Enhance使其扩展为完整版本的 VIM,如果在Windows下,直接安装它的Binary就行了. 当然自己编译 ...

  8. 【Linux基础】vim配置及插件安装管理

    1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...

  9. vim配置及插件安装管理(超级详细)

    转自:https://www.cnblogs.com/snowbook/p/5923770.html 1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux ...

  10. 超级强大的vim配置(vimplus)

    From : http://www.cnblogs.com/highway-9/p/5984285.html From : http://www.cnblogs.com/ma6174/archive/ ...

最新文章

  1. c++ 中 virtual / 纯虚函数(析构函数)测试
  2. ASP.NET Core Blazor Webassembly 之 渐进式应用(PWA)
  3. 配置了坐标还是找不到serv_为什么老人家总是这疼那疼,还找不到原因?是矫情还是另有原因...
  4. wsdl地址_WSDL文档结构解析
  5. Python对Excel的操作(openpyxl)
  6. 阿里云新征程:通往智能之路
  7. 蓝桥每日真题之完全平方数
  8. Verilog 教程
  9. keil ISIS AT89C51单片机
  10. HTML <blockquote> 标签
  11. 『MongoDB』MongoDB的数据存储格式Bson比Json有哪些优势?
  12. HDU-1205-吃糖果(c++的__int64!)
  13. html5柱状图模板,html5生成柱状图(条形图)
  14. 哦麦艾斯!AI设计的丑衣服将引领时尚?数据结构与算法代码面试题;将文件藏在图片里的隐写工具;蒙古语语音合成语料库
  15. 批量修改Excel中的图片大小方法
  16. Java数组:一维数组的定义和赋值
  17. 单机斗地主之完整功能初版
  18. 【嵌入式】STM32实现SPI双机通信的一些细节(2)片选总结
  19. mysql5.6.37 主从同步_Mysql5.6.x版本半同步主从复制的开启方法
  20. 51单片机AD转换pcf8591+数码管显示+Proteus仿真二

热门文章

  1. 微信小程序中的基础错误总结
  2. get,post请求实例
  3. 用什么擦地最干净脑筋急转弯_每天10条脑筋急转弯: 用什么擦地最干净?
  4. Windows下搭建MySQL Master Slave
  5. win11 家庭版开启guest用户共享
  6. 我国爬虫法即将出台!
  7. Google全球首批Android开发者:手把手教你5G时代Webview的正确使用姿势
  8. 记应聘:北京童程童美科技有限公司 人工智能编程讲师
  9. 深度学习优化——He初始化
  10. echarts 监听地图缩放和移动事件