VIM
一、认识
vim
是从 vi
发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi
是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim
则可以说是程序开发者的一项很好用的工具。
二、模式
2.1 正常模式
可以使用快捷键命令,或按:
输入命令行。
2.2 命令模式
按:
输入命令行。输入的内容当做命令看待。命令模式下,按下任何键没有任何反应,只有输入命令,才有效果
2.3 插入模式
可以输入文本,在正常模式下,按i
、a
、o
等都可以进入插入模式。按 Esc
退出插入模式。
2.4 可视模式
正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V
进入可视行模式, 总是整行整行的选中。ctrl+v
进入可视块模式。
2.5 替换模式
正常模式下,按R
进入。按 Esc
退出插入模式。
三、命令
3.1 启动
vim [file]
: 从文件的末尾开始
3.2 编辑
-
i
: 在光标前添加文本,并进入插入模式。 -
a
: 在光标后添加文本,并进入插入模式。 -
r
: 在当前光标位置替换文本, 不会进入插入模式。 -
o
: 在当前行后面插入一空行 -
O
: 在当前行前面插入一空行 -
cw
: 替换光标所在处的单词, 会进入插入模式 -
dw
: 删除光标所在处的单词, 不会进入插入模式 -
x
: 删除光标后字符,不会进入插入模式 -
X
: 删除光标前字符,不会进入插入模式 -
d$
: 删除光标之后字符 -
dd
: 删除光标所在行字符 -
:s/XX/YY
: 替换当前行第一个 XX 为 YY -
:s/XX/YY/g
: 替换当前行所有 XX 为 YY -
:n,ms/XX/YY/g
: 替换第n
行开始到m
行中每一行所有 XX 为 YY -
:n,$s/XX/YY/g
: 替换第n
行开始到最后一行中每一行所有 XX 为 YY
3.3 保存
-
:x
: 保存并退出 -
:wq
: 保存并退出 -
:w
: 保存修改 -
:q
: 退出当前窗口 -
:U
: 撤销更改
3.4 光标移动
-
k
: 向上移动光标 -
j
: 向下移动光标 -
h
: 向左移动光标 -
l
: 向右移动光标 -
n
加数字然后回车: 光标往后移动n
行 -
w
: 使光标向前跳过一个单词 -
b
: 使光标向后跳过一个单词 -
ma
: 光标移动到起始行 -
mb
: 标移动到结束行 -
mc
: 光标移动到粘贴行 -
$
: 光标移至当前行尾 -
0
: (注意是数字零)光标移至当前行首 -
H
: 光标移至屏幕顶行 -
M
: 光标移至屏幕中间行 -
L
: 最后行
四、问题
- 问题一、如果遇到
:wq
无法保存的时候,提示只读, 那么退出后通过sudo vim 文件名称
重新编辑即可