首页 > 代码库 > vim技巧记录

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,然后加上某一个按键字母,触发一个功能。
(1)在shell里打开几个文件并且分屏:
  vim -On file1 file2 ...
  vim -on file1 file2 ...

大O表示垂直分割(vertical),小o表示水平分割(默认horizontal),后面的n表示分几个屏,实际上我觉得不用写,默认按后面要分割的文件数来决定分几个屏。
(2)在vim里打开一个分屏:
  创建空白分屏:
  :new
  打开任意文件:
  :vsplit(:vsp) filename
  :sp(split) filename
  打开当前文件:
  ctrl+w 和 s(split)
  ctrl+w 和 v(vsplit)

(3)关闭一个分屏:
  :only 或者 ctrl+w 和 o取消其它分屏,只保留当前分屏
  ctrl+w 和 c(close)
  只剩最后一个分屏以后推出:
  ctrl+w 和 q(quit)
(4)移动光标,也就是切换分屏;也可以移动分屏,比如将左分屏移动到右边。
  ctrl+w 和 w(各种切换,只有两个分屏的时候还是比较方便的)
  ctrl+w 和 h(H) 左
  ctrl+w 和 j(J) 下
  ctrl+w 和 k(K) 上
  ctrl+w 和 l(L) 右
(5)最后就是改变分屏尺寸的操作了。
  ctrl+w 和 < 左
  ctrl+w 和 > 右
  ctrl+w 和 + 上
  ctrl+w 和 - 下
  ctrl+w 和 = 恢复均等

 

多行注释

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



 

vim技巧记录