vim使用
快捷键
| 光标移动 | 说明 |
|---|---|
h或 ← |
向左移动光标 |
j或↓ |
向下移动光标 |
k或↑ |
向上移动光标 |
l或→ |
向右移动光标 |
Ctrl+f或Page Down |
屏幕向下移动一页 |
Ctrl+b或Page Up |
屏幕向上移动一页 |
Ctrl+d |
屏幕向下移动半页 |
Ctrl+u |
屏幕向上移动半页 |
+ |
光标向下移动一列 |
- |
光标向上移动一列 |
n+空格 |
n代表数字,光标向右移动n列 |
0或功能键Home |
数字0,光标移动到当前列第一个字符 |
$或功能键End |
光标移动到当前列最后一个字符 |
H |
光标移动到首行第一个字符 |
M |
光标移动到屏幕中间行第一个字符 |
L |
光标移动到屏幕末行第一个字符 |
G |
移动到文件最后一列 |
n+G |
n代表数字,移动光标到文件的第n列 |
gg |
移动到文件的第一列 |
n+回车 |
n代表数字,光标向下移动n列 |
| 搜索-替换 | 说明 |
|---|---|
/word |
向光标下方搜索字符 |
?word |
向光标上方搜索字符 |
n |
这个 n 是英文按键。代表“重复前一个搜寻的动作”。举例来说,如果刚刚我们执行/test 去向下搜寻 test这个字串,则按下 n 后,会向下继续搜寻下一个名称为test的字串。如果是执行 ?vtest 的话,那么按下 n 则会向上继续搜寻名称为test的字串! |
N |
与小n功能相反 |
:n1,n2s/word1/word2/g |
n1 与 n2 为数字。在第 n1 与 n2 列之间寻找 word1 这个字串,并将该字串取代为word2 !举例来说,在 100 到 200 列之间搜寻 test 并取代为 TEST 则:“:100,200s/test /TEST /g” |
:1,$s/word1/word2/g |
从第一列到最后一列寻找 word1 字串,并将该字串取代为word2 ! |
1,$s/word1/word2/gc |
从第一列到最后一列寻找 word1 字串,并将该字串取代为word2 !且在取代前显示提示字符给使用者确认(confirm)是否需要取代! |
| 删除-复制-粘贴 | 说明 |
|---|---|
x,X |
在一列字当中,x 为向后删除一个字符(相当于 [del] 按键),X 为向前删除一个字符(相当于 [backspace] 亦即是倒退键 |
nx |
n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符,“10x”。 |
dd |
删除光标所在的那一整列 |
ndd |
n 为数字。删除光标所在的向下 n 列,例如 20dd 则是删除 20 列 |
d1G |
删除光标所在到第一列的所有数据 |
dG |
删除光标所在到最后一列的所有数据 |
d$ |
删除光标所在处,到该列的最后一个字符 |
d0 |
那个是数字的 0 ,删除光标所在处,到该列的最前面一个字符 |
yy |
复制光标所在的那一列 |
nyy |
n 为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20 列 |
y1G |
复制光标所在列到第一列的所有数据 |
yG |
复制光标所在列到最后一列的所有数据 |
y0 |
复制光标所在的那个字符到该列行首的所有数据 |
y$ |
复制光标所在的那个字符到该列行尾的所有数据 |
p,P |
p 为将已复制的数据在光标下一列贴上,P 则为贴在光标上一列!举例来说,我目前光标在第 20 列,且已经复制了 10 列数据。则按下 p 后,那 10 列数据会贴在原本的 20 列之后,亦即由 21 列开始贴。但如果是按下 P 呢?那么原本的第 20 列会被推到变成 30 列。 |
J |
将光标所在列与下一列的数据结合成同一列 |
c |
重复删除多个数据,例如向下删除 10 列,[ 10cj ] |
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 |
退出编辑模式,回到一般指令模式中 |
从一般指令模式进入指令列模式下对应的常用操作键:
| 操作 | 说明 |
|---|---|
:w |
保存 |
:w! |
强制保存 |
:q |
不报错退出 |
:q! |
强制不保存退出 |
:wq |
保存并退出 |
ZZ |
保存修改后退出 |
:w+filename |
另存为指定文件名 |
r+filename |
读入指定文件的内容到光标下面 |
n1,n2 w+filename |
将n1到n2列的内容存储到指定文件名 |
:!command |
暂离vi/vim编辑执行后面的command,按Enter后返回 |
:set nu |
显示行号 |
:set nonu |
取消显示行号 |
:nohl |
取消搜索高亮显示,永久禁用搜索高亮显示可执行命名echo "set nohlsearch" >> ~/.vimrc |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 12零9!