Vim编辑器的三种工作模式:
命令模式(默认模式):复制,粘贴,剪切,切换到其他模式
输入模式(编辑模式):a\\i\\o,针对每个字符进行编辑,删除
末行模式(扩展模式):保存,退出,保存并退出,字符替换等 光标方向移动
操作类型
剪切(删除)
删除当前光标处单个字符:x或者Del剪切当前行:dd
剪切从光标处开始的#行内容:#dd
删除当前光标前到行首所有内容:d^
删除当前光标到行尾所有内容:d$
粘贴
粘贴到当前行下:p
粘贴到当前行上:P
撤销
取消最近一次操作:u
反撤销:ctrl+r
复制
复制当前行:yy 复制从光标开始处的#行内容:#yy
保存
保存并退出当前编辑:ZZ shift+‘;’ :set number
查找
从上而下在文件中查找字符串“word”:/word
从下而上在文件中查找字符串“word”:?word
命令模式:
翻页
向上翻页:Page Up或Ctrl+B
向下翻页:Page Down或Ctrl+F
行内快速跳转
跳转至行首:Home键或者“^”、数字“0”
跳转到行尾:End键或“$"
行间快速跳转
跳转到文件首行:1G或者gg
跳转到文件末行:G
#G 其中#代表数字,#G表示跳转到文件中的第#行
直接输入数字+回车,表示从当前行开始计算,跳到文件位置的累加行
输入模式:
a:在当前光标所在位置的后面输入字符
i:在当前光标所在位置的前面输入字符
o:在当前光标所在位置的下面重新开启一行输入字符
A:跳转到当前光标所在行行尾输入字符
I:跳转到当前光标所在行行首输入字符
O:在当前光标所在位置的上面重新开启一行输入字符
s:删除光标后的一个字符,然后进入输入模式
S:删除光标所在的行,然后进入输入模式
末行模式
显示行号 :set nu
取消显示行号 :set nonu
保存
保存修改内容:‘:w’
另存为:‘ :w /路径/文件’
未修改退出:‘:q’ 放弃修改强制退出:‘:q!’保存并退出:‘:wq’
打开新文件编辑 :e /路径/文件
读入文件内容到当前编辑 :r /路径/文件
替换
将当前行中查找到的第一个字符“old” 替换为“new” :s/old/new
将当前行中查找到的所有字符串“old” 替换“new” :s/old/new/g
在行号“#,#”范围内替换所有的字符串“old”为“new” :#,#s/old/new/g
在整个文件范围内替换所有的字符串“old”为“new” :%s/old/new/g
vim 指令创建文件
vim file 文件在则打开文件,不在则创建一个文件,光标在缓冲区1行1列
vim -r filename 在上次vim编辑发生系统崩溃时,恢复filename文件
vim +# file 文件在则打开文件,不在则创建一个文件,光标在文件#行1列
vim + file 文件在则打开文件,不在则创建一个文件,光标在文件最后1行1列
vim +/string file 文件在则打开文件,不在则创建一个文件,光标在文件第一次出现string的行首位置
vim !$*
表示重复使用上一条指令的最后一个参数 替换文本文件中的字符 tr \[原始字符\] \ [目标字符\]
扩展:命令执行时的具体顺序
- 第一顺位执行用绝对路径或相对路径执行的命令
- 第二顺位执行别名
- 第三顺位执行BASH内部命令
- 第四顺位执行按照
cat testfile | tr a-z A-Z cat testfile | tr \[:lower:\] \[:upper:\]
*PATH环境变量定义的目录查找顺序找到的第一条指令
注意:
命令别名的优先级高于命令本身,比如alias vi=‘vim’,那么原始vim就不能使用,除非确定原命令不用,否则别名不能和系统命名重名。
思维导图小结:
标签:文件,字符,必备,跳转,vim,当前,Linux,光标 From: https://blog.csdn.net/qq_62987084/article/details/139872014