在这篇博文中,将会讲解vim中非常实用也非常重要的命令(个人认为),包括了搜索和mark。
编辑神器VIM命令总结(一)
编辑神器VIM命令总结(二)
小白都能看懂的超详细ideavim自定义快捷键讲解
4. 查找
4.1 简单查找
- 查找命令:"/String",例如"/hello" 就是指要查找hello单词
- 备注,.*[]^%/?~$都是有特殊涵义的,如果要查找这些特殊字符,则需要在特殊字符前面加一个""
- /表示进行正向查找;?表示进行反向查找。
4.1.1 历史记录
假设执行了三个查找命令:
/one
/two
/three
现在,输入/启动一次查找,但是不按下回车键,现在按(上箭头),Vim会把光标回退到命令"/three"查找的记录上,继续按则会继续往前回退。按则在历史记录中进行反向查找
4.2 字符太长,快速指定一个字符串来查找
例如,你现在需要查找一个长字符串"TheLongestString",你只需要把光标停在该字符串上,然后使用命令"*"即可找到该字符串,如果想查找该字符串出现的第n词位置,则使用命令
"n*"
即可找到该单词出现的n次位置。例如使用命令
"3*"
,就可以查找光标下单词第三次出现的地方。
而"#"命令则是向相反的方向查找。
4.3 模糊查找
- 查找结尾的单词,比如查找单词"abc",则可以使用/abc>来查找。
- 查找开头的单词,比如查找单词"abc", 则可以使用/</abc来查找。
4.4 显示高亮
使用命令:set hlsearch
来开启高亮查找,这个功能开启之后,会显示与查找结果相同的所有内容。
命令:set nohlsearch
会关闭高亮查找
4.5 高亮查找
使用命令:set incsearch
可以使得你在输入字符串搜索的过程中就显示匹配点。用这个功能可以检查是否被找到正确的匹配,这时输入就可以真正地跳到匹配的地方去。
4.6 行间查找
4.6.1 行首查找
^ 字符匹配行首,比如使用命令:"/^the",则会匹配到行首的the,如下
the solder holding one of the chips melted and the
xxx
4.6.2 行尾查找
$ 字符匹配行尾,比如使用命令:"/$the",则会匹配到行尾的the,如下:
the solder holding one of the chips melted and the
xxx
4.7 匹配任何单个字符
点"."字符匹配任何字符,比如"c.m"匹配一个字符串,那么它在如下句子中能匹配到的字符串是:
computer and custom
则computer和custom都可以匹配。
5 使用标记
5.1 跳转回原来的地方
使用命令
:''
跳转回原来的地方。
一般每次你执行一个会将光标移动到本行之外的命令,该移动即被称为一个"跳转"。而CTRL+O命令则跳到一个"较老"的地方(O表示older)。CTRL+I则跳到一个"较新"的地方。
5.2 查看你可以跳往的位置的列表
使用":jumps"命令可以输出你可以跳往的位置的列表,最后一个你使用的标记会用">"符号标记出来。
5.3 有名字的标记(极其有用)
5.3.1 定义标记
要跳到一个你定义的标记,你可以使用命令
'{mark}
vim允许你在文本中放置自定义的标记,使用命令
ma
来将"a"标记到当前的光标位置,当然你可以在文本中使用26个字母来标记。
5.3.2 移动到标记
这里的{mark}指的是标记的那个字母,例如要移动到标记a处,则使用命令
'a
这里要注意的是,小写字母a-z定义的是局部的标记,而大写的字母A-Z定义的是全局的标记,也就是说可以通过定义大写的标记可以在多文件间来回切换标记。这一点非常重要。
例如:使用如下命令标记全局的mark
mA
则标记了该位置为全局标记,无论在任何一个文件都可以实用命令
'A
跳转到改mark标记的位置。这样就可以快速的在多文件之间切换。
5.3.3 查看所有的标记
使用命令
:marks
就可以查看所有的标记信息