前言
使用Vim一年多,工作中像hjkl,gg,dd,G,daw,点范式这些命令都很常用,用得多了,自然而已就记住了,这是记录一下不那么常用,但是关系的时候能四两拨千斤的命令。用得不是最多的,很容易忘,关键的时候又少不了。在这里记录一下,不求多全,只求实用。
这篇博客适合有一定基础有童鞋,但是不适合Vim刚入门的童鞋。
行相关
设置每行的宽度为100个字符
:set textwidth=100
设置自动换行
:set wrap
不自动换行
:set nowrap
粘贴不自动缩进
:set paste
屏幕滚动
使当前光标所在行牌屏幕第一行
z + Enter
使当前光标所在行牌屏幕中间行
z + .
使当前光标所在行牌屏幕最后一行
z + -
Tab与空格
设置自动缩进所使用的空白长度为4
:set sw=4
设置tab所占的空格长度为4
:set ts=4
注意sw与ts意思是不一样的,设置的时候两个都要设置,
sw是shiftWide的简写,表示每一级缩进的宽度为4个空格
ts是tabstop的简写,表示一个tab显示出来是多少个空格的长度,默认是8
设置以4个空格代替tab
:set expandtab
删除包含空白符的空行
:g/^\s*$/d
匹配空行,其中^表示行首,s表示空字符,包括空格和制表符,*重复0到n个前面的字符,$表示行尾。连起来就是匹配只有空字符的行,也就是空行。
^s*$ :
TAB替换为空格
对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:
:set ts=4
:set expandtab
:%retab!
空格替换为TAB:
:set ts=4
:set noexpandtab
:%retab!
在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:
set ts=4
set expandtab
文件切换
在已经打开的vim中打开新的文件
:e filename
在两个已经打开的文件之间切换
Ctrl + 6
# 下一下文件
:bn
# 上一个文件
:bp
#第几个文件
:b1~n