vi三种基本工作模式:命令模式、文本输入模式、末行模式
命令模式:
i:插入光标前一个字符
I:插入行首
a:插入光标后一个字符
A:插入行末
o:向下新开一行插入行首
O:向上新开一行,插入行首
yy:复制光标所在的这一行
4yy:复制光标所在行开始向下的4行
p:粘贴
dd:剪切 光标所在的这一行
2dd:剪切 光标所在行向下2行
D: 从当前光标开始剪切,一直到行末,包含光标所在处
d0: 从当前光标开始剪切,一直到行首,不包含光标所在处
dw:删除光标开始位置的字,包含光标所在字符
x:删除当前的光标,每次只删除一个
X:删除当前光标前面的那个,每次只删除一个
h左 j下 k上 l右
H:当前屏幕的上方
M:当前屏幕的中间
L:当前屏幕的下方
ctrl+f------>向下翻一页代码
ctrl+b------>向上翻一页代码
ctrl+d------>向下翻半页代码
ctrl+u------>向上翻半页代码
20G:快速的定位到第20行
G: 最后一行
gg: 第一行
w: 向后跳一个单词的长度,即调到下一个单词的开始处
b: 向前跳一个单词的长度,即调到上一个单词的开始处
u:撤销刚刚的操作
ctrl+r:反撤销
选中一片代码
v:
V:
>>:向右移动代码
<<:向左移动代码
.:重复之前的命令
{:按段移动,上移
}:按段移动,下移
可视模式:
v:按字符移动,选中文本
V:按行移动,选中文本可视模式可以配合d,y,>>,<<实现对文本块的删除,复制,左右移动
替换操作:
r:替换当前字符
R:替换当前行光标后的字符
查找命令:
/:str查找
n:下一个
N:上一个
shift+zz:相当于wq
末行模式:
替换命令:
末行模式下,将当前文件中的所有的abc替换成123
:%s/abc/123/g
末行模式下,将第一行至第10行之间的abc替换成123
:1,10s/abc/123/g
w:保存
q:退出
wq:保存并退出
命令模式:
i:插入光标前一个字符
I:插入行首
a:插入光标后一个字符
A:插入行末
o:向下新开一行插入行首
O:向上新开一行,插入行首
yy:复制光标所在的这一行
4yy:复制光标所在行开始向下的4行
p:粘贴
dd:剪切 光标所在的这一行
2dd:剪切 光标所在行向下2行
D: 从当前光标开始剪切,一直到行末,包含光标所在处
d0: 从当前光标开始剪切,一直到行首,不包含光标所在处
dw:删除光标开始位置的字,包含光标所在字符
x:删除当前的光标,每次只删除一个
X:删除当前光标前面的那个,每次只删除一个
h左 j下 k上 l右
H:当前屏幕的上方
M:当前屏幕的中间
L:当前屏幕的下方
ctrl+f------>向下翻一页代码
ctrl+b------>向上翻一页代码
ctrl+d------>向下翻半页代码
ctrl+u------>向上翻半页代码
20G:快速的定位到第20行
G: 最后一行
gg: 第一行
w: 向后跳一个单词的长度,即调到下一个单词的开始处
b: 向前跳一个单词的长度,即调到上一个单词的开始处
u:撤销刚刚的操作
ctrl+r:反撤销
选中一片代码
v:
V:
>>:向右移动代码
<<:向左移动代码
.:重复之前的命令
{:按段移动,上移
}:按段移动,下移
可视模式:
v:按字符移动,选中文本
V:按行移动,选中文本可视模式可以配合d,y,>>,<<实现对文本块的删除,复制,左右移动
替换操作:
r:替换当前字符
R:替换当前行光标后的字符
查找命令:
/:str查找
n:下一个
N:上一个
shift+zz:相当于wq
末行模式:
替换命令:
末行模式下,将当前文件中的所有的abc替换成123
:%s/abc/123/g
末行模式下,将第一行至第10行之间的abc替换成123
:1,10s/abc/123/g
w:保存
q:退出
wq:保存并退出