转自:http://liuzhijun.iteye.com/blog/1827272,作者–zhijun
上一篇主要讲解了Vim的翻页(整页,半页,往上,往下),移动(单词,在一行中),拷贝(主要是y的各种组合)删除(主要是d的各种组合),今天主要简要讲解一下vim的配置(直接在当前session中通过命令配置)以及简单的搜索功能。
配置
注:以下配置只能在当前vim窗口(Session)中生效,以后我们再了解如何在把这些设置写入配置文件中。
:set filetype=python #设置默认语言
:set tabstop=4 #设置tab默认为4个空格
:set nu #vim窗口左侧显示行号
:set ruler #在vim窗口显示当前光标位置
如果是撤销以上配置,只需在命令前加no即可,如::set nonu
就是取消显示行号
撤销恢复
vim本身提供了一个vimtutor的命令,旨在为用户练习,可以随意操作,在终端输入vimtotur en就能打开英文的文本界面。
- 撤销工作:u(前提是在normal模式下)怎么确定当前的操作是不是normal呢,按一下esc键,如果不确定是否已经是normal,那就多按几下esc。
如果发现自己撤销的时候撤销过了头,那么ctrl +r 就可以实现重做 - 命令计数器:前面知道了翻页的操作,那么我想具体的往上或往下移动那个光标呢,那么你可以使用命令计数器来实现,如果我要向上移动8行,那么直接8k就ok了。
- 写程序时经常会寻找匹配的括号,用%就是实现该效果。
补个移动的命令
移动到最后一行:G
移动到指定的行就是nG
简单搜索
在normal模式下,使用斜杠 /string
(string 就是你要搜索的字符串),它是向下搜索,如果有多个string,那么可以用n往下查找。 ?string
与/string
相反,是往上搜,同样用n才查找下一个与之匹配的字符串。
继续查找。在第一次搜索后输入n将会继续进行上一次搜索,如果输入3n那么会找到后面第三个符合的字符串。大写的N会在反方向,也就是向上进行搜索。
如果是要忽略大小写,估计你都猜出来了,:set ignorecase
,这样一来,无论是String 还是 STRING都会去匹配。
上面这种方式如果是碰到一个aastringaa这样的字符串,同样会匹配到,如果把它忽略呢,用关键字 /\<string\>
“>”匹配结尾处,”<”匹配开始处。如:/\<string\>
如果是要象eclipse一样,选中某个变量,然后就可以把该变量出现的位置都会高亮,vim同样可以做到
:set hlsearch
(hl就是highlight的缩写)