Vim
Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富。
Vi/Vim的使用
基本上分为三种模式,分别是命令模式(commad mode),输入模式(Insert mode),底线命令模式(Last line mode)。这三种模式的作用分别是:
命令模式:
用户启动vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
常用的几个命令:
- i 切换到输入模式,已输入字符
- x 删除当前光标所在处的字符
- : 切换到底线命令模式,以在最底一行输入命令
若想要编辑文本:启动vim,进入命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上下翻页
- Insert,切换光标为输入/替换模式,光标将会竖线/下划线
- ESC,推出输入模式,切换到命令模式
底线命令模式
在命令模式下按下冒号就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令(已经省略了冒号)
- q 退出程序
- w 保存程序
常用的按键操作
按键 | 作用 |
---|---|
ctrl + f | 屏幕向下一页=page down |
ctrl + b | 屏幕向上一页=page up |
0 or Home | 移动到这一行的最前面 |
$ or End | 移动到这一行的最后面 |
G | 移动到文档的最后一行 |
gg | 移动到文档的一行 |
n + Enter | n为数字,光标为向下移动几行 |
搜索替换
/word | 寻找字符串 |
---|---|
?word | 向光标之上寻找一个字符串称为word的字符串 |
删除、复制与粘贴
x,X | x为向后删除一个字符,X为向前删除一个字符 |
---|---|
dd | 删除游标所在的那一整行 |
ndd | 删除向下n行 |
yy | 复制游标所在的那一行 |
nyy | 复制光标所在的向下n行 |
p,P | p将复制的数据在光标的下一行贴上,P贴在上一行 |
u | 复原上一个动作 |
ctrl+r | 重做上一个动作 |
. | 重复前一个动作的意思 |
一般模式切换到编辑模式的可用的按钮
i,I | 进入输入模式,i为从目前光标所在处输入,I为所在行的的一个非空格出开始输入 |
---|---|
a,A | 进入输入模式,a为光标所在的下一个字符出开始输入,A为所在行的最后一个字符处开始输入 |
o,O | 进入输入模式,o为在目前光标所在的下一行处输入新的一行,O为在目前光标所在的上一行处输入新的一行 |
r,R | 进入取代模式,r只会取代光标所在的那一个字符一次,R会一直取代光标所在的文字,直到按下ESC为止 |
一般模式切换到指令模式
w | 将编辑的数据写入硬盘中 |
---|---|
w! | 若文件属性为只读时,强制写入 |
q | 离开 |
q! | 若曾修改过档案,不想存储,使用!强制离开不存储 |
wq! | 储存后离开,强制 |
vim环境的变更
set nu | 显示行号 |
---|---|
set nonu | 取消行号 |