让vim显示空格,tab字符,及vim多行注释
阅读原文时间:2023年07月08日阅读:2

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多行缩进技巧

按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 的地方

5. 设置临时匹配高亮显示

```

set hlsearch

```

6. find 查找需要解压的zip文件

```

find ./ -name "abc*,zip" | xargs -n1 unzip

```