Ubuntu复习笔记-vi编辑器
简介
命令模式
可通过键盘输入指令,控制光标移动,删除字符,字母或行等。
插入模式
可以进行文字编辑。
底线模式
进行文字编辑的辅助功能,如替换,搜索,保存等。
使用vi打开文件后默认是命令模式,按下:进入底线模式,可以输入一些命令进行文本操作。
编辑多个文件:
vi后输入多个文件名,每个文件名之间用空格分隔,就可以编辑多个文件。
可以在命令模式下输入先保存:w,再输入:n继续打卡下一个文件。
若想编辑之前的文件,输入:N即可回到之前的文件。
:rew可以直接回到第一个文件。
:q或:q!是不存盘的退出。
而:wq和:wq!是存盘的退出。
还可以在命令模式下输入:w + 另一文件名称将文件另存。
还可以指定行号进行另存,:n,m write + 文件名。
:n,m w! + 文件名可以进行文件覆盖。
追加内容可以使用:n,m w >> 文件名,将n至m行的内容追加至新文件中。
在命令模式下输入u即可撤销对文件内容的修改操作。
移动光标
在命令模式可以对光标进行移动。
可以按小键盘的\(↑、↓、←、→\)。也可以按字母键\(l、j、h、k\)。
\(l\)表示光标向右移动,\(j\)表示光标向下移动,\(k\)表示光标向上移动,\(h\)表示光标向左移动。
\(w\)将光标移动到下一个单词的开头,\(b\)将光标向前移动一个单词,\(e\)将光标移动到单词的词尾。
一行内移动,\(f+\)字母,移动到下一个指定的字母。任意数字键+\(|\),将光标移动到数字键的字符位置。
\(\$\)将光标移动到行尾,\(\text{^}\)移动到行尾。
数字+\(G\)移动到对应行首,:任意数字移动到数字对应行的行首,\(:\$\)移动到文件最后一行行尾。
\(-\)将光标向上移动一行,\(+\)将光标向下移动一行。
\(M\)将光标移动至当前屏幕中间,\(L\)将光标移动至当前屏幕的下方,\(H\)将光标移动到屏幕上方。
\(Ctrl+D\)向下移动半屏文字内容,\(Ctrl+U\)向上移动半屏文字内容,\(Ctrl+F\)向下移动下一屏文字内容,\(Ctrl+B\)向上移动上一屏文字内容。
文本添加
\(i\)左侧插入文本,\(a\)右侧插入文本。
\(O\)上方插入文本,\(o\)下方插入文本。
\(I\)在行首插入文本,\(L\)在行尾插入文本。
文本查找和替换
向前查找,在命令模式输入\(/\)+查找文本。\(n\)或\(/\)+查找文本继续向前查找所需字符串。
向后查找,在命令模式输入\(/\)+查找文本。若继续往后查找可以输入\(N\)或\(?a\)。
文本复制、剪切于复制
\(y\)复制,\(p\)粘贴,\(x\)剪切。
字符 | 单词 | 行 | |
---|---|---|---|
复制 | yl | yw | yy |
剪切 | x | dw | dd |
粘贴 | p | p | p |
文本删除与撤销
x删除单个字符,数字+x删除若干个字符。
\(dw\)删除一个单词,数字+\(dw\)删除若干个单词。
\(dd\)删除单行,数字+\(dd\)删除多行,\(n,md\)删除\([n,m]\)之间的行。
更改vi配置
显示和设置行号
在命令模式下输入
:set number
关闭行号
:set nonumber
:set autoindent/:set noautoindent
是否设置自动缩进。
:set showmode/:set noshowmode
是否显示当前编辑状态
:set ignorecase/:set noignorecase
是否忽略大小写
高级功能
命令映射:
设置命令映射,将一条或多条命令与单个键联系。
: map # 指令
命令缩写:
: ab 名称名称 指令