【Linux】vi文件编辑利器常用命令
文章目录
1 浏览文件内容
1.1 使用cat命令
运行cat命令会直接将文件内容都打印出来。
样例如下:
[chaoql@localhost ~]$ cat hallo.txt
hallo world!1
hallo world!2
hallo world!3
hallo world!4
hallo world!5
hallo world!6
hallo world!7
hallo world!8
hallo world!9
hallo world!0
1.2 使用more命令
会将文件内容进行分屏显示,若当前文件内容不足一屏,则显示效果与cat命令一致;若当前文件内容大于一屏,则会进行分屏显示,且最下方会显示当前一屏内容占总内容的百分比,回车显示下一行,按b显示下一行,空格显示下一页,q退出。
样例如下:
[chaoql@localhost ~]$ more a.txt
cd mydir/mydira/
vi kk.c
ls kk.c -l
mv kk.c aa.c
cp aa.c /mydir/kk.c
cp aa.c mydir/kk.c
cd /root
cd /chaoql
cp aa.c ~/mydir/kk.c
cd ..
chmod u=rwx,go=r kk.c
...(中间内容为节省空间,已略去)...
--More--(9%)
1.3 使用vi命令
vi命令涉及一系列操作,但在浏览文件内容时只需要输入vi hallo.txt
即可,其他操作请看后文。
样例如下:
[chaoql@localhost ~]$ vi hallo.txt
hallo world!1
hallo world!2
hallo world!3
hallo world!4
hallo world!5
hallo world!6
hallo world!7
hallo world!8
hallo world!9
hallo world!0
~
~
~
"hallo.txt" 10L, 140C
2 文件编辑
2.1 进入命令模式
首先打开文件,进入命令模式:
[chaoql@localhost ~]$ vi hallo.txt
2.2 进入编辑模式
在命令模式下,若要进入编辑模式,则按i
,如下:
hallo world!1
hallo world!2
hallo world!3
hallo world!4
hallo world!5
hallo world!6
hallo world!7
hallo world!8
hallo world!9
hallo world!0
~
~
~
-- INSERT --
在编辑模式修改文件结束后,按Esc
键即可退出到命令模式,若要继续退出,则输入:q
,若要保存并退出则输入:wq
,若强制退出则输入:q!
。
3 其他操作
3.1 查找字符串
如果我们想要在一个大文件中查找某一个字符串进行修改,按照我们现在学习的知识,通过
vi命令打开文件,然后按键盘上的上下键来滚动光标一行一行肉眼扫描,这样过于麻烦。简单的方法是:在命令模式下,输入/
,然后输入你想要查询的字符串,最后回车即可。
例如输入/3s
,系统光标就会定位到字符串3s
,若全文不止一个3s
,按n
键即可跳转到下一个字符串3s
。
3.2 定位具体行
首先,我们可以在浏览文件内容时显示行数,具体操作为:在命令模式下输入:set nu
,显示样例如下:
1 hallo world!1
2 hallo world!2
3 hallo world!3
4 hallo world!4
5 hallo world!5
6 hallo world!6
7 hallo world!7
8 hallo world!8
9 hallo world!9
10 hallo world!0
~
~
~
:set nu
但是,若要在一个大文件中定位到具体行就不可能采用这种方法,此时在命令模式下输入:
,再输入具体的行号然后按回车,光标就会定位到该行。例如:在命令模式下输入:3
,那么光标就会定位到第3行。
3.3 复制粘贴
用vi命令打开文件进入命令模式,把光标移动到希望复制的那一行内容上面,然后连按yy
,这样就把这一行内容复制上了,然后按p就会把刚才复制的内容粘贴到下一行,按一次p粘贴一行。最后按shift和: 输入wq保存退出即可。
3.4 快速删除
用vi命令打开文件进入命令模式,把光标定位到想要删除的那一行内容上面,连按dd
,就可以删除当前行的内容。
如果想要清空当前行下的所有内容,先连按999
,然后再连按dd
,这样就可以清空光标所在行下的所有内容了。
3.5 快速定位到文件首尾行
用vi命令打开文件进入命令模式,按G
可以快速将光标移动到最后一行。连按gg
即可快速跳转到第一行。