一. 添加文本
光标的移动与定位
(1) 光标的移动命令。
h
、j
、k
、l
:光标向左、下、上、右移动一个字符
w
:以单词为单位向后移动光标
b
:以单词为单位向前移动光标
e
:光标移动到该单词的词尾
(
)
:光标移到到句首、句尾
{
}
:光标移动到段首、段尾
(2) 光标定位命令
$
:光标移动至行尾
0
:光标移至行首
f
:光标移动指定的字符下
[n]G
:光标定位到第n行。其中,n为可选的数字,为指定n时,默认光标移动最后一行。
(3) 在命令模式下,键盘上某些键可以实现对光标的定位和移动操作。
Home键
:光标移动至行首
End键
:光标移动至行尾
PageUp键
:向上翻页
PageDown键
:向下翻页
Backspace键
:贯标前移一个字符
Space键
:光标后移一个字符
Enter键
:光标下移一个字符
(4)屏幕的滚动:当文件比较大时,想要快速的定位到指定的页时,就需要进行屏幕的滚动操作。
Ctrl+U键
:向上翻半屏
Ctrl+D键
:向下翻半屏
Ctrl+B键
:向上翻一屏
Ctrl+F键
:向下翻一屏常用的插入命令
a
:在光标位置后开始接收输入。
A
:在行尾后开始接收输入。
i
:在光标位置前开始接收输入。
I
:在行首后开始接收输入。
o
:在光标所在行之后开辟一个新的空行,并开始接收输入。
O
:在光标所在行之前开辟一个新的空行,并开始接收输入。
二. 删除文本
删除文本时,一般情况下,要保证当前处于命令模式下。
用户在插入模式下进行文本录入的时候,如果要删除某个字符时,要先按Esc键,保证处于命令模式下,才能使用相关的删除命令进行字符的删除操作
x
:删除光标处的单个字符。
X
:删除光标左边的单个字符。
D
:删除一行文本。如果光标位于文本的中部,则删除此行光标右边的文本。
dd
:删除光标所在行的文本。
J
:当前行与下一行合并为一行,光标置于第二行,即删除当前行的行尾处的换行符。d+定位符
:删除从光标位置到指定位置范围内的字符。d0
:删除光标所在行左边的文本。D$
:删除光标所在行右边的文本。dG
:删除光标所在行之后的所有行。命令前加数时,表示删除范围扩大n倍
2x
:删除光标处的两个字符。5dd
:删除5行。在命令模式下,可以按Delete键实现删除光标处的字符,与x命令相同。
三. 文本的替换与修改
- 文本的替换是用一个字符替换另一个字符,或用多个字符替换一个字符或一行,是一种先删除后插入的操作。按Esc键结束插入过程。
- 文本的修改是修改一部分文本的内容,先删除指定范围内的文本,然后插入新文本。按Esc键结束插入过程。
- 使用替换命令或修改命令,都要在命令模式下进行。
- 常用的替换命令
s
:用输入的新文本替换光标处的字符。新文本可以为一个或多个字符。
S
:用输入的新文本替换光标所在的行。如果不输入新文本,则执行效果是正行文本都被删除,变成一个空白行。
r
:用输入的新字符替换光标处的字符。新字符指的是一个字符。
R
:用输入的新文本逐个替换从光标处开始的各个字符。
2.常用的修改命令
c0
:修改光标左边的字符。
c$
:修改光标右边的字符。
c1
:修改光标处的字符。
cG
:修改光标所在行之后的所有行。
四 文本的剪切、复制、粘贴
在命令模式下执行。
yy
:复制光标所在的行。
y0
:复制光标左边的文本内容。
y$
:复制光标右边的文本内容。
p
:粘贴文本的内容到光标处。
dd
:剪切光标所在行的文本。
5yy
:复制五行
m,ny
:复制m到n行
五 撤销与重复执行
- 在对文本的修改操作中,如果想取消刚刚执行的命令,则可以通过
u
命令进行文本的恢复。 - 如果重复执行刚才执行的命令,则可以通过“
.
”命令来重复执行上一个命令。
六 全文范围的字符查找与替换
转义模式下执行。
1. 关键字的查找
执行查找命令“/关键字
”,将从当前光标位置处开始查询,直至如果能够找到匹配的字符串,则光标将停留在第一个匹配字符串的首字符处。键入n
,可以继续向后进行查找。当搜到文件尾后,键入n
,则返回文件头部继续查找。
2.字符串的替换
执行替换命令s
。基本格式如下
:[替换起始处,替换结束处]
s
/要被替换的字符串
/替换的字符串/
[g][c]
“^
”表示首行,“$
”表示末行。
g
选项:表示替换目标行中所有匹配的字符串。若没有g,则只替换目标行中第一个匹配的字符串。
c
选项:表示替换以互动的方式进行,替换前会提示用户进行确认。
eg:执行::1,$ s/is/are/g 替换从第一行开始到行末的所有is变成are
七 保存与退出命令
转义模式下执行。
:q
:如果原文为修改,不保存文件,直接退出。
:q!
:不保存文件强制退出。
:wq!
:强制保存文件并退出。
:e!
:放弃修改,编辑区恢复为文件原样。
:w
:保存当前文件
:w
路径名
/
文件名
:另存为。
八. 高级应用
- 多窗口编辑
(1) 在vi中以此打开两个文件
输入命令vi 文件名,打开一个文件1
在一打开的文件1中,按Esc键
回到命令模式
进入末行模式,输入命令:sp
文件名2
(2) 光标在两个窗口中的切换
如果当前光标处于下面窗口的文件中,按Esc键
,Ctrl+W键
,键入k
,是光标定位到上面的窗口
如果当前光标处于上面窗口的文件中,按Esc键
,Ctrl+W键
,键入j
,是光标定位到下面的窗口
(3) 全文复制功能
执行命令 :r
被复制的文件名
(4) 关闭窗口
当多个窗口的文件全部编辑完毕后,依次使用退出命令关闭所有文件。
2.区域复制
- 打开某个文件,光标移动到需要复制的第一行
- 按
Esc键
,确保当前处于命令模式,在按Ctrl+V键
。 - 使用小键盘上的上、下、左、右方向键,进行区域选取。
- 键入
y
,结束区域选取。 - 光标移至目标位置,键入
p
,实现区域复制。
3.在vi中实现与shell的交互
执行命令:!Shell命令