目录:
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 | |