vim编辑器
i 健插入
esc 键退出
u 撤销
x 删除
v 选择文本,鼠标左键拖动选择,然后按动左右键选择文本后按y 即可复制【即可实现复制多行】
:1,5 co $ 将1~5行的内容复制到最后一行
:1,5 mo $ 将1~5行的内容剪切到最后一行
:5 co 6 将第5行的内容复制到第6行的后面一行
:1,5 co 6 将1~5行的内容复制到第6行的后面一行
nyy 复制当前光标行及以下的连续n-1行
y$ 复制光标到行尾的位置
y0 复制光标到行首的位置
yy 复制当前行
p 粘贴
dd 删除光标所在行
ndd 删除光标当前行及以下的连续n-1行
d1G 删除光标行到文件第一行内容
dG 删除光标行到文件末尾内容
d0 删除当前光标到本行的行首
d$ 删除当前光标到本行的行尾
:1,10d 删除1——10行的内容
:1,$d 删除全文的内容
:w 保存
:wq 保存退出
:wq! 强制保存退出
:q! 不保存并强制退出
$ 光标定位到本行的末尾
0 光标定位到本行的行首
:$ 光标定位到文件最后一行
:1 光标定位到文件第一行
:set nu 显示行号
:set nonu 取消行号
:nohl 取消对字符的标记
:set autoindent 自动缩行
:set noautoindent 取消自动缩行
:syntax on 开启颜色显示
:syntax off 关闭颜色显示
:set backup 备份
:set autowrite 自动保存
:1,$ s/old/new 将全文中每一行的第一个old替换成new
:1,$ s/old/new/g 将全文中的每个old替换成new
:% s/^/#/g 在每行的行首添加#号,即全注释
:% s/$/#/g 在每行的行尾添加#号
:% s/^#//g 每行的行首的#号去掉,即取消注释
:1,10 s/^#//g 删除1-10行的行首的#号
:% s,^,\#,g 每行开头添加上#号{这里s和g之间的逗号类似于中间的斜线s/var/var/g}
:% s,^#,,g 每行开头的#号替换为空(即删除#号)
:1,2 s,^,\#,g 第一行至第二行添加上#号
查找:
/ 斜线后接查找的内容,n查找下一个,N查找上一个
?问号后接查找的内容(反向查找-从底部往上查找),n查找下一个,N查找上一个
H 光标定位到当前屏幕的上方顶部(High)
M 光标定位到当前屏幕的中间位置(Middle)
L 光标定位到当前屏幕的下方底部(Low)
:n 光标定位到指定n行
vim test.txt
:r /var/test/file.txt 将file.txt的全部内容读取到当前编辑的文件test.txt的当前行的下一行
:10r /var/test/file.txt 将file.txt的全部内容读取到当前编辑的文件test.txt的当前行的第10行的下一行
:r !ls -l 将ls -l 的命令结果读取到到当前编辑的文件test.txt的当前行的下一行
当vi/vim编辑一个文件未正常退出时差生swp文件,下次编辑时提示已有swp文件存在,可在对编辑文件的当前路径下:
删除test.swp文件即可。
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。