是否有某種方法可以配置vim的gq函數,以便允許在連字符後面(在複合詞中)換行?例如用gq連字符後連續vim
twentieth-
century
順便說一句,我不是我自己的筆記本電腦,但在實驗室中,它運行Windows之一,因此任何解決方案不使用程序,如par
或fmt
獲得積分:-)(雖然我也對使用這些工具的解決方案感興趣,如果這不可能僅使用vim來做到這一點 - 至少我可以在筆記本電腦上做到這一點)。
在此先感謝。
是否有某種方法可以配置vim的gq函數,以便允許在連字符後面(在複合詞中)換行?例如用gq連字符後連續vim
twentieth-
century
順便說一句,我不是我自己的筆記本電腦,但在實驗室中,它運行Windows之一,因此任何解決方案不使用程序,如par
或fmt
獲得積分:-)(雖然我也對使用這些工具的解決方案感興趣,如果這不可能僅使用vim來做到這一點 - 至少我可以在筆記本電腦上做到這一點)。
在此先感謝。
對於ASCII連字符(0x2d),這是不可能的。如果您可以使用Unicode,則可以使用相同的Unicode變體(U + 2010,cp。http://en.wikipedia.org/wiki/Dash)。這可以通過Ctrl-V(在大多數Windows安裝的Vim中的Ctrl-Q)插入,然後是u2010
。或者定義一個有向圖吧:
:digraph -- 8208 " hyphen, U+2010
隨着
:set formatoptions+=m
Vim會
在多字節字符也突破255
瞧!如果你需要將文本保存爲ASCII,你甚至可以寫出映射/來自gq
的映射,來自:substitute
的連字符來回。
我沒有看到讓Vim的內部格式化操作的方法;我認爲你可能會被限制爲'formatexpr'或'formatprg' - 並且編寫你自己的Vim代碼來複制內部格式並進行輕微的修改將會很難......所以不幸的是外部程序可能是唯一的直截了當的方式。 – Cascabel 2010-07-27 12:23:39
那麼,你知道如何配置'par'嗎? (我是用純粹的懶惰來問這個問題的,我不想今天閱讀'par'的超長頁面:-))謝謝。 – antony 2010-07-27 15:37:22
如何在**' - '**之前或之後添加空間? – 2012-04-07 17:56:11