VIM 中Table 替換為空格

2021-04-13 06:26:31 字數 1067 閱讀 6349

改變製表*change-tabs*

*:ret**:retab*

:[range]ret[ab][!] [new_tabstop]

把所有包含的空白序列替代成由新的製表位

[new_tabstop] 確定的空白序列。如果你不指定新的製表位,

或者它為 0,vim 使用原來的製表位 'tabstop'。

已有的 tab 的寬度總是用 'tabstop' 的當前值來計算。

如果有 !,vim 也在合適的時候,把只包含正常空格的字串

換成 tab。

如果置位了 'expandtab',vim 把所有的 tab 換成相當的空

格。該命令把 'tabstop' 設為新值。如果按照預設的情況,在全

檔案上進行處理,視覺上應該不會有任何改變。

小心: 該命令修改 c 程式中的字串裡的任何字元。

要避免這一點,用 "/t" (無論如何,應該養成這個好的習

慣)。":retab!" 也把空格序列換成,這可能會使 printf()

引起混淆。

*retab-example*

下面的例子使用自動命令和 ":retab" 來編輯使用製表位為 8 的檔案,但在編輯時製表

位設定為 4。警告: 字串裡的空格會被改變。另見 'softtabstop' 選項。

:auto bufreadpost *.xx retab! 4

:auto bufwritepre *.xx retab! 8

:auto bufwritepost *.xx retab! 4

:auto bufnewfile *.xx set ts=4

把字串中的空格替換為 20

這個需要注意的是字串的結尾最後乙個字元為 0 並不是空字元,複製時要一塊複製,演算法思想就是先計算出字串中總的空格數,然後 重新計算字串的長度,由於 20 為3個字元,比原來多2個,所以,字串長度是原來字串長度加上空格字元總數 2,就是新的字串的長度。如下 include include using...

C 中的替換空格

分析 我們從字串的後面開始複製和替換。首先準備兩個指標,p1和p2。p1指向原始字串的末尾,而p2指向替換之後的字串的末尾 如圖 a 所示 接下來我們向前移動指標p1,逐個把它指向的字元複製到p2指向的位置,直到碰到第乙個空格為止。此時字串包含如圖 b 所示,灰色背景的區域是做了字元拷貝 移動 的區...

Vim設定Tab寬度 替換Tab為空格

使用者配置 在 home you vimrc中新增以下 後,重啟vim即可實現按tab產生4個空格 set ts 4 注 ts是tabstop的縮寫,設tab寬4個空格 set expandtab 對於已儲存的檔案,可以使用下面的方法進行空格和tab的替換 tab替換為空格 set ts 4 set...