Vi简介
Vi是”Visual Interface”的简称,它在Linux上的地位就仿佛Edit程序在Dos上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。Vi没有菜单,只有命令,且命令繁多。
Vi有三种基本工作模式:
+ 命令模式
+ 文本输入模式
+ 末行模式
插入模式:
i: 光标前插入一个字符
I: 插入行首
a: 光标后插入一个字符
A: 插入行末
o: 向下新开一行,插入行首
O: 向上新开一行,插入行首
命令模式:
ESC: 从插入模式或末行模式进入命令模式
移动光标:
h: 左移
j: 下移
k: 上移
l: 右移
H: 光标移动到当前屏幕的上方
M: 光标移动到当前屏幕的中间
L: 光标移动到当前屏幕的下方
w: 向后跳一个单词的长度,即跳到下一个单词的开始处
b: 向前跳一个单词的长度,即跳到上一个单词的开始处
20G: 快速的定位到第20行代码
G: 光标移动到文件末尾
gg: 光标移动到文件开头
{: 按段移动,上移
}: 按段移动,下移
Ctrl+f: 向下翻一屏
Ctrl+b: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏
复制粘贴:
yy: 复制 光标所在的这一行
4yy: 复制 光标所在的行开始向下的4行
p: 粘贴 到光标所在的行的下一行
删除命令:
dd: 删除/剪切 光标所在的这一行
2dd: 删除/剪切 光标所在的行开始向下2行(包括这一行)
D: 删除/剪切 从当前的光标开始一直到行末
d0: 删除/剪切 从当前的光标开始一直到行首(不包含光标所在的字符)
dw: 删除/剪切 从当前的光标开始的一个单词(包含光标所在的字符)
x: 删除光标后一个字符,相当于Del
X: 删除光标前一个字符,相当于Backspace
撤销命令:
u: 撤销刚刚的操作
Ctrl+r: 反撤销
可视模式:
v: 按字符移动,选中文本
V: 按行移动,选中文本
可视模式可以配合d, y, >>, <<实现对文本块的删除,复制,左右移动
文本行移动:
>>: 向右移动代码
<<: 向左移动代码
重复命令:
.: 重复执行上一次的命令
替换操作:
r: 替换当前字符
R: 替换当前行光标及以后的字符
退出命令:
Shift+zz: 退出保存,相当于末行模式下的wq
末行模式:
查找命令:
/: str查找
n: 下一个
N: 上一个
替换命令:
:%s/abc/123/g 末行模式下,将当前文件中的所有abc替换成123
:1, 10s/abc/123/g 末行模式下,将第一行至第10行之间的abc替换成123
退出命令:
:w 保存
:q 退出
:q! 强制退出(不保存)
:wq 保存并退出