vi/vim拓展资料:https://www.jianshu.com/p/6aa2e0e39f99
Vi 编辑器的配置文件
Vi /etc/virc
Vim /etc/vimrc (常用。定义快捷键)
工作模式:
命令模式、输入模式、末行模式
set nu 显示行号
显示行号的时候,行号不是文件内容,此种当时只是临时的,如果想在文件中永
久带有行号,需要在 vim 的配置文件中添加内容 set nu,
使用命令:vim /etc/vimrc
打开配置文件,在末尾添加一行:set nu
保存即可。
set ff=unix 转换格式
将在Windows下编辑的shell脚本文本转换成Linux可识别的文本格式(在Linux系统中vi打开要转换格式的脚本文本按下ESC键,输入:set ff=unix
,wq保存即可)
noh取消高亮标记
使用vi编辑或者搜索某个文本中的某个关键字后,会发现被搜索后的关键字像是用荧光笔涂上了一样,想要消除标记按esc后再输入:noh
回车即可消除荧光标记
命令模式切换到输入模式:使用按键 a、i、o
a 在光标所在字符后插入
A 在光标所在行尾插入
i:在光标所在字符前插入
I:在光标所在行行首插入
o:在光标下插入新行;
O:在光标上插入新行;
行内快速跳转:^表示跳转到行首,$ 表示跳转到行尾;
行间快速跳转:1G 或 gg 表示首行 G 表示行尾 #G 挑战到文件的第#行;
删除命令
x 或 del 删除光标处的单个字符
dd 表示删除整行
#dd 删除从光标处开始的#行内容
d^ 删除当前光标到行首之前的所有字符;(不包含光标)
d$ 删除当前光标到行尾的所有字符;(包含光标)
复制粘贴
yy 复制当前行整行的内容到剪贴板
#yy 复制从光标处开始的#行内容
p 将缓冲区中的内容粘贴到光标位置处之后(下一行)
P 将缓冲区中的内容粘贴到光标位置处之后(上一行)
r:替换光标之前的字符 替换前按下 r,之后在输入要替换的文字
R:从光标处开始替换,按 ESC 键结束;
末行模式
输入模式下不能直接切换到末行模式下
末行模式命令如下
操作键
/word 从上到下在文件中查找字符串“word”
?word 从下到上在文件中查找字符串“word”
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串
u:撤销。按一次取消最近的一次操作,多次重复按 u 键,恢复已进行的多步操
作
U:用于取消对当前行所做的所有编辑;
shift+zz(小)或者 ZZ:保存当前的文件内容并退出 vi 编辑器;
:w 保存
:w 文件路径
windows 另存为是打开新文件,linux 则相反
:q 未修改退出
:q! 放弃对文件内容的修改,并退出 vi;
:wq 保存文件并退出;
:n,md 删除对行文件。删除的必须是连续的行
:e 文件名 从一个文件中打开另一个文件;
:r 文件名 将一个文件的内容读入到打开的文件中,相当于复制;
cat 不能把文件自己的内容输出到自己
替换
😒 /old/new/ 将当前行中查找到的第一个字符“old” 串替换为“new”
😒 /old/new/g 将当前行中查找到的所有字符“old” 串替换为“new”
:n,m s /old/new/g 将第 n 行到第 m 行的 old 内容替换成 new
:%s /old/new/g 整个文件范围将“old” 转换为 “new”
:%s /old/new/cg 整个文件范围将 “old”转换为 “new”,对替换进行确认
如果不想确认直接按 a 即可,全部替换;
添加注释#: :s /^/#/g
取消注释: :s /^#/ /g
注释添加// :s /^// //g
取消注释//:s/^g
使用绝对路径执行命令,别名不生效;绝对路径没有选项参数;也可以在执行命
令前添加转义符\