vim技巧记录

安装插件
有个很好的同志已经做了一个比较全的插件集,下载就可以用:
mv ~/.vimrc ~/.vimrcbak
mv ~/.vim ~/.vimbak
git clone https://github.com/handy1989/vim.git
mv vim/.vimrc vim/.vim ~/

查找,替换:

:1,%s/strfind/strreplace/gn 查找个数

:1,%s/strfind/strreplace/g 替换

跟踪函数:

ctrl + ], 返回 ctrl + t

上下翻查看过的位置:

ctrl + o 上次光标停留位置, ctrl + i 下一个光标停留位置

全局查找:

vimgrep /strfind/g *.cpp

打开,关闭目录:

ctrl +n 或者:NERDTree NERDTreeclose

上下进行选择,ctrl + o打开一个文件

打开文件中函数列表:

ctrl + a 前提是要安装对应的插件

vim的分屏功能

打开当前文件:ctrl+w,mac中则是ctrl + shift + w,, s横屏,v竖屏

打开某文件::sp filename ,:vsp filename

创建新文件:new

调整窗口大小:vertical resize +10, resize +10 分别为横向和竖着加宽。

折叠方法:

zf%开始折叠,自动匹配到{或者},za打开折叠。

多行注释

vim中多行注释 和 删除多行注释 -------------------------------------------------------------------------------
1.多行注释: a. 按下Ctrl + v,进入列模式; b. 在行首选择需要注释的行; c. 按下“I”,进入插入模式;
d. 然后输入注释符(“//”、“#”等); e. 按下“Esc”键。
2.删除多行注释: a. 按下Ctrl + v, 进入列模式; b. 选定要取消的注释符; c. 按下“x”或者“d”. 

快速注释:

描述:
目前为止已经定义了5个用途:
1. 快速生成许可注释,并且标签可以被修改;
2. 快速生成作者声明框架,标签可修改;
3. 快速为C/C++、Python函数或者类生成注释框架,此框架包含的元素有:@brief, @param(为每一个参数生成一个@param)和@return。标签文本和注释块的头和尾都可以修改(因此,你可以有自己的简介,如果你原义,加上一点成就);
忽 略在#ifdef...#endif(C/C++)块中代码碎片。给块命名的时候一定要考虑到其功能。在所有文件中,所有有联系的块将会放在一个新的块 DOX_SKIP_BLOCK(或者用户定义的名称)。你需要使用当前的新块名更新你的doxygen配置文件中的PREDEFINED变量。而且你还需 要将ENABLE_PREPROCESSING设置为YES。
4. 快速生成一个注释集(开始或者结尾),标签可修改;
使用:
4.1 注释类型(C/C++/// 或者, Python:##和#):
在vim中,默认C++注释为,但是如果你更喜欢使用///,只需要在你的配置文件.vimrc中添加如下语句:
let g:DoxygenToolkit_commentType="C++"。
 
4.2 许可:
在vim中,将光标放在将要写doxygen许可注释的那一行,然后,执行命令:DoxLic。这将会生成许可注释并将光标放置在刚才那一行之后。
 
4.3 作者: 
在vim中,将光标放在想要添加doxygen作者注释的地方。然后执行命令:DoxAuthor。这将会生成一个框架,如果没有为其设置变量则将光标放置在@author标签之后,或者放在在框架之后。
 
4.4 函数/类注释:
在vim中,将光标放置在函数头部那一行(或者函数的返回变量)或者类。然后执行命令:Dox。这将生成框架并且将光标放置在@brief标签后。
 
4.5 忽略代码片段(只有C/C++):
在vim中,如果你想要忽略所有在块中的代码片段,类似:           #ifdef DEBUG ... #endif你只需要执行以下命令:DoxUndoc(DEBUG)!
 
4.6 组:
在vim中,执行命令:DoxBlock在后面的行中插入一个doxygen块。

 
限制:
1. 假设函数名(后面的左括号)至少在当前光标位置后的第三行;
2. 在注释块在写入之前不能再次更新;
3. 块分隔符(头部和尾部)只包含函数注释;
4. 假设已经使用了缩进;
5. 函数参数中得到注释还不支持;(像void foo(int bar ))
6. 定制输出脚本,在脚本文件中,在.vimrc中设置g: DoxygenToolkit_*变量:
举例说明,在我的.vimrc中包含:
let g:DoxygenToolkit_briefTag_pre="@Synopsis  " 
let g:DoxygenToolkit_paramTag_pre="@Param " 
let g:DoxygenToolkit_returnTag="@Returns   " 
let g:DoxygenToolkit_blockHeader="--------------------------------------------------------------------------" 
let g:DoxygenToolkit_blockFooter="----------------------------------------------------------------------------" 
let g:DoxygenToolkit_authorName="Mathias Lorente" 
let g:DoxygenToolkit_licenseTag="My own license"   <-- !!! Does not end with "<enter>"
 
安装细节:
将DoxygenToolkit.vim拷贝至 '~/.vim/plugin' 目录
 



原文地址:https://www.cnblogs.com/kuang17/p/6866256.html