vim教程(一)--快捷键
用了一段时间的VIM,感觉越来越离不开了。在使用VIM的过程中,从生存->适应->顺畅过程中走了不少的坑,现在正好有时间,打算整理下vim的爬坑过程。
接触VIM首先第一件事就是熟悉VIM的快捷将,本文将整理VIM常用的快捷键,有了这些基本上也够用了~~
全选
ggVG |
稍微解释一下上面的命令
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
“+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
搜索
Vim查找支持正则表达式,例如/vim$匹配行尾的”vim”。 需要查找特殊字符需要转义,例如/vim$匹配”vim$”。
/foo |
n 继续搜索下一个匹配的单词
N 继续搜索上一个匹配的单词
:nohl 或 :noh 取消搜索高亮
复制命令
“+y 复制当前行到系统剪切板
“+nyy 复制n行到系统剪切板
yy复制游标所在行整行。或大写一个Y。
2yy或y2y复制两行。 ㄟ ,请举一反三好不好! :-)
yG 复制当前光标行至末尾
y1G 复制当前光标行至文章首行
yxj 复制当前光标行往下x行,x代表需要复制的行数
ye 复制1个词
yxe 复制X个词
粘贴命令
"+p
从系统剪切板粘贴信息
p小写p代表贴至游标后(下)。
P大写P代表贴至游标前(上)。
删除多行
xdd 删除当前光标以下x行
dd 删除当前光标所处行
de 删除一个词,
插入行
按esc进入命令行模式
O 当前光标行上插入空白行
o 当前光标行下插入空白行
分割窗口
ctrl + w + n 横向新建窗口
ctrl + w + v 竖向新创窗口
ctrl + w + q 关闭当前窗口
ctrl + 方向键 窗口间移动
替换命令
:{作用范围}s/{目标}/{替换}/{替换标志} |
作用范围:
参数 | 说明 | 例子 | 例子说明 |
---|---|---|---|
没有参数,表示当前光标行 | :s/foo/bar | 将当前行的foo替换为bar | |
% | 全文 | :%s/foo/bar | 将全文的foo替换为bar |
x,y | x-y行 | :2,3s/foo/bar | 将2-3行的foo替换为bar |
.,+x | 当前光标行接下来的x行 | :.,+2s/foo/bar | 将当前光标行的与下面的2行的foo替换为bar |
替换标志:
| 参数 | 说明 | 例子 |
| :—: | :—: | :—: | :—: |
| i | 表示大小写不敏感查找 | :%s/foo/bar/i |
| I | 表示大小写敏感查找 | :%s/foo/bar/I |
| gc | 回车后Vim会将光标移动到每一次"foo"
出现的位置,并提示 | :%s/foo/bar/c |
多行注释
1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;
2. 在行首使用上下键选择需要注释的多行;
3. 按下键盘(大写)“I”键,进入插入模式;
4. 然后输入注释符(“//”、“#”等);
5. 最后按下“Esc”键。
注:在按下esc键后,会稍等一会才会出现注释,不要着急~~时间很短的
另外一种方法(字符串替换法):
注释掉10~20行
c和java等使用//
注释的语言
:10,20s/^//// |
python
:10,20s/^/# |
删除多行注释
1. 首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式;
2. 选定要取消注释的多行;
3. 按下“x”或者“d”.
注意:如果是“//”注释,那需要执行两次该操作,如果是“#”注释,一次即可
移除单行注释:在对应行按x
另外一种方法(字符串替换法):
注释掉10~20行
c和java等使用//
注释的语言
:10,20s/^//// |
python
:10,20s/^# |
跳转行
G: 最后一行
gg: 第一行
如跳转12行::12
就可以了
撤销
可视化模式下:
u 回退
ctrl + r 取消回退
ctrl + p 补全
刷新文件
:e
或
:e!
移动行
nmap <M-j> mz:m+<cr>`z |
把上面代码放到vim的配置文件_vimrc,这段代码实现的效果是
在普通模式 或可视模式下选择一段代码,
同时按[Alt]+[j] 或[Alt]+[k] 可控制代码向上、向下移。
代码缩进
gg=G
解析:
gg 到达文件最开始
= 要求缩进
G 直到文件尾
8==
格式化当前光标接下来的8行 8=
vim教程(一)--快捷键