vi/vim
vi/vim是linux中最基本、最常用、功能非常强大的命令行编辑器
vim是vi的一个升级版本
vi有两种工作模式:
命令模式:
键盘上所有的输入字符都被当做是一个命令(快捷键)
如:
用vi打开一个文件,按d键,并不会有d的字符出来
此时d被当做是一条命令
输入模式:
键盘上所有的输入字符都被当做是一个字符
如:
在输入模式下按d键,文件中就会插入一个字符d
两种模式之间的切换:
命令模式 -> 输入模式:
i/I:insert
i:在光标所在的位置开始输入(光标所在字符前插入)
I:光标移动到行首进行插入
a/A:append
a:光标往后移动一个位置插入
A:光标移动到行末插入
o/O:open
o:在光标下方新开一行插入
O:在光标上方新开一行插入
输入模式 -> 命令模式
按 ESC 键就可以了
当我们用vi/vim打开一个文件时,默认是命令模式
vi 退出命令(处于命令模式)
:q
quit 退出,如果修改了文件的内容,那么会提示你是否需要保存
:q!
强制退出,不提示是否需要保存,直接强行退出,不保存
:w
write 写入,保存文件内容(只是保存,不退出)
:w 文件名
把内容保存到 "文件名" 指定的文件中去
等同于 "另存为"
:wq
:x
保存并退出
vi 删除与修改内容的命令(处于命令模式)
x
删除光标位置的字符
dd
delete,删除光标所在的行
ndd
dnd
删除光标以下的n行,其实dd和ndd都是剪切的意思(剪下来,存到粘贴板)
如:
9dd
d9d
r
replace,替换,替换光标所在位置的那个字符
如:
将int中的i改成d
将光标移动到i的位置,然r在按d
R
Replace,替换光标以及后面的多个字符
vi 拷贝与粘贴命令(处于命令模式)
yy
将当前行的内容拷贝到粘贴板中
yny
将光标当前行以下以下的n-1行(总共n行)的内容,拷贝到粘贴板中
p
print,将粘贴板中的内容粘贴到光标当前行的下面(下一行)
P
将粘贴板中的内容粘贴到光标当前行的上面
vi 撤销命令
u/U
undo 撤销
ctrl +o
恢复上次撤销
vi 搜索命令
/要搜索的内容
如:
/int
n
next,找下一个匹配到的内容(从上往下)
N
方向搜索下一个匹配的内容(从下往上)
vi 替换命令
:{作用范围}s/{目标}/{替换的内容}/{替换标志}
作用范围:
如果省略作用范围,默认就是指当前行
全文 %
选区
5,12 文件的5-12行
.,+6 光标当前位置以及接下来的6行
替换标志:
默认为 gi(全局替换并且忽略大小写)
g global全局替换(所有出现的目标都替换掉)
i 忽略大小写
vi 显示行号
:set nu
vi/vim的配置文件
.vimrc
在linux中以.开头的文件,是隐藏文件
~/vimrc
~称之为家目录,cd ~