vi是linux中最经典的文本编辑器,vi一共有3种工作模式,分别是命令模式,末行模式,编辑模式.打开文件首先进入的就是命令模式,是使用vi的入口。在命令模式按i进入编辑模式,按esc再退出到命令模式,输入:进入末行模式
vim 是从vi发展出来的文本编辑器, 支持代码补全、编译 及 错误跳转等方便编程的功能提别丰富, 在程序员中被广泛 使用, 被称为编辑器之神!
w : 保存
q : 退出,如果没有保存,不允许退出
q! : 强制退出,不保存退出
wq :保存并退出
x :保存并退出
h : 向左
j : 向下
k : 向上
l : 向右
w : 向后移动一个单词
b : 向前移动一个单词
0 : 行首
^ : 行首,第一个不是空白字符的位置
$ : 行尾
gg : 文件顶端
G : 文件末尾
数字 gg : 移动到数字对应行数
数字 G : 移动到数字 对应行数
:数字 : 移动到数字对应的行数
Ctrl +b : 向上翻页
Ctrl +f : 向下翻页
H : 屏幕顶部
M : 屏幕中间
L : 屏幕底部
vim 中使用 空行 来区分段落
{ : 上一段
} : 下一段
() [] {} 使用效率高 而且都是成对出现的
% 括号匹配及切换
v : 从光标位置开始按照正常模式选择文本
V:选中光标经过的完整行
Ctrl + v : 垂直方向选中文本
u : 撤销上次的命令
Ctrl + r : 恢复撤销的命令(反撤销)
x : 删除光标所在的字符,或者选中的文字
d : 删除移动命令对应的内容,一次删除两行
dd :删除光标所在行 , 可以ndd 删除多行
D : 删除至行尾
dw : 从光标位置删除到单词末尾
d0 : 从光标位置删除到一行的起始位置
d{ : 从光标位置删除到段落起始
d} : 从光标位置删除到段落末尾
ndd :从光标位置向下连续删除n行
vi 中提供有一个 被复制文本的缓冲区
y : 复制,两行
yy : 复制一行,nyy复制多行
d : 剪切
dd : 剪切一行,可以ndd剪切n行
p : 粘贴
r : 替换当前字符,只能替换一次【命令模式】
R : 替换当前黄光标后的字符,可以随意替换【替换模式】
/str : 在光标之前查找/ str
?str : 在光标之后查找str
拓展:
1.查找到指定内容之后,使用Next查找下一个出现的位置
n: 查找下一个
n: 查找上一个
全局替换:%s /旧文本/新文本/g
全局替换确认:%s /旧文本/新文本/gc
光标替换: :s/旧文本/新文本/g
i :在当前字符前插入文本
I : 在行首插入文本
a : 在当前字符后添加文本
A: 在行末添加文本
o: 在当前行后面插入以空行
O: 在当前行前插入一空行