2012-10-28 24 views
13

我現在有我的狀態欄設置,以便它的橙色插入模式和白色除外。如果文件有任何未保存的更改,我會在恢復到正常模式時使其變爲另一種顏色,因爲我經常沿着兔子洞走一段路,想知道爲什麼我的更改沒有生效。小「[+]」不嫌我的臉不夠;)Vimscript中的檢查,如果當前的緩衝區未保存的更改

我無法找到與「BUF」開始的任何功能,看起來像謂詞骯髒雖然。我假設存在一個,但被命名爲別的東西。我預計會有類似bufdirty()bufchanged()。任何指針? :)

回答

19

我認爲你正在尋找

:echo &mod[ified] 

如果修改返回10如果沒有修改。

+0

正是我在找什麼,謝謝! – d11wtq

3

我喜歡使用狀態行顏色來表示緩衝區狀態的想法。事實上,我已經寫了StatusLineHighlight plugin,這表明了以下屬性:修改,只讀,不可修改的,特殊的非文件「從零開始」(而不是您使用的插入模式;對於這一點,我覺得Vim的模式指示在足夠左下角)。

+0

有趣的,我會看看你的插件,並可能使用它,如果它足夠不顯眼:) – d11wtq

+0

使用你的插件,謝謝。改變了所有的顏色,只有幾種模式看起來不同,但效果很好。也許你可以考慮添加StatusLineInsert到列表(然後我可以鞏固自己的自動命令!);) – d11wtq

+0

事實上,停止使用它,因爲我不能完全得到我想要的插入模式的行爲(和奇怪的是,前景/背景顏色在重新加載.vimrc時反轉)。儘管如此,我的確竊取了您的智慧,但謝謝! ;)https://github.com/d11wtq/dot-vim/blob/master/vimrc#L161-178 – d11wtq

相關問題