文章参考来自网络,部分内容来自:在Vim/Vi中删除行、多行、范围、所有行及包含模式的行 - 腾讯云开发者社区-腾讯云
删除行
在Vim中删除一行的命令是dd。
以下是删除行的分步说明:
1、按Esc键进入正常模式。
2、将光标放在要删除的行上。
3、键入dd并按Enter键以删除该行。
注:多次按dd将删除多行。
删除多行
要一次删除多行,请在dd命令前添加要删除的行数,例如,要删除五行,请执行以下操作:
1、按Esc键进入正常模式。
2、将光标放在要删除的第一行上。
3、键入5dd并按Enter键以删除接下来的五行。
删除行范围
删除一系列行的语法如下:
:[start],[end]d
例如,要删除从3到5的行,您可以执行以下操作:
1、按Esc键进入正常模式。
2、输入:3,5d,然后按Enter键以删除行。
您还可以使用以下字符来指定范围:
.(点) 表示:当前行。
$ 表示:最后一行。
% 表示:所有行。
这里有一些例子:
:.,$d 表示:从当前行到文件末尾。
:.,1d 表示:从当前行到文件开头。
10,$d 表示:从第十行到文件末尾。
删除所有行
要删除所有行,您可以使用代表所有行的%符号或1,$范围:
1、按Esc键进入正常模式。
2、键入 %d 然后按Enter键以删除所有行。
删除包含模式的行
基于特定模式删除多行的语法如下:
:g//d
全局命令(g)告诉删除命令(d)删除所有包含的行。
要匹配与模式不匹配的行,请在模式之前添加感叹号(!):
:g!//d
模式可以是文字匹配或正则表达式,以下是一些示例:
:g/foo/d 表示:删除所有包含字符串“foo”的行,它还会删除“foo”嵌入较大字词(例如“football”)的行。
:g!/foo/d 表示:删除所有不包含字符串“foo”的行。
:g/^#/d 表示:从Bash脚本中删除所有注释,模式^#表示每行以#开头。
:g/^$/d 表示:删除所有空白行,模式^$匹配所有空行。
:g/^\s*$/d 表示:删除所有空白行,与前面的命令不同,这还将删除具有零个或多个空格字符(\s*)的空白行。
代码注释快捷操作插件:Nerd_Commenter
首先确认热键符号 leader,
在~/.vimrc中检查 let mapleader=”,” 表示英文逗号是热键触发。
,ca 表示在块注释/* */和行注释//这两种方式中切换一种
,cc 表示注释当前行
,cu 表示取消注释
,cs 表示以多行块形式注释掉选中的代码
在非编辑状态下快捷键
,t 表示开启或者关闭 TlistToggle
在~/.vimrc中检查NERDTreeToggle配置的热键快捷键
例如是 ,f 表示可以快捷开启或关闭右侧目录管理树。
忽略在#ifdef...#endif(C/C++)块中代码碎片。给块命名的时候一定要考虑到其功能。在所有文件中,所有有联系的块将会放在一个新的块DOX_SKIP_BLOCK(或者用户定义的名称)。你需要使用当前的新块名更新你的doxygen配置文件中的PREDEFINED变量。而且你还需要将ENABLE_PREPROCESSING设置为YES。
在vim中,将光标放在想要添加doxygen作者注释的地方。 然后执行命令:DoxAuthor。这将会生成一个框架,如果没有为其设置变量则将光标放置在@author标签之后,或者放在在框架之后。
let g:DoxygenToolkit_authorName="VIM org"
将DoxygenToolkit.vim拷贝至 '~/.vim/plugin'目录
如果把 comments.vim 拷贝到 ~/.vim/plugin 目录,则可以快速注释掉某行或者若干行代码
ctrl + c 注释
ctrl + x 取消注释
shift + v 选中要注释的一块区域 ctrl + c
shift + v 选中要注释的一块区域 ctrl + x
在vim中命令模式下使用:
:Tlist
打开或者关闭当前文件的索引;
:gtags
等待它完成所有需要的global自己格式的tags的生成
生成完后,需要的就是在生成tags的目录打开你的工程的任意文件,用如下命令查询相关类型引用和关联关系:
Gtags xxxx 查找xxxx的定义
Gtags -r xxxx 查找xxxx的引用
Gtags -s xxxx 查找xxxx出现的地方
" To get list of objects in a file 'main.c', use -f command.
"
" :Gtags -f main.c
"
" If you are editing `main.c' itself, you can use '%' instead.
"
" :Gtags -f %
例如执行:
:Gtags -f %
会出现一个quickfix的窗口
:cclose
)
" You can go to any entry using quickfix command.
"
" :cn'
" go to the next entry.
"
" :cp'
" go to the previous entry.
"
" :ccN'
" go to the Nth entry.
"
" :cl'
" list all entries.
"