Gvim这个编辑器强大,快捷,而且很小,够自由。但是,windows用习惯了的,用起Gvim来,难免刚刚开始不适应。相信用一段时间你就会喜欢上它了。
方法/步骤
1、光标的移动:这里说的光标移动是指在正常模式下光标的移咿蛙匆盗动。最简单是方向键,它即使在插入模式下仍可使用,但不是最方便。h在当前行向左移动一个字符,或者Backspace。j移动到霍丶魇汜下一行,或者Enter。k移动到上一行,或者-号。l在当前行向右移动一个字符,或者空格键Space。Ctrl+f向前滚动一页,或者PageDown。Ctrl+b向后滚动一页,或者PageUp。0(零)移至行首(包含空白字符,如缩进的空格),或是Home键。$移至行尾,或End键。^移到行首第一个非空白字符。G移动到文档末尾,或者gg移动到文档开头。w移动到下一word的开头。b移动到上一word的开头。e移动到本word或者下个word的末尾。ge移动到上个word的末尾。大写的WBE和wbe效果一样但会忽略像.-等特殊字符。中文因为是连在一起的,所以如果没有空格或者数字、英文标点的话,将视为一个word。(光标移至句首,句子是以.?!标点来判断的。)光标移至句尾{光标移至段落的开头,段落是以空白行来判断的。}光标移至段落的结尾H将光标移至屏幕顶第一个非空白字符。M光标移至屏幕中间第一个非空白字符。L光标移至屏幕底第一个非空白字符。这和PageDown,PageUp不一样,内文内容并未动,只是光标在动而已。:n将光标定位到第n行。n|将光标移动到本行第n个字符。
2、模式编辑:vim常用的模式有:命令模式(command-mode),插入模式(insert-mode),可视模式(visual-mode),正常模式(normal-mode)。模式的转换:其它模式==>命令模式按Esc键正常模式==>插入模式按i在光标前插入按I在行首插入按a在光标后插入按s删除光标所在的字符再插入按A在行末插入按o在当前行之下新建行按O在当前行之上新建行按S删除光标所在行再插入正常模式==>命令模式按:(shift加分号)正常模式==>可视模式按v可视模式按V可视块模式
3、打开和退出::etest.txt打开test.txt文件进行编辑,文件不存在则创建。:w保存文档,但不退出vim编辑器。[3]:q不保存文档,退出vim编辑器。:wq保存文档然后退出vim编辑器。按ZZ(注意Z是大写的,并且不是在命令模式)或者:x效果是一样的。:q!放弃所有修改强制退出,按:q不能退出时就试试这个吧。
4、文件操作:Exp浏览文件夹:Sex分割窗口浏碎茯钍婵览文件夹:args查看当前打开的所有文件:ls显示缓冲区:cd显示当前文件夹大小写转换guu将当前行全部小写gUU将当前若益肽屙行全部大写Vu将选中的行(单行或多行)全部小写VU将选中的行(当行或多行)全部大写g~~将当前行小写的转换成大写,大写的转换成小写insert模式ctrl+n(p)自动补全ctrl+w回删一个wordctrl+u删除到行首(包括行首空白)ctrl+t向右缩进ctrl+d向左缩进ctrl+h对应Backspace键ctrl+j对应回车键ctrl+m貌似也是回车键使用Ctrl-O就可以临时切换到normalmode,执行一个命令后自动返回insertmode。"{a-z}yy将复制的行存储在[a-z]指定的存储器中nG移动到第n行//重复上一次/<regexp>搜索
5、编辑(缩进,全文缩进)x删除当前光标文字J将下一行接到当前行末尾rx将当前光钿泼兽匿标字符替换为x.重复前一个编辑操作命令,dd...会删除4行文字, J....可以连接4行文字d绺从萦米可以用来结合任何移动命令dw删除当前光标到下一个单词开始处的内容d%删除范围首尾字符之间的内容d)删除到下一个句子结束的位置d}删除当前段落的剩余内容du取消删除准备I在当前行开始插入A在当前行末尾开始插入o在当前行下新建一空行以供插入O会在当前上方新建一空行cc用空白行代替当前行内容c$删除当前位置到当前行结束内容c0删除当前位置到当前行开始内容==对当前行自动缩进gg=G对全文进行自动缩进<<(>>) 对整行进行缩进
6、视图模式ctrl+q块选择替换:s/regexp/replacement/g替换当前行:%s/regrep/replacement/g全文替换,如果一行有多个匹配只替换第一个:%s/regexp/replacement/gc全文替换, 并在每次替换之前进行提示:%s/str/\r/g替换并换行养成每次编辑之后随时按esc退出插入模式进入命令模式的习惯能熟练使用各种组合命令是vi高手的一个标志
7、常用插件calendar:\cal左边垂直位置打开日历\caL下面水平位置打开日历:Calendaryearmonth根据制定的日期打开日历t回到今天q退出日历MRU最近打开的文件:MRU显示最近打开的文件列表NERDTree在左边显示文件目录:NERDTree打开NERDTree插件o展开折叠选中文件夹t在tab页打开选中文件T在后台标签页打开!执行此文件p到上层目录P到根目录K到第一个节点J到最后一个节点u回到上层目录m显示文件系统菜单?帮助q退出
8、如何找到上次编辑的文件?Ctrl+O(按两次)
9、如何选择、复制或者查找光标所在的单词?在VIM中用iw或者aw表示一个单词,两者稍有区别。选择光标所在的单词:viw(v进入visual模式,然后iw)复制光标所在的单词:yiw
10、如何去掉或者插入^M这样的字符?在VIM的插入模式或者命令行中用输入^M这样的特殊字符,例如输入:%s///g实际显示是:%s/^M//g就可以去掉文件中所有的^M。同理,要在文件中输入^M只要按即可。这个问题往往发生在WINDOWS/DOS系统和UNIX系统之间交换文件时,因为这两类系统对于文本的“换行”概念解释不同。所以,还有一个解决方法就是对这类文本进行转换。vim内部就可以做这件事情。首先打开文本,然后setfileformat=unix再从新保存该文件复盖原文件就可以去除:^M了