命令模式:
进入:其他模式都可以直接转换到命令模式,按Esc即可。如果一次不行就多按几次。
主要用来浏览和操作文件,可以使用相关的快捷键,例如:
gg:跳到文件首
ngg:跳到文件n行
shitf + g:跳到行文件尾
yy: 复制光标所在的一行
yny:复制光标处起的n行
p:粘贴
16进制查看
gvim -b binaryfile
:%!xxd -g 1
:%!xxd -g 2
:%!xxd -g 3
插入模式:
进入:按Esc进入命令常模式,然后:
按 i 在光标前插入
按 I 在行首插入
按 a 在光标后插入
按 s 删除光标所在的字符再插入
按 A 在行末插入
按 o 在当前行之下新建行
按 O 在当前行之上新建行
按 S 删除光标所在行再插入
插入模式就是用来修改文件内容的。
CTRL-o -> 回到上一次的jump (go back)
CTRL-i -> 跳回下一个 (go forward)
g-f: 打开光标所在词的文件 (go file)
查找单词:/+查找的单词
g-d :直接按下g后d,光标就直接定位到了这个单词在文本中的第一个地方,然后你就可以使用 'n'来顺序查找了
统计匹配
%s///gn
居中光标所在行
zz
居中光标所在行zb
zoom base/将光标所在的行跳转到当前页面的最底部zt
top/将光标所在的行跳转到当前页面的最顶部
ctrl+b 页面向后退一页/backward
ctrl+f 页面向前一页/forward
VIM列操作 及 VisIncr
https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/
关于VIM统计命令
都是冒号命令哈:
:%s/./&/gn 统计字符数
:%s/i+/&/gn 统计单词数
:%s/^//n 统计行数
:%s/keyword/&/g 统计任何地方出现的 "keyword" (这个效率差点哈, 因为会尝试替换)
:%s/keyword/&/gn 统计任何地方出现的 "keyword" (这个不错哈)
针对红色一行命令, 简单解释一下,这种命令实际上是报告(统计)整个文件中某个关键字出现的数目,命令分解如下:
keyword 匹配一个字 (word)
g 替换行内所有出现的匹配 (:help :s_flags)
n 只报告匹配的数目,并不真正进行替换(:help :s_flags)
删除包含特定字符的行:
1. 全局删除匹配到的行
:g/pattern/d
- 1
2. 删除第1-10行里的匹配到的行
:1,10g/pattern/d
- 1
3. 删除不包含指定字符的行
:v/pattern/d
- 1
或
:g!/pattern/d