VIM
插件
syntastic
语法检查
flake8
Python语法检查插件
sudo apt-get install python-flake8
NerdTree
VIM中浏览文件的插件
常用命令
查找
按下/
键,输入想要查询的内容,回车即可;
n:跳到下一个匹配的内容; N:跳到上一个匹配的内容。
全局查找
:vimgrep 搜索文本 搜索路径/**
用上面命令搜索后,用下面命令进一步查找。
:cn[ext] 跳到下一个匹配文本
:cp[revious] 跳到上一个匹配文本
:cnf[ile] 跳到下一个文件
:cpf[ile] 跳到上一个文件
:cr[ewind] 跳到开始位置
:cla[st] 跳到结束位置
替换
”s”代表替换,part1代表查找的内容,part2代表替换的内容,”%”代表所有行,”g”代表替换整行里所有的内容(如果不加”/g”则只替换每行第一个匹配part1的地方)
:s/part1/part2 # 用part2替换当前行中第1个part1
:s/part1 /part2/g # 用part2替换当前行中所有的part1
:%s/part1/part2 # 用part2替换所有行中每行第1个part1
:%s/part1/part2/g # 用part2替换所有行中所有的part1
:2,50s/part1 /part2 # 用part2替换第2行到第50行中每行第1个part1
:2,50s/part1/part2/g # 用part2替换第2行到第50行中所有的part1
:.,+3s/part1/part2 # 用part2替换当前行以及当前行后面的三行中每行第1个part1
:.,+3s/part1/part2/g # 用part2替换当前行以及当前行后面的三行中所有的part1
复制/粘贴
y表示拷贝, d表示删除, p表示粘贴。
yw 表示拷贝从当前光标到光标所在单词结尾的内容.
dw 表示删除/剪切从当前光标到光标所在单词结尾的内容.
y0 表示拷贝从当前光标到光标所在行首的内容.
d0 表示删除/剪切从当前光标到光标所在行首的内容.
y$ 表示拷贝从当前光标到光标所在行尾的内容.
d$ 表示删除/剪切从当前光标到光标所在行尾的内容.
yfa 表示拷贝从当前光标到光标后面的第一个a字符之间的内容.
dfa 表示删除/剪切从当前光标到光标后面的第一个a字符之间的内容.
yy 表示拷贝光标所在行.
dd 表示删除/剪切光标所在行.
D 表示删除/剪切从当前光标到光标所在行尾的内容.
缩进
在不同的模式中调整缩进的方法不同,
插入模式:Ctrl+T增加缩进,Ctrl+D减小缩进。
命令模式:» 右缩进,« 左缩进,注意n« 或 n»是缩进多行,如4»
可视模式:< 、 > 用于左右缩进, n< 、 n> 可做多节缩进,如 2> 。
多行注释
-
Ctrl+V 进入列模式,向下或向上移动光标,把需要注释的行的开头标记起来;然后按大写的I,再插入注释符(比如#);再按Esc,就会全部注释。
-
使用替换方式进行多行注释
:s/^/# # 用"#"注释当前行
:2,50s/^/# # 在2~50行首添加"#"注释
:.,+3s/^/# # 用"#"注释当前行和当前行后面的三行
:%s/^/# # 用"#"注释所有行
字符映射
输入mail会变成邮箱
:ab mail example@gmail.com
快速移动光标
w(e) 移动光标到下一个单词.
b 移动光标到上一个单词.
0 移动光标到本行最开头.
^ 移动光标到本行最开头的字符处.
$ 移动光标到本行结尾处.
H 移动光标到屏幕的首行.
M 移动光标到屏幕的中间一行.
L 移动光标到屏幕的尾行.
gg 移动光标到文档首行.
G 移动光标到文档尾行.
c-f (即ctrl 键与f 键一同按下) 本命令即page down.
c-b (即ctrl 键与b 键一同按下, 后同) 本命令即page up.
'' 此命令相当有用, 它移动光标到上一个标记处, 比如用gd, * 等查找到某个单词后, 再输入此命令则回到上次停留的位置.
'. 此命令相当好使, 它移动光标到上一次的修改行