上古神器vim 使用指南和总结

vim 三种模式示意图

Vim三种模式.png

1.命令行模式

用户刚刚启动 vi/vim,便进入了命令模式。或者在任何时候,不管用户处于何种模式,只要按一下ESC键,即可使vi/vim进入命令模式。

进入输入模式

i: 插入光标前一个字符
a: 插入光标后一个字符
o: 向下新开一行,插入行首
I: 插入行首
A: 插入行未
O: 向上新开一行,插入行首

光标移动

←/h: 左移
→/l: 右移
↓/j: 下移
↑/k: 上移
  `例如向下移动30行, 可使用30↓/30j的组合按键`
n: n为数字. 向下跳转n行
nG: n为数字. 移动到指定行. 例如 20G 则会移动到这个档案的第 20 行
gg: 光标移动文件开头
G: 光标移动到文件末尾

复制粘贴删除剪切

yy: 复制当前行
nyy: n为数字. 复制光标所在(包括)的向下 n 行,例如 20dd 则是删除 20 行  
dd: 删除(剪切)光标所在行,n dd 删除指定的行数 
ndd: n为数字. 删除(剪切)光标所在(包括)的向下 n 行,例如 20dd 则是删除 20 行  
p: 在光标所在位置下一行,粘贴
x: 删除光标后一个字符,相当于 Del 
X: 删除光标前一个字符,相当于 Backspace

查找命令

/: 输入想要查找的字符串
n: 下一个查找结果
N:上一个查找结果

其他常用命令

ZZ: 保存并退出
u: 撤销上一步操作 
Ctr+r: 反撤销
.: 重复上一次操作的命令
>>: 文本行右移 
<<: 文本行左移
v: 可视模式,方向键选中文本 
  `可视模式可以配合 d、y、>>、<<实现对文本块的删除、复制、左右移`
Ctrl+v: 可视块模式, 上下选取文本
  `可视块模式可以实现批量注释: 
  选中想要注释的行, 再按Shift + i 进入编辑模式然后输入你想要在行首插入的字符,按ESC为每一行生效`

2.文本输入模式

在命令模式下输入插入命令i、附加命令a 、打开命令o都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi/vim当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。

代码提示

Ctrl+n/p: 文本自动补全

3.末行模式

在命令模式下按下:(英文冒号)就进入了末行模式。
按ESC键可随时退出末行模式返回命令模式

保存命令

:wq/x: 保存并退出
:q!: 不保存, 强制退出

显示取消行号

:set nu(set number):显示行号
:set nonu:取消显示行号

替换命令

:%s/abc/123/g 将所有行的abc替换成123
:1, 10s/abc/123/g 将第一行至第10行之间的abc替换成123

粘贴模式
如果从别的地方复制的文本直接在vim中粘贴可能会出现缩进错乱,可以通过粘贴模式解决

:set paste 进入粘贴模式
:set nopaste 推出粘贴模式

4. 其他技巧

打开文件直接跳转到某一行

打开文件test并跳转到16行
vim test +16

跳转到某一行

nG 跳转到第n行

在vim中执行shell命令

:!command

在vim中打开另一个文件

:sp file (split) 水平切分窗口
:vsp file (vsplit) 垂直切分窗口
Ctrl+w+方向键  切换到前/下/上/后一个窗格
Ctrl+w+h/j/k/l  同上
Ctrl+w+w  依次向后切换到下一个窗格中

5.常用配置

在用户家目录~下添加.vimrc配置文件

set nu  " 显示行号
set ai  " 自动缩进 
set tabstop=4  " 设置tab键为4个空格
set shiftwidth=4  " 自动缩进时使用4个空格
set softtabstop=4  " 设置tab键设置的4个空格可配退格键一次删除
set expandtab  " 输入tab时自动将其转化为空格
set autoindent  " 自动对齐

你可能感兴趣的:(上古神器vim 使用指南和总结)