1.多行注释:
1). 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;
2). 在行首使用上下键选择需要注释的多行;
3). 按下键盘(大写)“I”键,进入插入模式;
4). 然后输入注释符(“//”、“#”等);
5). 最后按下“Esc”键。 注:在按下esc键后,会稍等一会才会出现注释,不要着急~~时间很短的
2.删除多行注释:
1). 首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式;
2). 选定要取消注释的多行;
3). 按下“x”或者“d”. 注意:如果是“//”注释,那需要执行两次该操作,如果是“#”注释,一次即可

3.多行删除

1).首先在命令模式下,输入“:set nu”显示行号;
2).通过行号确定你要删除的行; 3.命令输入“:32,65d”,回车键,32-65行就被删除了,很快捷吧
如果无意中删除错了,可以使用‘u’键恢复(命令模式下)

4. 其他方法介绍:

法一:
单行删除,:1(待删除行)d
多行删除 ,:1,10d
法二:
光标所在行,dd
光标所在行以下的N行,Ndd
方法1:
光标放到第6行,
输入:2yy
光标放到第9行,
输入:p
此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。
方法2:
命令行模式下输入
6,9 co 12
复制第6行到第9行之间的内容到第12行后面。

参考网址:

http://www.cnblogs.com/chinalorin/p/5830375.html

