Vim介绍
Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。百度百科
使用
vim a.php #
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段,以其它任何模式按esc 即可进宪普通模式
i 在当前光标字符前插入 insert
a 在当前光标字符后插入 append
I 在当前行首插入 Insert
A 在当前行尾插入 Append
o 在下方开一新行,插入 open
O 在上方开一新行,插入 Open
r 替代字符,将当前字符替代为紧跟着输入的字符 replace
R 进入替代模式,将当前及之后的字符都替代为紧跟着输入的字符串,直到按 `` 返回 Normal 模式 Replace
gj 移动到屏幕折行后的下行
gk 移动到屏幕折行后的上行
命令模式是在普通模式下按 : 进入,用于搜索、保存退出等操作。
:w 保存
:w file 另存为文件
:q 退出
:q! 放弃修改退出
:wq 保存修改并退出
移动命令
Vim 的各种移动命令主要是在标准模式下
h 光标左移
j 光标下移
k 光标上移
l 光标右移
0 跳到行首,可以理解为无穷大的
h^ 跳到行首开始的第一个非空白字符
$ 跳到行尾,可以理解为无穷大的
lgg跳到首行,可以理解为无穷大的
kG跳到末行,可以理解为无穷大的
jw 跳到下一个词首
ge 跳到上一个词尾
b 跳到单词开头
e 跳到单词尾部
5k 向上移动 5 行
5j 向下移动 5 行
5w 向后移动 5 个词
fx 向前移动到字符 x 上
Fx 向后移动到字符 x 上
tx 移动到字符 x 前
Tx 向后移动到字符 x 前
zz 当前行设为页面中心
ctrl+o 移动到上次编辑位置,可以跨文件操作
ctrl+i 从上次编辑位置移动到本次编辑位置,可以跨文件操作
剪切操作
x 删除当前光标所在处的字符
X 删除当前光标左边的字符
d$ 删除从光标到一行末尾的整个文本
d0 删除从光标到一行开头的所有单词
dd 删除当前光标处的一整行
5dd 删除从光标开始处的 5 行代码
dgg 删除从光标到文本开头
dG 删除从光标到文本结尾
di 删除在引号之间的内容
dit 删除 HTML 标签内容
dtx 向后删除字符直到遇到第一个 x 字符
dw 删除到下一个单词的词首
dW 删除到右边界
daw 删除到左或边界,适合删除 HTML 属性
diw 删除光标所在单词
daw 删除光标所在单词,包括空格
dit 删除 html 标签内容
dat 删除 html 标签
D 删除到行尾
C 删除到行尾,进入插入模式
c^ 删除到行首
c$ 删除到行尾
ciw 删除单词并进行修改
caw 删除单词和空格并进行修改
复制粘贴
y 复制
p 贴
yy 复制一整行
2yy 复制从当前光标所在行开始的 2 行
yit 复制标签内容
yat 复制完整标签
yG 复制到最后
y {复制到段落开始 y} 复制到段落结尾
yiw 复制单词并移到词首
yaw 复制单词并移到上个单词尾部
yit 复制 html 标签内容
yat 复制 html 标签
修改替换
cw 删除从光标处到单词结尾的文本并进入到插入模式
cb 删除从光标处到单词开头的文本并进入到插入模式
cc 删除一整行并进入到插入模式 r 替换当前光标下的字符
R 进入到替换模式
ctx 向后修改内容到
x 也就是意味着删除光标到 x 中间内容,并进入插入模式
ci 改写双引号中的内容
cc 编辑当前行
c^ 删除到行首,并进入编辑模式
c$ 删除到行尾,并进入编辑模式
注释操作
gcc 注释
gc2j 注释两行
查找替换
:/string 正向查找
:?string 反向查找
fx 向后查找 x 字符,按;继续查找
Fx 向前查找 x 字符,按;继续查找
:% s/a/b/g 全局搜索a替换为b
:5,12s/a/b/g 从第 5 行到 12 行替换 a 为 b
:.,+2s/a/b/g 从当前行到后两行替换 a 为 b
快速跳转
gg 跳转到第一行
G 跳转到最后一行
5G 跳到第 5 行
:5 跳转到第 5 行(命令模式)
{ 到段首
} 到段尾
撤销重做
u 撤销上一步的操作
ctrl+r 将原来的插销重做一遍