vim中,移动光标到下一个单词的词首,使用命令”w“,移动光标到上一个单词的词首,使用命令”b“;移动光标到下一个单词的结尾,用命令”e“,移动光标到上一个单词的结尾,使用命令”ge“。
上面这些命令都使用’iskeyword‘选项中的字符来确定单词的分界,还有几个命令,只把空白字符当做”单词“的分界。当然,这里说的”单词“已经不是传统意义上的单词了,而是由非空白字符构成一串字串。命令”W“移动光标到下个字串的开始,命令”B“移动到上个字串的开始;命令”E“移动到下个字串的结尾,命令”gE“移动到上个字串的结尾。和上面的命令比较一下,发现什么规律没有?
命令小结 v 进入字符可视化模式 (移动一次选择一个字符) V 进入行可视化模式 ctrl-V 进入块可视化模式 ctrl-Q gv 选中前一次可视化模式时选择的文本 o 光标移动到选中文本的另一结尾 O 光标移动到选中文本的另一角落
zz 光标移动到最顶部
zt 光标移动到中部
zb 光标移动到最底部
http://www.tuicool.com/articles/UB36zq
查看文首的一些内容,先移动到行首,设置一个标记 s (start):
ms
然后移动到你需要处理的地方,再设置一个标记 e (end):
me
现在你可以随意移动,当你需要看开头的地方,可以使用这个命令移到那里:
's
然后使用 '' 跳回来。或者用 'e 跳到你正在处理的文尾的地方。
这里使用 s 和 e 作标记名没有特别的含义,只是为了好记而已。
你可以用如下命令取得所有的标记的列表:
:marks
你会注意到有一些特殊的标记,包括:
' 跳转前的位置 " 最后编辑的位置 [ 最后修改的位置的开头 ] 最后修改的位置的结尾
补充:如果想要删除marks,可用命令delmarks + markname 。
vimgrep
vimgrep /匹配模式/[g][j] 要搜索的文件/范围 g:表示是否把每一行的多个匹配结果都加入 j:表示是否搜索完后定位到第一个匹配位置 vimgrep /pattern/ % 在当前打开文件中查找 vimgrep /pattern/ * 在当前目录下查找所有 vimgrep /pattern/ 在当前目录及子目录下查找所有 vimgrep /pattern/ *.c 查找当前目录下所有.c文件 vimgrep /pattern/ /* 只查找子目录
cn 查找下一个 cp 查找上一个 copen 打开quickfix cw 打开quickfix cclose 关闭qucikfix help vimgrep 查看vimgrep帮助
修改显示文件类型 set filetype=php
vim以sudo权限保存
:w !sudo tee %
vim的normal模式
光标定位到首行,执行:I#<Esc> jVG选中之后的所有行 :'<,'>normal .这样刚刚选中的行都将执行.代表的最后一次操作。注:只要输入:就能实现:'<,'>,你可以注意VIm的左下角的提示。