目录:
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 |
|
三、 常用环境变量
|
$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 |
|