vim常用命令
vim 常用命令
文本操作
命令描述 | 命令 |
---|---|
自动缩进所使用的空白长度为 4 | :set sw=4 |
tab 所赞同的空格长度为 4 | :set ts=4 |
以 4 个空格代替 tab | :set expandtab |
非贪婪匹配 | 200_.\{-}.gz |
删除包含空白符的空行 | :g/^\s*$/d |
将制表符替换为空格/反过来 | :%retab! |
vim 正则中的换行 | \r |
vim 设置
命令描述 | 命令 |
---|---|
设置行宽度 | :set textwidth=100 |
自动换行 | :set wrap |
粘贴不自动缩进 | :set paste |
指定语法高亮 | :set syn=json |
语法高亮 | :setf shell |
显示隐藏字符 | :set invlist |
不显示隐藏字符 | :set nolist |
屏幕第一行 | z + Enter |
屏幕中间行 | z + . |
屏幕最后行 | z + - |
文件操作
命令描述 | 命令 |
---|---|
在已经打开的 vim 中打开新的文件 | :e filename |
在两个已经打开的文件之间切换 | Ctrl + 6 |
下一下文件 | :bn |
上一个文件 | :bp |
第几个文件 | :b1~n |
Windows 格式的文档改为 Linux | :set ff=unix |
Windows 格式的文档改为 Linux | sed -i ’s/\r//’ filename |
其他操作
TAB 替换为空格
TAB 替换为空格对于已保存的文件,可以使用下面的方法进行空格和 TAB 的替换:
:set ts=4
:set expandtab
:%retab!
空格替换为 TAB
:set ts=4
:set noexpandtab
:%retab!
Vim 插入模式下插入文件名
<C-r> + %
<C-x><C-f>
行操作
:g/pattern/d 是找到pattern, 删之
:v/pattern/d 是找到非pattern, 删之
:%s/xxx//gn,统计xxx个数,n表示只报告匹配的个数而不进行实际的替换。
行去重:
:sort
#去除重复行
:g/^\(.*\)$\n\1$/d
命令行的方式:
cat 文件名 | sort | uniq
格式化
格式化 SQL:
pip install sqlparse
:%!sqlformat --reindent --keywords upper --identifiers lower -