Vim:the ubiquitous text editor
无处不在的文本编辑器
vim是从vi发展出来的⼀个文本编辑器
具有程序编辑的能力 可以主动以字体颜色辨别语法的正确性 方便程序设计
还具有代码补全 编译及错误跳转等方便编程的功能 功能丰富
一、vi/vim的三种模式
1、命令模式(Command mode)
当用户刚刚启动vi/vim 便进⼊了命令模式
此状态下敲击键盘动作会被vim识别为命令而非输⼊字符
比如此时按下i 并不会输⼊⼀个字符 i被当作了⼀个命令
命令模式只有⼀些最基本的命令 因此仍要依靠底线命令模式输入更多命令
2、输入模式(Insert mode)
在命令模式下按下i就进⼊了输入模式
此时左下角会显示- - INSERT - -
(若未显示 则进入底线命令模式输入set showmode再返回即可)
按ESC则退出输⼊模式 切换到命令模式
3、底线命令模式(Last line mode)
在命令模式(shift)下按下:就进⼊了底线命令模式
(为啥叫底线?因为在底部有个输入框 像是一条黑线)
底线命令模式可以输⼊单个或多个字符的命令 可⽤的命令非常多
基本的命令有q(quit退出程序)和w(write保存文件)等
按ESC键可随时退出底线命令模式
w!:不保存强制退出
二、移动光标命令
h 或 向左箭头键(←):光标向左移动⼀个字符
j 或 向下箭头键(↓):光标向下移动⼀个字符
k 或 向上箭头键(↑):光标向上移动⼀个字符
l 或 向右箭头键(→):光标向右移动⼀个字符
(在键盘上hjkl是按顺序排列在⼀起的 因此可以使⽤这四个按钮来移动光标)
+键:光标移动到非空格符的下一行
-键:光标移动到非空格符的上一行
0 或功能键[Home]:移动到这一行的最前面字符处 (常用)
$ 或功能键[End]:移动到这一行的最后面字符处(常用)
H(大写):(Header)光标移动到这个屏幕的最上⽅那一行的第⼀个字符
M(大写):(Middle)光标移动到这个屏幕的中央那一行的第⼀个字符
L(大写):(Last)光标移动到这个屏幕的最下方那一行的第⼀个字符
G(大写):移动到这个档案的最后一行(常用)
nG(大写):移动到这个档案的第 n 行
n为数字
例如 20G则会移动到这个档案的第 20行(可配合set nu设置行号)
gg:移动到这个档案的第⼀行
相当于1G(常用)
n回车:光标向下移动n行(常用)
n为数字
如果想要进行多次移动 例如向下移动30行 可以使⽤ “30j” 或 “30↓” 的组合按键
亦即加上想要进行的次数(数字)后按下动作即可
n空格:光标向右移动n行
n为任意一个数字 例如 20
按下数字后再按空格键 光标会向右移动一行的n个字符
例如 20<space>
则光标会向后面移动 20 个字符距离
三、翻页
[Ctrl] + [b]:(backward)屏幕『向上』移动一页
相当于 [Page Up] 键 (常⽤)
[Ctrl] + [f]:(forward)屏幕『向下』移动一页
相当于 [Page Down] 键 (常⽤)
[Ctrl] + [u]:(up)屏幕『向上』移动半页
[Ctrl] + [d]:(down)屏幕『向下』移动半页