改變製表*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...