2012-09-08 80 views
4

我希望能夠打開使用相同的實例文件,所以我打開文件時添加--remote-silent。但是第一次加載時,Vim會打開一個空的緩衝區,然後是我的文件。所以現在我有2個緩衝區。Vim的--remote無聲始終打開[無名]緩衝區第一個文件

經進一步調查,我發現設置nohidden會解決這個問題。但是,這不僅違背了我的喜好,而且會導致第一個緩衝區沒有語法高亮顯示。

不會發生這種情況沒有--remote-silent選項。

任何幫助表示讚賞。謝謝!

回答

3

沒有已經運行的實例做$ vim --servername FOO --remote[-silent] filename啓動一個新的實例第一然後打開文件:它不像$vim filename。你必須找到一種方法來完全刪除第一個空的緩衝區。

從我有限的測試,增加set bufhidden=wipe~/.vimrc可以解決這個問題。

set bufhidden=wipe,作爲本地到緩衝器,僅被施加到所述第一空緩衝區和之後復位。

請參閱:h bufhidden

這肯定會引起一些問題,當你運行Vim通常,雖然。

編輯

是,set bufhidden=wipe原因明顯的問題。當「正常」啓動時(使用$vim file1),當您編輯第二個不是您想要的文件時,會擦除第一個緩衝區。

在緩衝區的名字一個簡單的檢查可以解決這一問題:

if bufname('%') == '' 
    set bufhidden=wipe 
endif 

語法在任何情況下突出的作品,在這裏。您能否在某處發佈您的~/.vim/~/.vimrc的內容?

+0

成功刪除了緩衝區,但第一個文件沒有語法高亮顯示。而且我也無法打開它。 –

+0

此處文件語法突出顯示。無論如何,bufhidden似乎並不是一個有效的解決方案,因爲它在啓動'$ vim file1'後執行':e file2'時會擦除'file1'。我想,'autocmd'應該是更可取的。 – romainl

+0

@DaltonTan,看我的編輯。 – romainl

相關問題