2012-05-16 31 views
3

我有一個字符串值列表,我想autoformat但vim打破了字符串,如果它有一個空格。如何讓vim在autoformating時不會破壞字符串?

這可以以某種方式修復嗎?

例如

"sdasda", "asdasdasd", "afasfasf", "asdasda asdasd", "asdasd" 

成爲

"sdasda", "asdasdasd", "afasfasf", "asdasda 
    asdasd", "asdasd" 

,但我想

"sdasda", "asdasdasd", "afasfasf", 
    "asdasda asdasd", "asdasd" 

額外的好處:這將是很好的它支持不同的字符串formatings(Python中,」'。和「」「)

+0

使用語法信息進行格式化可能會有一些技巧,但這超出了我的vim技能。在[vim_use](http://groups.google.com/group/vim_use)上閒逛的人可能會發現這個問題很容易回答。 – Lumi

+0

可能值得注意的是,我需要它來支持不同的字符串表示(python程序員需要支持「'和」「」) – Sedrik

+0

@Lumi我會給他們鏈接到問題=)謝謝 – Sedrik

回答

1

這可以通過自定義'formatexpr'(在光標前檢查未封閉的字符串報價,然後從該位置執行重新格式化而不是插入位置)來實現。

不過,我還沒有看到任何自定義'formatexp'在我多年的Vim使用的,因此,除非事情變成了這裏或vim_use [檔案],你可能有自己實現這樣的事情(這是不平凡如果你還想支持通過gq重新格式化,並且需要Vimscript的體面知識)。