导航

VIM使用指南

Posted on 2012-02-03 01:37  十斗米  阅读(996)  评论(0编辑  收藏  举报

目录:

1. 使用方法汇总

    1.1 打开文件

    1.2 跳转至函数实现处

    1.3 查找函数被调用处

    1.4 全部替换文件内指定字符串

    1.5 分割窗口

    1.6 使用宏快速重复执行批量操作

    1.7 .h/.cpp文件快速切换

    1.8 "前进"和"后退";

    1.9 删除文件内包含指定字符串的行

    1.10 删除windows文件行尾回车符^M

    1.11 去除文件中已存在的Tab键

    1.12 让vim按C文件高亮显示sqc文件, 即识别sqc等新文件类型

    1.13 让vim不要自动生成~备份文件

    1.14 使用winmanager插件时,弹出的窗口调整为在右侧显示

    1.15 去掉vim异常时的提示音和屏幕闪烁

    1.16 元字符使用说明

    1.17 匹配一行中同时包含字符串1和字符串2的行

    1.18 清空寄存器中的内容

    1.19 累加内容到寄存器a中

2. 常用插件汇总

3. 常用环境变量

4. 常用操作命令

 


 1、 使用方法汇总 

1.1  打开文件 :e path/filename
可以是绝对路径,也可以是相对路径, "~"代表HOME环境变量指向目录

 

 

1.2  跳转至函数实现处 在函数名的任意位置,按<ctrl+]>即可
需提前使用ctags生成tags文件

 

 

1.3  查找函数被调用处 :cs find s AAA
AAA为函数名

 

 

1.4  全部替换文件内指定字符串 :g/AAA/s/BBB/CCC/g
AAA代表只查找有AAA的行,在找到的行中将BBB替换为CCC

 

 

1.5  分割窗口 :split
执行一次就会分割一次窗口, [ctrl]+[w]+[G\H\J\K]可以使焦点在各个窗口中移动

 

 

1.6  使用宏快速重复执行批量操作 第一步:qa (q是命令,a是宏名称,也可以其他任意英文字母)回车,此时开始录制要重复执行的操作
第二步:各种操作
第三步:q 回车,此时完成宏录制
第四步:@a 即可重复执行第二步的所有操作
:qa回车-->查找AAA字符串-->删除AAA,替换为BBB-->:q回车-->@a, 每次执行@a就是替换一次AAA为BBB



1.7  .h/.cpp文件快速切换 :A
.h和.cpp必须在同一目录下

 

 

1.8  "前进"和"后退" [ctrl]+[^] 和 [ctrl]+[o]
 

 

 

1.9  删除1篇文章中包含特定字符串的行 :g/特定字符串/d
 

 

 

1.10  删除1篇文章中行尾的^M符号 :%s/ctrl+v+m//g
:%s/\r//g

 

 

1.11  去除文件中已存在的Tab键 :retab
 

 

 

1.12  让vim按C文件高亮显示sqc文件,即识别sqc等新文件类型 在安装目录vimfiles/after下新建ftdetect目录,并新建sqc.vim文件,其中添加一句命令:au BufNewFile,BufRead *.sqc set filetype=c

              识别其他文件类型,方法类似。

 

 

 

1.13  让vim不要自动生成~备份文件 在vim73目录下找到vimrc_example.vim文件, 里面的 if has ('vms') 这句的else分支给注释掉即可
 

 

 

1.14  使用winmanager插件时,弹出的窗口调整为在右侧显示 在winmanager.vim中找到StartWindowsManager这个方法,里面有2个wincmd H关键字, 全部改为wincmd L即可
 

 

 

1.15  去掉vim异常时的提示音和屏幕闪烁 Linux下的vim使用:set noeb
windows下的gvim使用
:set vb t_vb=
:au GuiEnter * set t_vb=

 

 

