欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

linux系统之-vi编辑器

程序员文章站 2022-12-02 14:11:20
在linux系统使用中,掌握熟练的vi编辑器,可以提高linux工作效率。那么vi编辑器的使用方法有哪些呢? vi编辑器可在绝大部分linux发行版中使用。 Vi编辑器的作用:创建或修改文件;维护linux系统中的各种配置文件。 vi没有菜单,只有命令 vi有三种基本工作模式,分别是:命令模式(co ......

在linux系统使用中,掌握熟练的vi编辑器,可以提高linux工作效率。那么vi编辑器的使用方法有哪些呢?

vi编辑器可在绝大部分linux发行版中使用。

Vi编辑器的作用:
创建或修改文件;
维护linux系统中的各种配置文件。
vi没有菜单,只有命令
vi有三种基本工作模式,分别是:命令模式(command mode)、插入模式(insert mode)和末行模式(last line mode)

命令模式下的操作一
从命令模式进入插入模式:
a:在光标后插入内容;
A:在当前行的末尾插入内容;
o:在当前行的下面插入内容;
O:在当前行的上面插入内容;
i:在光标处插入内容;
I:在当前行的行首插入内容。

命令模式下的操作二
命令模式下的跳转命令一:
上、下、左、右方向键移动;
pageup/ctrl+b: 向上翻页;
pagedown/ctrl+f: 向下翻页;
home/^/数字0: 跳到当前行的行首;
end/$: 跳到当前行的行尾;
gg/1G: 跳到文件的第一行行首;
G/shift+g: 跳到文件的最后一行;
#G/#gg: 跳到文件的第#行。
命令模式下的跳转命令二:
H:跳到当前屏幕的第一行;
M:跳到当前屏幕的中间;
L: 跳到当前屏幕的最后一行;
w:一个单词一个单词往右跳;
b: 一个单词一个单词往左跳;
f:后面跟想跳转的字母,例如f b,向右跳到最近的一个b字母处。

命令模式下的操作三
命令模式下的复制和粘贴命令:
yy: 复制当前行;
#yy:从当前行开始向下复制#行;
yw: 从光标开始复制一个单词;
y$: 复制光标处到行尾所有内容;
y^: 复制光标处到行首所有内容;
p: 将缓冲区中的内容粘贴到光标位置处之后;
P: 将缓冲区中的内容粘贴到光标位置处之前。

命令模式下的操作四
命令模式下的删除命令:
dd: 删除当前行;
#dd:从当前行开始向下删除#行;
dw: 从光标处开始删除一个单词;
d$: 删除从光标处开始到行尾所有内容;
d^: 删除从光标处开始到行首所有内容;
x/del: 删除光标处一个字符。

命令模式下的操作五
命令模式下的撤消、替换命令:
u: 撤消上一步操作;
U: 取消对当前行所作的所有编辑;
ctrl+r: 反撤消;
ZZ: 保存当前的文件内容并退出VI编辑器;
r: 替换,例如r b,将光标处所在的字符替换成b;
R: 从光标处开始连续向右替换直到按esc键停止。

命令模式下的操作六
命令模式下文件内容的查找:
/: 从光标处开始从上而下在文件中查找字符或字符串;
?: 从光标处开始从下而上在文件中查找字符或字符串;
n: 定位下一个匹配的被查找的字符或字符串;
N: 定位上一个匹配的被查找的字符或字符串。

末行模式下的操作一
保存和退出一:
w: 保存;
w aa.log: 把当前文件另存为aa.log并放到当前目录;
w /tmp/ab.log: 把当前文件另存为ab.log放到/tmp目录下;
q: 退出;
wq/x: 保存后退出;
q!: 不保存退出;

保存和退出二(重点):
10,15 w 10.log:把当前文件的10到15行,另存到当前目录的10.log文件中;
10,15s /^/#/g:在10到15行的行首插入“#”;
%s /^/#/g : 在所有行的行首插入“#”;
10,15s /^#//g: 将10到15行的行首的“#”去掉。
显示行号:set nu
不显示行号:set nonu

末行模式下的操作二
文件内容替换(重点):
s /old/new:将当前行中查找到的第一个字符串“old”替换为“new”;
s /old/new/g:将当前行中查找到的所有字符串“old”替换为“new”;
s /old/new/c:在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认;
#,# s/old/new/g:在行号“#,#”范围内替换所有的字符串“old”为“new”;
%s /^c/C/g:把当前文档中所有以c开头的内容替换成C;

末行模式下的操作三
打开新文件或读入其他文件内容:
e /home/a.txt:在当前文件下,打开新的文件进行编辑;
q!:两个文件都退出来了;