1、显示 TAB 键

文件中有 TAB 键的时候,你是看不见的。要把它显示出来:

:set list

现在 TAB 键显示为 ^I,而 $显示在每行的结尾,以便你能找到可能会被你忽略的空白字符在哪里。 
这样做的一个缺点是在有很多 TAB 的时候看起来很丑。如果你使用一个有颜色的终端,或者使用 GUI 模式,Vim 可以用高亮显示空格和TAB。 
使用 ‘listchars’ 选项:

:set listchars=tab:>-,trail:-

现在,TAB会被显示成 ">—" 而行尾多余的空白字符显示成 "-"。看起来好多了,是吧?

————————————————————————————

2、让vim显示行尾的空格

fedora 9系统下 
在/etc/vimrc文件添加如下两行 
highlight WhitespaceEOL ctermbg=red guibg=red 
match WhitespaceEOL /\s\+$/

————————————————————————————

3、vim 的搜索及替换

搜索替换的范围。如果没有指定范围,则只在当前行进行搜索替换。

在所有行进行搜索替换。范围符号%表示在所有行进行搜索替换。:%s/from/to/就是在全文查找from并替换为to。 
在指定的行上进行搜索替换。:1,50s/from/to/表示在第1行和第50行之间(包括1和50行)进行搜索和替换。:45s/from/to/表示仅仅在第45行进行搜索和替换。而"1,$"行号范围和“%“是等价的。

————————————————————————————

4、Vim多行缩进技巧

关键字: vim indent

按v进入visual状态,选择多行,用>或<缩进或缩出

通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。

vim 多行注释

:20,30 s/^/#/g 第20到30行用 # 注释掉。

:20,30 s/^#//g 取消注释

:4,10 s/^[^I ]\+// 去掉行首的空白字符

用 . 表示当前行。

:.,30 s/^/#/g

可以看到 vim 命令针对当前行,在前面加个范围就可以针对多行。

:co 12

把当前行 copy 到行 12 的地方。