VIM编辑器

vim三种工作模式

命令模式
编辑模式
末行模式

vim的配置文件

vi /etc/vimrc
在最后一行添加一行 set nu,这样打开每个文件都显示行号,即时生效

命令模式

# 可视化模式,支持块选,ctrl+v
# 示例,批量注释 :
1. 将光标定位到需要批量注释的首(尾)行
2. ctrl+v,使用向上或向下选中所有需要注释的行
3. 按I进入插入模式,插入#
4. 连按两下Esc


# 行内跳转
快速移动到行首:Home键 或 ^(Shift+6)
快速移动到行尾:End键 或 $(Shift+4)



# 行间跳转
快速回到文本首行(第一行第一个字母):gg
跳转到第n行行首:ngg


# 删除
删除当前行:dd
删除从当前行开始的n行:ndd
删除从光标位置开始的一个单词:dw
删除从当前字符开始到行尾:D或d$
删除光标所在位置的字符:x
删除光标前面的一个字符:X


# 复制
复制当前行:yy
复制从当前行开始的n行:nyy
复制一个单词:yw


# 粘贴,需先使用删除或复制
粘贴到光标所在行的下一行:p


# 撤销
撤回到上一次变更前文本,可撤销多次:u


# 替换
替换光标所在位置的一个字符:r
替换从光标所在位置开始的一串字符,直到按下[Esc]结束:R

编辑模式

# 即使用英文字母大小写的i、a、o进入不同位置开始编辑,按Esc退出编辑模式
在光标前插入:i
在光标所在行的第一个字符前插入内容:I
在光标后插入:a
在行尾插入:A
在光标所在行的下一行插入新行:o
在光标所在行的上一行插入新行:O

末行模式

# 在命令模式下按下 : 号进入末行模式
不保存退出:q 
强制退出:q! 
将修改写入文件:w
保存退出:wq
强制保存退出:wq! 
将当前文件的内容另存为到路径文件:w 路径/文件
将其他文件内容读入到本文件中来(会复制到本文件光标当前行的下一行):r 路径/文件

设置table键的宽度为4个空格:set ts=4
显示行号:set nu 
取消显示行号:set nonu 
取消高亮:noh 

光标定位到第n行 n表示数字:n 
删除第8行:8d 
删除第4行至第7行:4,7d 
删除第8行至末行:8,$d 
复制第5行:5y 
复制第5行至第7行:5,7y 
复制第2行至末行:2,$y 


# 替换
:s/root/R00T/                   # 替换光标所在行,第一个root替换为R00T
:s/old/new/g                    # 替换光标所在行,一整行中所有匹配到的old改为new
:%s/old/new/g                   # 全篇替换,替换整个文本中所有匹配到的old为new
:开始行,结束行s/old/new/g         # 将从开始行到结束行之间的old替换为new
# 其它示例
:A,Bs/^/#/                      # 在第A行至第B行的行首(^)添加#
:A,Bs/$/!                       # 在第A行至第B行的行尾($)添加!


# 查找
正向查找:/关键字
查找时按 n 向下查找
查找时按 N 向上查找

非正常退出vim编辑器恢复

比如使用vim编辑了一个文件,没保存就断开连接了,或者A窗口打开了一个文件,B窗口又打开了该文件等等这些行为,都会在同目录下生成一个同名的.swp临时文件,该文件为隐藏文件,需要使用`ls -a`查看。
这时再用vim编辑该文件会进入

上面这种状态按q退出,如果需要恢复到上次未保存的vim状态,使用:vim -r 文件名
之后删除掉同名的隐藏临时文件即可,如不需恢复到上次的vim状态,直接删除该临时文件就行。
posted @ 2022-12-28 11:29  待满茶杯  阅读(47)  评论(0编辑  收藏  举报