1. 程式人生 > >vi 顯示空格 tab

vi 顯示空格 tab

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