本文的目标不是一个VI编辑器的教材。它只是个人在使用VI编程的过程中,对自认为比较有用的一些编辑功能及其它功能的一些整理。有一些功能,比如
hjkl键移动光,个人并不习惯使用,同时也并不认为对提高编辑效率有多大帮助,所以没有列入其中。与编程风格,编程规范这些东西恰恰相反,编辑器的使用
习惯对程序员来说,是一件很个人化,很个性化的事情。每个人都可以有自己的使用习惯和偏好,只要有利于工作的高效即可。
一、基本编辑功能
1、复制、剪切和粘贴
复制特定的某一段:把光标移到要复制的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲复制文本的尾部后,按下“y”,高亮文本全部被复制到剪粘板。
复制某一行:把光标移到要复制的那一行,按下“yy”,该行就被复制到剪粘板。
剪切特定的某一段:把光标移到要剪切的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲剪切文本的尾部后,按下“y”,高亮文本全部被复制到剪粘板。
剪切某一行:把光标移到要剪切的那一行,按下“dd”,该行就被复制到剪粘板。
粘贴剪粘板的内容到光标处:把光标移到要粘贴的位置,按下“p”。
2、搜索、替换
向前搜索字符串“example”:/example。
向后搜索字符串“example”:?example。
搜到第一个字符串后,按下“n”向后搜索下一个,按下“N”向前搜索下一个。
全文替换: 把全文的old替换为new :%s/old/new/g
把全文的old替换为new,但每次要求确认::%s/old/new/c
3、Undo和redo
Undo:按下“u”。
Redo: 按下“Ctrl + R”。
4、保存、另存为
保存:“w”。
另存为:“w filename”。
二、语法高亮,格式设置
首先在vi中导入vimrc范例文件::read $VIMRUNTIME/vimrc_example.vim。然后把它保存到你的用户目录下,保存文件名为.vimrc。文件中有一句:syntax on。即为开启语法高亮功能。
关于这个文件中,还有几个比较有用的设置:
set ruler "任何时候都显示光标位置。
set showcmd "显示不完整的命令。
set tabstop=4 "tab键缩进4格。
三、关键字补全
Ctrl + N:找到匹配的关键字把当前未拼写完的关键字补充完整,如果有多个可匹配项,则每按一次Ctrl+N,切换到下一项。如果习惯用tab键补充关键字,则可以在.vimrc文件中添加如下代码:
function! CleverTab()
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
return "\"
else
return "\"
endfunction
inoremap =CleverTab()
四、编辑一个工程
通常我们在开发一个程序中,不止一个源程序文件,我们要在整个工程中编辑源代码,就需要经常在文件间进行切换,这时,可以使用命令:
:e filename
切换到目标文件,而不需要退出vi。
编辑完成,要make,直接输入make命令,如果有错误,该命令执行完毕后,会自动跳到第一个错误的地方,还有几个命令可以在错误行之间定位:
:cc 显示错误信息。
:cn 显示下一条错误信息。
:cp 显示前一条错误信息。
:cl 列出所有错误。
五、其它
1、括号匹配。
包括{} [] ()的匹配,在某一个括号上按下%,便会自动跳到与之匹配的那个括号处,再按一下%,就会跳回来。
2、获得在线帮助。
在编辑程序源代码时,如果对某个系统函数的用法不是很明确,把光标移到这个函数下,按下“K”,便>会跳出这个函数的man帮助信息。
3、暂时回到shell。
输入命令:sh
4、在vi中执行shell命令。
输入:!cmd,比如:!ls。
阅读(897) | 评论(0) | 转发(0) |