vim模式
- 基本上分为分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线模式(Last line mode)。
命令模式
- 刚刚启动了vim,就会进入命令模式。
- 在此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。下面是常用的几个命令。
- i:切换到输入模式,以输入字符
- x:删除当前光标所在处的字符。
- :(冒号):切换到底线命令模式,在最底行输入命令。
- 若想要编辑文本,启动vim,进入命令模式,按下i,切换到输入模式。
- 命令模式只有一些最基本的命令,因此需要底线命令模式输入更多命令。
输入模式
- 进入输入模式,可以使用以下按键。
-
方向键: 在文本中移动光标
-
Page Up/Page Down: 上下翻页
-
ESC: 退出输入模式,切换到命令模式。
底线命令模式
- 在命令模式下按下:(英文冒号)就进入了底线命令模式。光标就移动到了最底下,就可以在这里输入一些底线命令了。
- 底线命令模式可以输入单个或者多个字符的命令,可用的命令非常多。
- 在底线命令模式中,基本的命令有(省略冒号): wq 退出程序并保存文件
vim按键
- 第一部分:一般模式可用的光标移动,复制粘贴,搜索替换等
移动光标的方法 |
|
h或向左箭头键(←) |
光标向左移动一个字符 |
j或向下箭头键(↓) |
光标向下移动一个字符 |
k或向下箭头键(↑) |
光标向上移动一个字符 |
l或向下箭头键(→) |
光标向右移动一个字符 |
ctrl+f |
向下移动一页,相当于[page down] |
ctrl+b |
向下移动一页,相当于[page up] |
ctrl+d |
向下移动半页 |
ctrl+u |
向上移动半页 |
+ |
光标移动到非空格符的下一行 |
- |
光标移动到非空格符的上一行 |
数字
|
输入数字按下空格后,会跳转到指定字符位置 |
0或者Home |
光标移动到行首 |
$或者End |
光标移动到行尾 |
H |
光标移动到屏幕最上方一行的第一个字符 |
M |
光标移动到屏幕*一行的第一个字符 |
L |
光标移动到屏幕最下方一行的第一个字符 |
G |
光标移动到这个档案的最后一行(常用) |
数字G |
如数字是20,会跳转到这个档案的第20行 |
gg |
移动到这个文档的第一行,等同于1G |
数字
|
如数字是20,光标向下移动20行 |
进入输入或取代的编辑模式 |
|
i,I |
进入输入模式(Insert mode);i为[从目前光标所在处输入],I为[在目前所在行的第一个非空格符处开始输入] |
a,A |
进入输入模式(Insert mode);a为[从目前光标所在的下一个字符开始输入],A为[从光标所在行的最后一个字符处开始输入] |
o,O |
进入输入模式(Insert mode);o为[在目前光标所在的下一行处输入新的一行],O为[从目前光标所在处的上一行输入新的一行] |
r,R |
进入输入模式(Insert mode);r只会[取代光标所在的那一个字符一次],R只会[一直取代光标所在的文字,直到按下ESC为止] |
[Esc] |
退出编辑模式,回到一般模式中 |
- 第三部分:一般模式切换到指令行模式的可用的按钮说明
指令行的储存,离开等指令 |
|
:w |
将编辑的数据写入硬盘档案中 |
:w! |
若文件属性为[只读]时,强制写入该档案。能不能写入,还是跟对该档案的权限有关 |
:q |
离开vim |
:q! |
强制离开不存储不保存 |
:wq |
存储后离开,若为:wq!表示强制存储后离开 |
ZZ |
如果档案动过,保存后离开,若没有动过,不保存离开 |
:w[filename] |
将编辑的数据储存成另一个档案(类似另存新档) |
:r[filename] |
在编辑的数据中,读入另一个档案的数据。亦即将文件名这个档案内容加到游标所在行后面 |
:n1,n2 w [filename] |
将n1到n2的内容储存成filename这个档案 |
:!command |
暂时离开vim到指令行模式下执行command的显示结果! |
:set nu |
显示行号,设定之后,会在每一行的前缀显示该行的行号 |
:set nonu |
与 set nu相反,为取消行号! |
Vim编辑器使用