设置行号
1
:set nu
跳到文件头和文末结尾
gg : 跳转到文件头 Shift+g : 跳转到文件末尾
清空整个文件内容
首先,使用gg调整光标到首行,然后使用dG命令即可。
全局替换
1
2
3
4
:[addr]s/源字符串/目的字符串/[option] #s表示替换操作
如:
:%s/源字符串/目的字符串/c
:%s/源字符串/目的字符串/g
[addr] 表示检索范围:
如:“1,20” :表示从第1行到20行;
“%” :表示整个文件,同“1,$”;
“. ,$” :从当前行到文件尾;
[option] : 表示操作类型,如:
g 表示全局替换;
c 表示进行确认
p 表示替代结果逐行显示(Ctrl + L恢复屏幕);
省略option时仅对每行第一个匹配串进行替换;
如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义
乱码
查看文件编码格式
1
:set fileencoding
先检查ssh工具的终端编码格式,不行再编辑~/.vimrc文件,没有就新建该文件,加上如下几行:
1
2
3
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
执行脚本出现 bad interpreter
bad interpreter: No such file or directory
很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识
1
2
vim filename
:set ff?
可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用:set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍.
批量注释
1
2
3
4
5
6
1. 按 ESC 进入 Normal 模式,移动游标定位到 12 行的位置。
2. 按 ctrl+v 即进入纵向编辑模式。
3. 多次按 j 定位到 23 行(结束位置)。
4. 按 I(大写的 i) 进入首行插入模式。
5. 按 # 号注释配置项,这时首行会被注释掉。
6. 在按 ESC 退出纵向编辑模式的同时所有选中的字符前都加了注释,需要等待 1-2 秒才能看到效果。
批量删除注释
Normal模式->ctrl+v进入列编辑模式->上下箭头选中内容->d删除->:wq保存即可
批量删除多行
1
2
3
1.首先在命令模式下,输入“:set nu”显示行号;
2.通过行号确定你要删除的行;
3.命令输入“:32,65d”,回车键,32-65行就被删除了
如果无意中删除错了,可以使用‘u’键恢复