光标控制命令
命令光标移动
将h或^h向左移动一个字符
J或^J或^n向下一行
K或^p上升一行
L或空格向右移动一个字符
G到文件的最后一行
nG被移动到文件的第n行
W移到下一个单词的开头
W移动到下一个单词的开头,忽略标点符号
B到上一个单词的开头
B移动到上一个单词的开头,忽略标点符号
我转到屏幕的最后一行
M进入屏幕的中间一行
H进入屏幕的第一行
E移到下一个单词的末尾
E移到下一个单词的末尾,忽略标点符号
移至句首
移到句末
{移到段首
}移至下一段的开头
0或|移动到第一列中的当前行
N|移动到前N列的当前行
^移动到当前行中的第一个非空字符
将$移动到当前行的最后一个字符
+或返回移动到下一行的第一个字符
-移动到前一行的第一个非空字符
在VI中添加文本
命令插入动作
A在光标后插入文本
A在当前行中插入文本
我在光标前插入文本
我在当前行之前插入文本
O在当前行下方插入新行
O在当前行上方插入新行
:r file读入文件内容并将其插入当前行之后
:nr file读入文件内容并将其插入第n行之后
转义返回到命令模式
^插入v char时忽略char的指定含义,以便插入特殊字符
删除VI中的文本
命令删除操作
X删除光标处的字符。您可以在x之前添加要删除的字符数
Nx从当前光标中删除n个字符
X要删除光标前的字符,请在X前面添加要删除的字符数
NX删除当前光标前面的n个字符
Dw到下一个单词的开头
NDW从当前光标中删除N个字
DG删除行,直到文件结束
Dd删除整行
从当前行中删除NDD
Db删除光标前的单词
NDB从当前行向前删除N字
:n,md从第m行向前删除n行
D或D$从光标移到行尾
^w要插入,请删除前面的单词
修改VI文本
每个命令前的数字表示命令重复的次数
命令替换操作
Rchar将当前字符替换为char
R文本转义将当前字符替换为文本,直到替换Esc键
Stext转义将当前字符替换为文本
S或cctext转义将整行替换为文本
Cwtext转义将当前单词更改为文本
Ctext转义将当前行的其余部分更改为文本
CG转义到文件的末尾
在VI中查找并替换
命令搜索和替换操作
/文本在文件中查找文本
文本在文件中向后查找文本
N在同一方向重复搜索
N以相反方向重复搜索
Ftext查找当前行前面的文本
Ftext返回当前行中的文本
Ttext查找当前行前面的文本,并将光标定位在文本的第一个字符处
Ttext返回当前行中的文本,并将光标定位在文本的第一个字符处
:设置IC搜索,不考虑大小写
:set noic搜索区分大小写
重复最后一个:S命令
:g/text1/s/text2/text3找到包含text1的行,并用text3替换text2
复制VI中的文本
命令复制操作
Yy将当前行的内容放入临时缓冲区
Nyy将n行放入临时缓冲区
P将文本放在光标后的临时缓冲区中
P将文本放入光标前面的临时缓冲区中
Nyy将n行复制到名为圆括号的可命名缓冲区中,省略n以表示当前行
NDD将n行放入括号中命名的可命名缓冲区。省略n表示当前行
“P将名为圆括号的可命名缓冲区的内容放在当前行之后
“P将名为圆括号的可命名缓冲区的内容放在当前行之前
在VI中撤消并重复
命令撤消操作
U撤消最后一次更改
U撤消当前行中的所有更改
.重复上一次更改
以在相反方向重复先前的fFt或T查找命令
; 重复上一个fFt或T查找命令
“Np检索最后第n次删除
N重复上一个/或搜索命令
N在相反方向重复上一个/或命令
保存文本并退出VI
命令保存和/或退出操作
:w保存文件而不退出VI文件
:w文件将修改保存在文件中,而不退出VI文件
:wq或ZZ或:x保存文件并退出vi
答:q!退出VI文件而不保存该文件
VI中的选项
选择角色
:设置所有打印和所有选项
:set nu打印每行之前的行号
:设置noic搜索,不考虑大小写
:设置列表显示选项卡和行尾符号
:set ts=8设置文本输入的制表位
:set window=n将文本窗口设置为显示n行
vi的状态
选择角色
:.= 打印当前行的行号
:=打印文件中的行数
^g显示文件名的当前行号、文件中的行总数和文件位置百分比
:l使用字母“l”显示许多特殊字符,如制表符和换行符
定位段落并在文本中放置标记
选择角色
通过在第一列中插入{来定义段落
回到段落的开头
前进到下一段的开头
M用字母表示当前位置,如Mz表示Z
'将光标移动到指定的标记,例如'z'以指示移动到z
连接VI中的行
选择角色
J将下一行连接到当前行的末尾
nj连接接下来的N行
光标放置和屏幕调整
选择角色
H将光标移动到屏幕的顶行
NH将光标移动到屏幕顶行下方的第n行
M将光标移动到屏幕中间
L将光标移动到屏幕的底部
NL将光标移动到屏幕底部第n行
^e在屏幕上滚动一行
^y将屏幕向下滚动一行
^在屏幕上滚动半页
^向下滚动半页
^b在屏幕上滚动一页
^f将屏幕向下滚动一页
^我重画了屏幕
Z-return将当前行设置为屏幕的顶行
Nz return将当前行下的第n行设置为屏幕的顶行
Z、 将当前行置于屏幕中央
新西兰。将第n行放在屏幕中心的当前行上
Z-将当前行设置为屏幕的底线
Nz-将当前行的第n行设置为屏幕的底线
vi中的Shell转义命令
选择角色
:!!!!! 执行上一个shell命令
:sh将启动一个子shell,返回带有^d的vi
:因此文件读取并执行shell程序文件中的命令
VI中的宏和缩写
避免使用控制键和符号,不要使用字符KVgqv*=和功能键
选择角色
:map在状态行中显示所有定义的宏
:umap key删除键的宏
:ab显示所有缩写
:una string取消string的缩写
在VI中缩进文本
选择角色
^I或TAB当插入文本时,插入移动的宽度,这是预先定义的
:设置AI启用自动缩进
:set sw=n将移动宽度设置为n个字符
N>将所有N行向右移动一个宽度。例如,3>>将接下来三行中的每一行向右移动一个移动宽度
2.命令模式
3.输入模式输入A处于命令模式
新
A: 从光标后面的位置添加数据,光标后面的数据随着新数据向后移动。
A: 添加从光标列末尾开始的数据。
插入
一: 从光标位置的前面插入数据,光标后面的数据随着新数据向后移动。
一: 插入从光标列中第一个非空字符之前开始的数据。
开始
O: 在光标下方添加一列,然后进入输入模式。
O: 在光标上方添加一列,然后进入输入模式。
4.保存或退出磁盘
:wq//保存文件并退出
:w!//保存磁盘并继续
:q!//强制退出
5.删除和修改
X://删除光标所在的字符
Dd://删除游标列。
R://修改光标的字符,后跟要更正的字符。
R//输入提取和替换状态。
S://删除光标的字符并进入输入模式。
S://删除光标所在的列并进入输入模式。
6.返回
U://可以恢复已删除的文本。
U://恢复游标列中的所有更改。
发表评论