我正在尋找一種方便的方法來修復註釋,其中行長度超過Vim中特定數量的字符。我很擅長用代碼手動執行此操作,尤其是因爲它不是那麼頻繁,而且重構長行通常是語言,或者甚至是代碼風格的依賴,但有了評論,這是純粹的苦差事。修復Vim中太長的註釋行
發生什麼事情是我經常在評論中發現一些問題,調整一個或兩個單詞,並且該行溢出了80個字符的限制。我把最後一個字移到下一行,然後下一行溢出,依此類推。有沒有人知道在Vim中自動執行此操作的方法?
我正在尋找一種方便的方法來修復註釋,其中行長度超過Vim中特定數量的字符。我很擅長用代碼手動執行此操作,尤其是因爲它不是那麼頻繁,而且重構長行通常是語言,或者甚至是代碼風格的依賴,但有了評論,這是純粹的苦差事。修復Vim中太長的註釋行
發生什麼事情是我經常在評論中發現一些問題,調整一個或兩個單詞,並且該行溢出了80個字符的限制。我把最後一個字移到下一行,然後下一行溢出,依此類推。有沒有人知道在Vim中自動執行此操作的方法?
我建議把以下到您的vimrc,如果這是一個普通的問題:
nnoremap <leader>f gqip
這將把領導˚F快捷鍵(F是「格式」)格式化評論(考慮後一個段落設置格式選項標誌)用gq格式化註釋爲當前設置的寬度textwidth
或tw
選項。你應該使用textwidth=80
在.vimrc中設置textwidth。
Formatoptions是你應該擺弄的另一件事,特別是在你的情況下,通過添加acq
標誌與formatoptions+=acq
。小心刪除t
標誌與formatoptions-=t
,因爲它會自動包裝所有的代碼,而不僅僅是認可的評論。完成所有這些之後,您應該能夠僅在評論中打f並格式化,而不管是否被空行包圍。
這裏是格式選項的相關信息,所以你可以做出自己的選擇。
t Auto-wrap text using textwidth
c Auto-wrap comments using textwidth, inserting the current comment
leader automatically.
r Automatically insert the current comment leader after hitting
<Enter> in Insert mode.
o Automatically insert the current comment leader after hitting 'o' or
'O' in Normal mode.
q Allow formatting of comments with "gq".
Note that formatting will not change blank lines or lines containing
only the comment leader. A new paragraph starts after such a line,
or when the comment leader changes.
w Trailing white space indicates a paragraph continues in the next line.
A line that ends in a non-white character ends a paragraph.
a Automatic formatting of paragraphs. Every time text is inserted or
deleted the paragraph will be reformatted. See |auto-format|.
When the 'c' flag is present this only happens for recognized
comments.
我認爲這只是設置textwidth = 80,然後gq重新格式化。 –
噢我的,我簡直不敢相信那很簡單,謝謝! –
@DeepYellow,但它似乎只有*回車*當你在行末寫,不是嗎?如果您在開頭添加文本,它不會將文本移動到下一行。還是我做錯了? –