1.16  元字符使用说明
元字符 说明
. 匹配任意一个字符
[abc] 匹配方括号中的任意一个字符。可以使用-表示字符范围,
如[a-z0-9]匹 配小写字母和阿拉伯数字。
[^abc] 在方括号内开头使用^符号,表示匹配除方括号中字符之外的任意字符。
\d 匹配阿拉伯数字,等同于[0-9]。
\D 匹配阿拉伯数字之外的任意字符,等同于[^0-9]。
\x 匹配十六进制数字,等同于[0-9A-Fa-f]。
\X 匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f]。
\w 匹配单词字母,等同于[0-9A-Za-z_]。
\W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]。
\t 匹配<TAB>字符。
\s 匹配空白字符,等同于[ \t]。
\S 匹配非空白字符,等同于[^ \t]。
\* 匹配 * 字符。
\. 匹配 . 字符。
\/ 匹配 / 字符。
\\ 匹配 \ 字符。
\[ 匹配 [ 字符。
* 匹配0-任意个
\+ 匹配1-任意个
\? 匹配0-1个
\{n,m} 匹配n-m个
\{n} 匹配n个
\{n,} 匹配n-任意个
\{,m} 匹配0-m个
$ 匹配行尾
^ 匹配行首
\< 匹配单词词首
\> 匹配单词词尾

 
1.17  匹配一行中同时包含字符串1和字符串2的行 /字符串1.*字符串2
 
1.18  清空寄存器a中的内容 :call setres("a", "")
 
1.19  累加各种命令匹配到的两行内容到寄存器a中 /g/内容/d a 2
 

 

 

 

二、 常用插件汇总:
1. taglist (源代码结构浏览):http://www.vim.org/scripts/script.php?script_id=273
2. matrix (装酷的插件):http://www.vim.org/scripts/script.php?script_id=1189
3. doxygen (文档注释语法加亮):http://www.vim.org/scripts/script.php?script_id=5
4. cvsmenu (CVS集成):http://www.vim.org/scripts/script.php?script_id=1245
5. project (文件的“项目”管理):http://www.vim.org/scripts/script.php?script_id=69
6. netrw (网络文件支持):http://www.vim.org/scripts/script.php?script_id=1075
7. a (h/CPP文件快速切换):http://www.vim.org/scripts/script.php?script_id=31
8. code_complete.vim插件 (函数参数提示):
9. ZoomWin.vim (全屏):http://www.vim.org/scripts/script.php?script_id=508
10. grep.vim (grep功能) : http://www.vim.org/scripts/script.php?script_id=311
11. VisualMark.vim插件 (高亮书签):
12. omnicppcoplete 插件 (成员函数和变量自动补全):http://www.vim.org/scripts/script.php?script_id=1520
13. c.vim 插件 (IDE):
14. cscope : http://sourceforge.net/projects/mslk/files/Cscope/
15. MiniBufExplorer插件: http://www.vim.org/scripts/script.php?script_id=159
16. ctags : www.filediag.com/dll/exe/ctags.exe.html 或 https://files.cnblogs.com/caodejun/ctags.rar
17. VIM配置文件参考: https://files.cnblogs.com/caodejun/_vimrc.rar
18. 经典Fixedsys字体: https://files.cnblogs.com/caodejun/fixedsys.rar
19. Bitstream_Vera_Sans_Mono字体: https://files.cnblogs.com/caodejun/VeraMono.zip
20. WinManager插件 : http://www.vim.org/scripts/script.php?script_id=95
21. clang complete 插件(Linux): http://www.vim.org/scripts/script.php?script_id=3302
22. clang complete 插件(Windows): https://github.com/Rip-Rip/clang_complete
23. clang complete 插件(Windows DLL): http://sourceforge.net/projects/tcgraphics/files/others/libclang.zip/download
24. mingw4.5.2: http://sourceforge.net/projects/tcgraphics/files/others/mingw4.5.2.7z/download
三、 常用环境变量
$VIM: 安装根目录
$VIMRUNTIME: 安装根目录/VIM73 (系统目录)
$HOME: 设置用户根目录, 比如:打开VIM后,输入:e ~/  跳转到HOME环境变量指定的目录,可以指定到自己工程的根目录。
四、 常用操作命令
:version 查看安装版本信息、主要配置文件路径等
:scriptnames 查看主要配置文件路径和名称
:helptags $VIMRUNTIME/doc 安装新插件
:set helplang=cn 下载中文帮助文档到$VIMRUNTIME/doc中,执行该命令
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q 支持解析c++文件
ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f 文件名  
ctags -R --c-types=+px --langmap=c:.c.sqc.h.sqx 支持解析sqc文件
find . -type f >cscope.files cscope解析的文件列表
dir /s /b *.h *.c *.cpp *.sqc > cscope.files