shell的vim编辑器

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文件即可。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容