« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
 |
Welcome to Lin's Space !
Just enjoy yourself .
Contact me:

jerry585@gmail.com |
Blog信息 |
blog名称:Lin's Space 日志总数:20 评论数量:99 留言数量:0 访问次数:241091 建立时间:2007年5月15日 |

| |
[Linux]VIM 特性集合 软件技术
Great Void 发表于 2008/10/23 0:01:40 |
VIM 特性集合 首先明白四种Vim的模式(有五种,一般只用到四种)1、普通模式:就是刚打开后的那种。2、命令模式:就是在下面输入:后接命令的那种。3、插入模式:就是可以输入的模式。4、可视模式:就是按下v,V或ctrl-v后的模式,用于选中多字符、多行、块来进行操作。
一、代码折叠:
1. 折叠方式可用选项 'foldmethod' 来设定折叠方式:set fdm=*****。有 6 种方法来选定折叠: manual 手工定义折叠 indent 更多的缩进表示更高级别的折叠 expr 用表达式来定义折叠 syntax 用语法高亮来定义折叠 diff 对没有更改的文本进行折叠 marker 对文中的标志折叠注意,每一种折叠方式不兼容,如不能即用expr又用marker方式,我主要轮流使用indent和marker方式进行折叠。
使用时,用:set fdm=marker 命令来设置成marker折叠方式(fdm是foldmethod的缩写)。要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=syntax,就像添加其它的初始化设置一样。
2. 折叠命令选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了,由于我使用indent和marker稍微多一些,故以它们的使用为例:如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。在可折叠处(大括号中间):zc 折叠zC 对所在范围内所有嵌套的折叠点进行折叠zo 展开折叠zO 对所在范围内所有嵌套的折叠点展开[z 到当前打开的折叠的开始处。]z 到当前打开的折叠的末尾处。zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。zR 打开所有折叠:set foldclose=all 自动关闭折叠:set foldopen=all 自动打开折叠
当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动之:)我们可以使用下面的命令来创建和删除折叠:zf 创建折叠,比如在marker方式下: zf56G,创建从当前行起到56行的代码折叠; 10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。 10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。zd 删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。zD 循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。 仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。zE 除去 (Eliminate) 窗口里“所有”的折叠。 仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
二、注释: 法1:可以用一些插件。不想用。
法2:可以使用列选择模式来选中需要编辑的例,这里是用ctrl-v来选中(用上下按键来选中所有的),然后按大I(插入),输入你想插入的,这里显然是//,然后按esc,恩,好了。 如果要取消注释,就像上面一样,只不过不是按大I(插入),而是按小d(删除)。 (附上 visual 模式说明: 可视(visual)模式,用于选定文本块;可以在正常模式下输入"v"(小写)来按字符选定,输入"V"(大写)来按行选定,或输入"Ctrl-V"来按方块选定)
法3:用 :map 做命令到快捷键的映射,这个参考如下: vim允许覆盖自身绑定的快捷键。正常模式下的 c 和 cc 组合键,对我的用处不大,因此我使用他们完成注释和去掉注释。 注释时将可视模式下选定文本的每行开头插入"//"。意味着,要用v键从正常模式切换到可视模式选定文本后,再输入组合键。:s/^/\/\//g 去掉注释执行相反过程。:s/^\/\///g 键绑定,将以下语句添加到 ~/.vimrc。:map cc v:s/^/\/\//g:map cx v:s/^\/\///g:vmap cc :s/^/\/\//g:vmap cx :s/^\/\///g将 cc 映射到命令 v:s/^/\/\//g ,其余依此类推。其中 :vmap 约束键映射只能在可视模式下有效。更新:在“评论”中发现了更好的"正则表达式"。:map cc v:s!^!//!g:map cx v:s!^\s*//!!g v=:vmap cc :s!^!//!g:vmap cx :s!^\s*//!!g v=
三、鼠标支持:默认没有开启,可以在~/.vimrc中写入set mouse=a来开启。这样,就可以用鼠标滚动等。
四、文件选择及多tab:如果想一下子打开多个tab,输入vim -p * ,这样就打开多个tab。现在的多tab支持鼠标切换。1、输入": tabe ." 表示打开 ".",这里就会在新tab列出文件。然后用鼠标或按键选择,就可以在新的tab打开该文件。如果你用在文件名上按的是t,不是回车,则这个文件列表窗口不会关闭,会在新的tab中打开该文件。2、输入": tabe%" 则会在新的tab再次打开本文件。3、想创建新的程序文件吗: ": tabe new filename.cpp"4、切换tab: normal模式下按 0gt 表示切换到 第 0 个tab。只按 gt,则轮流切换。
使用tab比你使用终端的tab打开多个vim是大有好处的:a、使得文件间的复制和粘贴能够完成;b、....
五、文件参照:划分窗口写程序,要比对同一文件不同部分,甚至不同文件的部分,这时,用tab就不太好,因为影响比对。这时,就要划分窗口。常用的有垂直划分: ":vsplit" (简写":vsp")水平划分: ":split" (简写":sp")
切换窗口用 Ctrl-w w 可以在打开的窗口间切换。在支持鼠标的情况下,用鼠标切换。
六、文件备份:vim支持文件备份,只要设置":set backup",如果要取消备份支持,则设置: set nobackup : set nowritebackup即可。
实际上,为了安全,还是让vim生产备份文件的好。但是为了不影响查看,最好把备份文件统一放到一个目录。可用 ": set backupdir=~/tmp/vim/
七、滚动:Ctrl-E: 向下滚动一行 Ctrl-D: 向下滚动指定行 —— 默认是半屏幕,太多了,我用 :set scroll=10 设置为10行Ctrl-Y: 向上滚动一行Ctrl-U: 向上滚动指定行 —— 同Ctrl-D另外,支持鼠标滚动! |
|
回复:VIM 特性集合 软件技术
www(游客)发表评论于2010/2/10 10:06:10 |
|
» 1 »
|