vi/vim 是linux最基本,最常用、功能最强大的命令行编辑器
“编辑软件” eq:
notepad++,记事本,vscode,source insight等
编辑软件可以分为两类:
1.图形界面的编辑软件
notepad++
gedit
..
2.命令行的编辑软件
vi/vim -->在没有图形系统的linux(eq:嵌入式linux)下面做编辑工作,只能用vi/vim.(目前,随着linux系统的发展,也可以用到其他的编辑器)
vim是vi的一个改进版本。
vi/vim有两个工作模式:
Ⅰ.命令模式
键盘所有的输入字符都当作是一个命令去解析
Ⅱ.输入模式(insert)
键盘上所有输入内容都是一个文本内容。
两种模式之间的切换
命令模式 <------------>输入模式
①.命令模式 ------------>输入模式
i/I: insert
i:进入输入模式后,光标不动
I:进入到输入模式后,光标移动到行首。
a/A: append
a:进入输入模式后,光标往后移动一个字符
A:进入输入模式后,光标移动到行末
o/O:open
进入输入模式后,会新开一行
o:在光标下面开一行
O:在光标上面开一行
②.输入模式 ------------>命令模式
ESC
③.常用的vi/vim的命令(必须要在命令模式)
vi 退出命令
:q
quit 不保存退出,适合文件内容没有修改的情况,如果文件有修改
退出时,会询问是否保存修改,n不保存,y保存
:q!
不保存,强制退出 :w-->保存
:wq-->保存并退出
其他命令
复制一行:yy
复制n行:nyy
复制1个单词:yw
复制n个单词:nyw
剪切一行:dd
剪切n行:ndd
剪切1个单词:dw
剪切n个单词:ndw
删除光标所在的字符:x粘贴:p
%s/hello/apple //把文件中所有的hello替换成apple
4,9s/hello/apple //行数在4-9之间的hello被替换成apple定位到文件的末尾:G
定位到文件的开头:gg:set nu 设置行号
:set nonu 取消行号:数字 光标跳转到指定行行首
:$ 光标跳转到文件末尾行行首:sp filename 上下分屏
:vsp filename 左右分屏