2014-06-28 87 views
2

如何綁定q以強制關閉只讀緩衝區而沒有任何提示?如何綁定q關閉Vim中的只讀緩衝區?

例如,逃逸插件在做:Gst時會這樣做。在該緩衝區q關閉所有內容並返回到該文件。這是一個方便的功能。

如何將其擴展到任何RO緩衝區,因爲將q關閉它是有意義的,我不明白爲什麼宏在RO緩衝區中很有用。你也有其他建議嗎?我發現自己關閉RO緩衝區,這樣多次與:close!

回答

2

你可以做到這一點與有條件的映射,見:help :map-expression

:nnoremap <expr> q (&readonly ? ':close!<CR>' : 'q') 

我仍然不會推薦超載有兩個這樣的命令截然不同的意義; <Leader>q關閉?

+0

感謝您的建議,我也不喜歡超載,但「q」似乎沒有目的只讀緩衝區,它非常直觀地使用恕我直言! – Nishant

+0

您是否看到'q'可能對緩衝區有幫助的用例? q是開始綁定一個宏,並讓你每一次都在RO緩衝區中使用它?只是好奇 ? – Nishant

+0

那麼,你可以編寫一個宏來通過移動和追加到一個寄存器來「收集」某些區域。這對於只讀緩衝區也是有用的。 –

相關問題