统计单词
:%s/xxxx/&/gn
查找
/xxxx 或 ?xxx / 表示向下查找, ? 表示向上查找.其中xxx可以是正规表达式,关于正规式就不多说了.一般来说是区分大小写的, 要想不区分大小写, 那得先输入:set ignorecase
* 或 # 当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的下(上)一个单词. 同样, 再输入 n 查找下一个匹配处, 输入 N 反方向查找.
% 查找与光标所在处相匹配的反括号(在括号间跳转), 包括 () [] {}
光标移动
w(e) 移动光标到下一个单词.
b 移动光标到上一个单词.’
^ 移动光标到本行最开头的字符处.
$ 移动光标到本行结尾处.
gg 移动光标到文档首行.
G 移动光标到文档尾行.
ctrl + f page down.
ctrl + b page up.
' ' 同时按2次’,移动光标到上一个标记处, 比如用 gd, * 等查找到某个单词后, 该命令则回到上次停留的位置.
' . 先后输入 ‘ . 此命令移动光标到上一次的修改行.
` . 先后输入 ` . 此命令移动光标到上一次的修改点.
拷贝删除
yw 表示拷贝从当前光标到光标所在单词结尾的内容.
dw 表示删除从当前光标到光标所在单词结尾的内容.
y0 表示拷贝从当前光标到光标所在行首的内容.
d0 表示删除从当前光标到光标所在行首的内容.
y$ 表示拷贝从当前光标到光标所在行尾的内容.
d$ 表示删除从当前光标到光标所在行尾的内容.
yfa 表示拷贝从当前光标到光标后面的第一个a字符之间的内容.
dfa 表示删除从当前光标到光标后面的第一个a字符之间的内容.
特殊地:
yy 表示拷贝光标所在行.
dd 表示删除光标所在行.
D 表示删除从当前光标到光标所在行尾的内容.
u 撤销上一次操作。
替换
:s/aa/bb/g 将光标所在行出现的所有包含 aa 的字符串中的 aa 替换为 bb
:%s/aa/bb/g 将文档中出现的所有包含 aa 的字符串中的 aa 替换为 bb
:12,23s/aa/bb/g 将从12行到23行中出现的所有包含 aa 的字符串中的 aa 替换为 bb
:12,23s/^/#/ 将从12行到23行的行首加入 # 字符
:%s= *$== 将所有行尾多余的空格删除
:g/^\s*$/d 将所有不包含字符(空格也不包含)的空行删除.
set命令
:set encoding=utf-8 #设置编码格式
:set ff=unix #将文件格式转为unix格式 ,换行为\n
:set ff=dos #将文件格式转为dos格式,换行为\r\n
来源:https://www.cnblogs.com/blue-sea-sky/p/5712158.html