2014-03-04 104 views
1

我剛剛開始在Vim。我喜歡的一個功能是>>和< <用於縮進/取消縮進一行,而不需要將光標放在行的開頭。我使用3的移位寬度,擴展到空格。「Snappy」縮進Vim?

我的問題是,當使用>>或< <有沒有辦法讓這條線「對齊」到最近的「完美」縮進?即對我來說,這將是第四列,第七,第十,等等。對於深度嵌套的縮進級別,這將非常方便。

或者(雖然稍微不令人滿意/不太理想):一種從行首移除所有空白的方法,然後我可以多次使用>>。

回答

5

shiftround選項將四捨五入到最接近的shiftwidth空間量。

+0

完美,這正是我需要的。謝謝。 – user2625911

0

Vim具有自動縮進模式。對於一個答案,這是一個有點大的話題,但:help autoindent可能是一個好的開始。

此外,==命令將根據之前的行和當前縮進模式的行爲縮進當前行。 (這適用的=濾波器到當前行。)

我通常適用==到行首先爲「校準」,它於參考壓痕,並從那裏撥弄>><<

或者,在多行上:目視選擇,然後=

+0

嗨,這個答案對我也很有用,謝謝。我認爲通過手動完成所有這些,我正在避免學習Vim的自動縮進功能,這可能是「真正的」問題。乾杯。 – user2625911

+0

如果你真的想瘋了,gg = G只是縮進整個文件,或者它的一些子集,只要你可以找出運動擊鍵。 – QuestionC