在正常模式下(一般按Esc键就是)——光标定位——CTRL+v 进入“VISUAL BLOCK”可视块模式,选取这一列操作多少行——按键盘d 删除 。 例如我们在每一行前都插入注释"// ": 在正常模式下(一般按Esc键就是)——光标定位到要操作的地方——CTRL+v 进入“VISUAL BLOCK”模式,选取这一列操作多少行——SHIFT+i(I) 输入要插入的内容如"//"——ESC 按两次 进入 命令 行模式,按ctrl + v进入 visual block模式(可视快模式),按小写字母L横向选中列的个数,例如 // 需要选中2列。进入 命令 行模式,按ctrl + v进入 visual block模式(可视快模式),然后按j, 或者k选中 多行 ,把需要注释的行标记起来。跟 多行 复制的情况差不多,第一种方法里5yy改成5dd就行,第二种方法里,或者用:5, 9 de。将光标移至需要复制的内容的第一行,计算需要复制多少行,比如需要复制5行。按下5yy,将光标移至需要复制的地方,按下p粘贴。 ;:" 记忆(反向引用) :s : 2: 1 ;: 将两个字段颠倒 :%s ^ n 1$ 1 ;: 删除 重复行 ;:" 非贪婪匹配 { } :%s ^ { }pdf new pdf ;: 删除 第一个pdf ;:" use of optional atom :%s# <[zy] tbl [a z ] + ># L&#gc ;: lowercase with optional leading characters ;:" 跨越尽量多的行 :%s < { } > ;: 删除 多行注释 :help { } ;: 查看非贪婪匹配的更多帮助"> vim 的技巧 适合有一定vi功底的人使用 实例: ;:" 复制列 :%s [^ ] +$ && ;: 复制最后一列 :%s f +$ && ;: 复制最后一列 :%s S +$ && ;: 复制最后一列 ;:" 记忆( [更多] 中文名: Hacking Vim 原名: Hacking Vim 别名: A cookbook to get the most out of the latest Vim editor 作者: Kim Schulz资源格式: PDF 版本: 文字版 出版社: Packt Publishing书号: 9781847190932发行时间: 2007年 地区: 美国 语言: 英文 内容简介: 不知道是谁 说过一句话:说世界上的程序员分为三种,一种是使用 VIM 的,还有一种使用Emacs的,剩下的都是第三种。由此可见 VIM 的强大程度,可以说,这是一款非常适合程序员使用的编辑器。 VIM 的设计哲学是如果你的工作只需要做一次,那没问题,怎么搞都行,如果你的工作是要重复的完成某些工作,则I VIM 总可以帮你找到更少的按键方式来实现相同的目标,为此, VIM 设计了多种模式,常见的模式包括 命令 模式,编辑模式, 命令 模式等,这个也是和其他编辑器一个很不相同的地方,可能有些已经有其他编辑器习惯的人有点不太习惯的地方,但是如果将模式熟悉了就可以发现在不同的模式之间切换是很平常的事情,而且带来的好处是更少的按键和更快的输入。 VIM 是VI的优秀后裔,虽然VI的后裔中不仅仅包括 VIM ,但是 VIM 是实现对VI的兼容性最好的编辑器,其他的后裔还包括STEVIE, ELvis, NVi, Vile等。除了实现对VI的兼容性外, VIM 还扩展了很多的功能,包括语法高亮,代码折迭,脚本扩展等等,Packt Publishing出版社出版的这本书《Hacking VIM 》就对 VIM 使用的一些TIP作了介绍,介绍的内容包括定制篇,移动篇,效率篇,格式篇和脚本篇,希望可以给你在使用 VIM 的过程中带去一点帮助。 如果你已经使用 Vim 超过一年半载,对hjkl,i,a,yy,dd,p,u等 命令 已经滚瓜烂熟,但是还基本没有自己写过. vim rc文件,又觉得需要将使用 Vim 的程度提到一个新的高度,看《Hacking Vim 》这本书最合适不过了。 我给这本书打4分。觉得很不错是因为这本书中提到了许多我原来没有掌握的技巧或 命令 。没有打5分是因为这其中也夹杂着好些没有多大用处的部分,又有一些部分选材不是很精要。比如说, Vim 插件部分,我以为一本好的书应该为读者挑选一些最常见也最有用的插件对作者进行介绍。这部分作者似乎还没有SMTH BBS Vim 版的FAQ写得好。 2.常用技巧 下面总结一下我从这本书和其它地方学到的一些常见的设置和技巧(我自认为是中高级的,可是有些读者可能认为某些部分是初级的)。 2.1全局替换 %s/old/new/g 2.2多文件替换 多文件替换,比如要替换所有.c文件中a_value为a_value,可以使用如下方法: vi *.c :argdo %s/a_value/b_value/ge | update 其中update是直接替换覆盖原文件,若需要确认,则可使用 :argdo %s/a_value/b_value/gec | update 2.3增加 多行注释 Ctrl+v; 选定所需行; I; #|//; Esc两次 比如需要增加#或者是//这种注释。Ctrl + v 定位到开始行,然后选定需要的行,然后执行 I 命令 ,然后输入 # 或 //,然后按 Esc键两次,即可把注释操作应用到所有选定的行,记住选定不能使用v指令,而应该使用Ctrl + v (清除注释请参考上面的方法)(v是按行选定,Ctrl + v 是按照列选定) :起始行,终止行s/要替换字符/替换为新字符/g 比如::1,20s/^/\/\//g 2.4 ab技巧 :ab 替代符 原始信息 比如::ab mail abc@gmail.com 2.5分割窗口功能 分割窗口: :split [filename] (水平分割) :vsplit [filename] (垂直分割) :new (打开一个窗口编辑新文件) 窗口跳转: CTRL+W w (循环跳转) CTRL+W (h|j|k|l) (上下左右) 关闭(当前)窗口: :close 关闭所有其它窗口: :only 增减窗口大小 CTRL+W +/- 缓冲区跳转: :bnext (下一缓冲区) :blast (上一缓冲区) 退出所有窗口 :qall 保存所有窗口: :wall 保存并退出所有窗口: :wqall 2.6改变颜色配置 :colorscheme mycolors Vim 自带多种配色方案,可以根据需要自己选用。若不知道系统有哪些配色方案,可以在输入:colorscheme(空格)后用Shift+Tab键选择。 2.7显示和不显示行号 显示行号:set nu[mber] 取消显示行号:set nonu 2.8更好的状态行 通过设置statusline可以设置更好的状态行,我选择的设置是: set statusline=%F%m%r%h%w\ [FORMAT=%{&ff;}]\ [ASCII=\.3b]\ [POS=%4l,%3v][%p%%]\ [LEN=%L] 它可以显示当前文件的路径和文件名以及整个文件的长度。 2.9光标行和光标列 :set cursorline (设置光标行) :set cursorcolumn (设置光标列) 其中我觉得光标行更有用些。 Vim 默认设置,要找到光标所在位置不是很方便。 2.10语言拼写检查 set spell set spelllang=en,de,it 中文需要语言包支持,不过最常用的还是英文检查吧 2.11键绑定 map 对Normal, Insert, Visual和Command-line模式均有效 imap Insert模式有效 cmap Command-line模式有效 nmap Normal模式有效 vmap Visual模式有效 键绑定可以定义一些键的组合为一个快捷键,如: imap <C-s> <ESC>:w<CR>a 2.12定位功能 g, 前一修改处 g; 后一修改处 w 下一单词头 b 前一单词头 % 跳至匹配括号 [[ 和 ][ 向后|前至下一区段开始 [] 和 ]] 向后|前至下一区段结束 [{ 跳至块开始 ]} 跳至块结束 [/ 跳至注释块开始 ]/ 跳至注释块结束 gd (Goto Declaration) 跳至定义处 gD 跳至全局变量定义处 gj 跳至长行下一段 gk 跳至长行上一段 gf (Goto File) 打开文件 ?向前查找 / 向后查找 ?? 重复上一向前查找 // 重复上一向后查找 # 向前查找光标下词(整词匹配) * 向后查找光标下词(整词匹配) g# 向前查找光标下字符串(不必是整词) g* 向后查找光标下字符串(不必是整词) vim grep /pattern/[j][g] file file2 … fileN 多文件查找 使用标志(mark)定位: 0~9 系统自用 a-z 本文件mark (使用方法: 标志:ma, 调至标志 `a) A-Z 跨文件的mark :marks 查看所有标志 :delmarks 删除 标志 2.13 自动补全 Ctrl+p 自动补全单词 Ctrl+n 自动补全单词(向前查找)两者一般感觉不到区别 Ctrl+x Ctrl+k 通过字典补全单词 Ctrl+x Ctrl+t 从同义词典(thesaurus)补全 Ctrl+x Ctrl+f 文件名自动完成(很有用) Ctrl+x Ctrl+l 自动完成整行 Ctrl+x Ctrl+i 从当前和包含文件补全 Ctrl+x Ctrl+o 全能自动补全,需要set omnifunc 设置字典的方式:在. vim rc中增加以下语句(借用look 命令 的字典库) set dictionary+=/usr/share/dict/words 即可使用Ctrl+x Ctrl+k功能,很好很强大! 2.14 使用宏 qx (开始录制宏至寄存器x,x可以为任何字母,但是最常见的是q) command1 q (结束录制) @x (引用宏) @@ (重复上次宏使用) 2.15读写文件或 命令 内容 :r filename (读入文件内容) :m,nw filename (将m~n行内容写入文件) r!command (插入command 命令 结果) 2.16使用寄存器 无名寄存器 “” 数字寄存器 “0 “1 … “9 有名寄存器(Named Registers) “a~”z “A~”Z (大写寄存器内容追加,而不是覆盖) 只读寄存器: “% 当前活动缓冲区文件名 “# 前一文件的文件名,替换文件 “. 最后插入的文本 “: 最后 命令 行运行的 命令 黑洞寄存器: “- 进入的永远消失 搜索模式寄存器 “/ 表达式寄存器: “= (使用:输入表达式后ENTER, p粘贴) 2.17折迭 zfa{ 创建折迭 zc 折迭 zo 打开折迭 zM 折迭所有 zR 打开所有折迭 2.18文件比较 vim diff : vim diff file1 file2 :diffsplit filename 或 命令 行下 vim –d file1 file2 可进行文件比较 [c 前一差别 ]c 后一差别 2.19缩进 >% 缩进块中内容 <% 反缩进块中内容 >i{ {内部缩进(不包括{}) >a{ {内容缩进(包括{}) <i{ 反缩进 <a{ 反缩进 2.20使用文件模板 :autocmd BufNewFile *.html 0r $ VIM HOME/template/html.tpl 可以在创建新的.html文件时读入模板(html.tpl中内容) 2.21识别中文字体 你的 Vim 在打开中文文件时都是乱码吗?若是这样,在. vim rc中加入以下几行就可以了: set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set encoding=prc 3. 常用插件 Vim 中的插件有许多,上 Vim .org自己查吧,不过我自己使用以下几个,也觉得是用有用的。以下只说明这些插件的用途,具体用法不做详细介绍。有了这些插件,足以形成一个可以与VC媲美的集成开发环境了。 3.1 ctags 实现标签跳转,C/C++/Java编程时很有用。 命令 行下ctags –R *创立标签,Ctrl+]/Ctrl+O跳转,Ctrl+T返回 3.2 taglist 生成文件纲要,包括函数、关键字等。安装后使用:Tlist 3.3 A 实现头文件跳转。ctags不能查找头文件 3.4 NERDtree 目录浏览功能。可以用o 命令 打开目录或文件,非常好用 3.5 MiniBuffer 打开多个文件时,生成一个类似标签页的导航菜单,可以用Ctrl+w w 命令 跳转至该部分并用Tab选择不同文件 3.6 calendar 在操作虚拟机的时候,都会出错,当在 vim 中出现问题的时候,可以在dw普通模式下 删除 对应的单词、如果在 vim 中使用 多行 删除 ,可以使用dd vim 命令 。如10dd将从光标底部 删除 10行(包含光标行在内)- 反向匹配 PATTERN- 要匹配的模式 d- 删除 命令 。使用 dd 命令 删除 一行之前,可以在前面指定一个数组。操作如图所示: 如在gif中看到的,在第一行运行dd 命令 删除 了一行。这意味着,要 删除 Vim 中文件的所有行,您需要使用:%d 命令 删除 特定模式不匹配行。 最开始使用 vim 的时候,一直不太会 批量 插入与 删除 。现在总结出一点小小心得体会,与大家分享。 vim 批量 删除 1.采用正则的方式 在普通模式下,输入如下 命令 :%s/^…//g 这样就将行首的三个字符用空白串替换,即达到了 删除 行首三个字符的效果2.可视块模式 比如想 删除 文件中每行前三个字符,在普通模式下,ctrl+v可进入可视块模式。gg到文件最开始位置,然后ctrl+v进入可视块模式,再按G到