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 -