vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
命令模式:
vim 文件名 // 如果这个文件不存在就是新建文件 存在就是修改文件
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。 如果是编辑模式,需要先退出编辑模式!ESC
移动光标的方法
h 或 向左箭头键(←) | 光标向左移动一个字符 |
---|---|
j 或 向下箭头键 (↓) | 光标向下移动一个字符 |
k 或 向上箭头键(↑) | 光标向上移动一个字符 |
l 或 向右箭头键(→) | 光标向右移动一个字符 |
+ | 光标移动到非空格符的下一行 |
- | 光标移动到非空格符的上一行,配置文件中空格较多! |
n < space> | 那个 n 表示『数字』,例如 20 。快捷切换光标, 数字 + 空格 |
0 或功能键[Home] | 这是数字『 0 』:移动到这一行的最前面字符处 (常用) |
$ 或功能键[End] | 移动到这一行的最后面字符处(常用) |
G | 移动到这个档案的最后一行(常用) |
nG | n 为数字。移动到这个档案的第 n 行。 |
gg | 移动到这个档案的第一行,相当于 1G (常用) |
数字< Enter> | n 为数字。光标向下移动 n 行(常用) |
搜索替换
/word | 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!(常用) |
---|---|
?word | 向光标之上寻找一个字符串名称为 word 的字符串。 |
n | 这个 n 是英文按键。代表重复前一个搜寻的动作 |
N | 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 |
删除、复制与粘贴
x, X | 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) |
---|---|
dd | 删除游标所在的那一整行(常用) |
ndd | n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用) |
yy | 复制游标所在的那一行(常用) |
nyy | n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) |
u | 复原前一个动作。(常用) |
[Ctrl]+r | 重做上一个动作。(常用) |
输入模式:
i, I | 进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。(常用) |
---|---|
a, A | 进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』,A 为『从光标所在行的最后一个字符处开始输入』。(常用) |
o, O | 进入输入模式(Insert mode):这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』;O 为在目前光标所在处的上一行输入新的一行!(常 用) |
r, R | 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) |
[Esc] | 退出编辑模式,回到一般模式中(常用) |
底线命令模式
在底线命令模式中,基本的命令有(已经省略了冒号):wq
q
退出程序
w
保存文件
!
使用 ! 为强制离开不储存档案
:set nu
显示行号,设定之后,会在每一行的前缀显示该行的行号