由於某些原因,vim一直試圖從錯誤的路徑打開文件COMMIT_EDITMSG。我一直在使用git-gui來做多線提交消息,因爲我懶得修復這個問題,但我厭倦了打開資源管理器來提交一些東西。這裏是一個說明會發生什麼,當我嘗試編輯先前提交消息screengrab:如何讓Vim打開.git COMMIT_EDITMSG而不是.git .git COMMIT_EDITMSG?
,當我嘗試寫文件(注意在錯誤的道路):
當您將編輯器更改爲記事本時突然生效:
編輯:
我已經縮小問題的可能原因這兩個設置(全新安裝後和一些試驗和錯誤):
set autochdir
set encoding=utf-8
錯誤可以重現只有這兩行你的.vimrc(至少在礦山)。奇怪的是,註釋掉其中一個聲明會導致錯誤消失。
另一種方式來重現錯誤就是通過這些命令:
你應該得到".git\COMMIT_EDITMSG" [New DIRECTORY]
本條命令:
vim -N -u NONE --cmd "set autochdir | set encoding=utf-8" .git\COMMIT_EDITMSG
而且奇怪的是,它應該打開文件能夠與這些:
vim -N -u NONE --cmd "set autochdir" .git\COMMIT_EDITMSG
vim -N -u NONE --cmd "set encoding=utf-8" .git\COMMIT_EDITMSG
根據':h autochdir'設置提供的向後兼容性,它可能會打開插件,如果它打開。在這種情況下,它甚至會打破嘗試使用vim的外部程序。 – FDinoff
這個問題似乎相對容易解決。您只需在檢測到相對路徑時防止目錄更改。我只是說。我對Vim的發展一無所知。問題可能比看起來更復雜。 – Segfault
這並不準確;這不是'autochdir'的功能。我的猜測是你使用的插件沒有考慮'autochdir',所以禁用它只是一個解決方法。 –