Linux操作系统基础操作之vi文字处理器
直接进入编辑环境
$ vi
进入编辑环境并打开(新建)文件
$ vi myfile
退出vi编辑环境
输入末行命令并保存对文件的修改,并退出编辑器
:wq
输入末行命令放弃对文件的修改,并退出编辑器
:q!
进入编辑模式
insert键
退出编辑模式
Esc键
打开新文件
打开新的文件到vi编辑器中
:e filename
打开新的文件到vi编辑器中,并放弃对当前文件的修改
:e! filename
读取文件内容到当前vi编辑器中
:r filename
保存文件
保存对vi编辑器中已打开文件的修改
:w
另存为文件
将vi编辑器中的内容另存为指定文件名
:w myfile
保存并退出
对vi编辑器中的文件进行保存并退出vi编辑器
:wq
不保存退出
放弃对文件内容的修改,并退出vi编辑器
:q!
光标移动(未进入insert,非编辑模式下)
n<空格>: 向右移动n个字符
0:移动到行首
$:移动到行尾
G:移动到文末
nG:移动到文件的第n行
gg:移到文件第一行
n<回车>:向下移动n行
查找替换(非编辑模式下)
/word: 在当前光标后查找含word的字符串
?word:从光标开始向前查找含word的字符串
:n1,n2s/word1/word2/g:将n1行到n2行之间的word1替换为word2
:1,$s/word1/word2/g:将全文中的word1替换为word2
:1,$s/word1/word2/gc:与上个命令相同,但需要用户确认替换
删除、复制、粘贴(非编辑模式下)
x/X:向后/前删除一个字符
dd:删除整行
ndd:删除从当前列向下的n行
yy:复制当前行
nyy:复制从当前向下的n行
p/P:将复制来的数据粘贴在光标的下/上一行
撤销操作(非编辑模式下)
编辑模式下操作
i/I:在光标出插入(insert)/从当前所在行的第一个非空格符处开始插入
a/A:从光标的下一个字符插入/从光标所在行的最后一个字符插入
o/O:从光标所在行的下/上插入一行
r/R:替换,区别在于r仅替换一个字符,R一直替换到按下Esc才停止
Esc:退出,回到一般模式
:w:将修改写入文件
:q:退出vi
:wq:保存后退出
:wq!:强制保存后退出
:set nu:显示行号
:set nonu:取消行号
多文件处理
一个文件到另一个文件(不在一个编辑框中)
vim 文件名1 文件名2 ……
:n表示查看或编辑下一个文件
:N表示查看或编辑上一个文件
:files显示当前打开的所有文件的编号
在同一个编辑框中
一个终端上同时显示两个文件或同时显示一个文件的不同段落
:sp [filename]
ctrl+w, j/k表示下/上移一个窗口
ctrl+w, q表示退出