vim模式
模式种类
编辑模式(命令模式)
输入模式
末行模式
模式转换
编辑–>输入:
- i: 在当前光标所在字符的前面,转为输入模式
- a: 在当前光标所在字符的后面,转为输入模式
- o: 在当前光标所在行的下方新建一行,并转为输入模式
- I: 在当前光标所在行的行首,转为输入模式
- A: 在当前光标所在行的行尾,转为输入模式
- O: 在当前光标所在行的上方新建一行,并转为输入模式
输入–>编辑
ESC键
编辑–>末行
输入冒号:
即可
1 | :set nu //显示行号 |
打开文件
1 | vim /path/to/somefile |
打开文件之后处于编辑模式
关闭文件
末行模式关闭文件
- :q 退出
- :wq 保存并退出
- :q! 不保存并退出
- :w 保存
- :w! 强行保存(管理员)
- :x 保存并退出
编辑模式下退出
- ZZ(同时敲俩下大写的z)
移动光标
逐字符移动
- h: 左
- l: 右
- j: 下
- k: 上
nh
: 移动n个字符
以单词为单位移动
- w: 移动到下一个单词的词首
- e: 移动到当前或者下一个单词的词尾
- b: 移动到当前或者前一个单词的词首
都支持与数字组合移动n个单位,例如3w,3e
行内跳转
- 0: 绝对行首
- ^: 行首的第一个非空白字符
- $: 绝对行尾
行间跳转
- nG: 跳转至第n行
- G: 跳转至最后一行
- 末行模式直接给出行号即可跳转
翻屏
ctrl+f
: 向下翻一屏
ctrl+b
: 向上翻一屏
ctrl+d
: 向下翻半屏
ctrl+u
: 向上翻半屏
删除单个字符
x
: 删除光标所在处的单个字符
nx
: 删除光标所在处以及向后的工n个字符
删除命令
d
命令跟跳转命令组合使用
例如:dw d0 de db; 2dw, 2de, 2db
dd
: 删除当前光标所在行ndd
: 删除光标所在行在内的n行
末行模式:
start,endd
.: 表示当前行
$: 表示最后一行
+n: 向下的n行
例如:
:1,8d 删除第1行到第8行
粘贴命令
p
: 如果删除的或者复制的是整行内容,则粘贴至光标所在行的下方;如果不是整行,则粘贴至光标所在字符的后面
P
: 如果删除的或者复制的是整行内容,则粘贴至光标所在行的上方;如果不是整行,则粘贴至光标所在字符的前面
复制命令
y
用法同d
命令
修改:先删除内容,再转换为输入模式
c
用法同d
命令
替换
r
R
: 替换模式
撤销编辑操作
u
:撤销前一次的编辑操作
连续u
命令,可撤销此前的n次操作
nu
: 直接撤销最近的n次编辑操作,n: 1,2,3…
撤销最近一次撤销:ctrl+r
重复前一次的编辑操作
.
可视化操作
v
: 按字符选取
V
: 按矩形选取
查找
/Pattern
?Pattern
n
N
查找并替换
在末行模式下使用s
命令
start,ends/pattern/string/gi