,# Vim教程(个人常用快捷键)
入门命令
- 上下左右
k j h l
- 插入,撤销
a,A,I,i,o,O,u
- 保存,退出
wq!,q!
基本命令
跳转
gg : 第一行
G : 最后一行
23G : 跳到23行
0 : 行首
$ : 行末
w : 下一个单词
b : 上一个单词
[+Ctrl+i : 函数,变量定义处
Ctrl+i : 下一个光标处
Ctrl+o : 上一个光标处
CTRL-D : 向下半页
CTRL-U : 向上半页
删除,剪切
dd : 剪切当前行
复制
yy : 复制当前行
粘贴
p : 粘贴复制的内容
举一反三: 将基本命令与跳转命令进行组合
2dd : 剪切光标所在的下两行
dw : 剪切光标所在的单词
yw : 复制单词
y$ : 复制光标所在到末尾
9yy : 复制光标所在下9行
升级命令
查找
查找 hello
/hello,(/向下,?向上,支持正则)
跳转到下一个 hello
n
替换
替换第i行到j行之间所有hello为world :i,js/hello/world/g
复制
复制第5行 到 第10行 的内容到 第20行 :5,10 co 20
多选编辑
Ctrl+v+(hjkl)
同一窗口打开文件
并排 :vsplit file1.py
并列:split file2.py
跳转:Ctrl + ww
举一反三
替换
替换光标到文末的所有hello为world :,$s/hello/world/g
如果要替换/为\怎么办:,$s@/@\\@g
其实分割符可以是@#$%..
多选编辑
Ctrl+v+(G,$...)
删除
删除1到22行:1,22d
比较两个文件
vimdiff f1.py f2.py
大小写
当前单词变大写 gUw
小写 guw
guu
3guu
其他技巧
折叠代码
按段落折叠
zfap
打开一个折叠
zo
关闭折叠
zc
打开光标下折叠
zO
删除所有
zD
zR
关闭所有
zM
重复上一个指令
.
vim中使用shell
:pwd,
:cd
查看历史记录
:history
Vim插件和.vimrc
插件管理
安装 Pathogen
pep8
Pycodestyle
自动补全
YouCompleteMe
插件安装
装完Pathogen以后,在bundle里面直接git clone 插件就ok
.vimrc配置
参见插件自己的readme.md