簡體   English   中英

瀏覽文件時Vim崩潰

[英]Vim crashing when navigating through file

我對Vim非常陌生。 我已經使用了2天了(在新的子宮內),並且在瀏覽我的某個Ruby文件而沒有崩潰時遇到了一些問題。

在得到錯誤消息之前,這是我重現問題的步驟...

  1. 首先,我使用:edit命令將文件打開為只讀文件

  2. 如果文件沒有語法着色,則將其打開:syntax on (由於某種原因,沒有它就不會崩潰。)

  3. 使用jk上下瀏覽文件(將光標置於會更分散光標的位置時,可以更快地重現崩潰,例如,一行的結尾)


起初我以為.rb文件出了點​​問題,但是我也能夠使用位於lib\\ruby\\2.2.0\\文件夾中的tk.rb文件重現同樣的崩潰。 使用tk.rb花費了更多時間,因為代碼中的注釋使崩潰更加困難。 (我建議在具有很多這樣的行的文件上嘗試使用它)。

這是我重現問題的圖像和正在導航以重現崩潰的文件...

http://puu.sh/jHXXG/14d2cf6460.gif

http://puu.sh/jHVG2/fdae9e38fa.rar

我正在使用Vim 7.4和Windows10。如果需要更多信息,請在評論中詢問。 我想知道如何解決這個問題。 Vim看起來像是一個非常不錯的程序。 但是,如果它會因hjkl導航hjkl自己和我的心碎。 我可能不得不回到公路的前叉,然后沿着emacs的路徑走。

正如評論中指出的那樣,如果問題確實存在於Vim中,則應打開一個錯誤報告。

但首先,您應該嘗試以下操作:

  1. 確保您使用的是帶有最新補丁程序的版本; 有一些報告與您描述的問題類似,並且有可能已經解決。
  2. 除了:syntax之外,檢查是否有任何設置/插件正在觸發問題。 Vim-FAQ 2.5中的過程可能會有所幫助。 一些相關的部分如下:

2.5。 我在Vim中遇到“ xyz”(某些)問題。 如何確定我的安裝程序或Vim存在問題? /我是否在Vim中發現錯誤?

首先,您需要找出錯誤是在實際的運行時文件中還是在與Vim一起分發的任何插件中發生,或者這是來自.vimrc或.gvimrc中任何配置選項的簡單副作用。 所以首先,像這樣啟動vim:

 vim -u NONE -U NONE -N -i NONE 

這將以不兼容模式(-N)啟動Vim,而不讀取viminfo文件(-i NONE),不讀取任何配置文件(-u NONE表示不讀取.vimrc文件,-U NONE表示不讀取.gvimrc文件),或者甚至插件。

如果以此方式啟動Vim時未發生錯誤,則說明問題與您的某些插件或本地設置文件之一中的某些設置有關。 您需要找出引發錯誤的原因,然后嘗試通過以下方式啟動Vim:

 vim -u NONE -U NONE -N 

如果發生錯誤,則問題是您的.viminfo文件。 只需刪除viminfo文件即可。 如果沒有發生錯誤,請嘗試:

 vim -u ~/.vimrc --noplugin -N -i NONE 

這將僅使用您的.vimrc作為配置文件,但不會加載任何插件。 如果這次發生錯誤,則該錯誤可能是由.vimrc文件中的某些配置選項引起的。 根據vimrc文件的長度,很難在該文件中跟蹤源。

最好的方法是在.vimrc的中間添加:finish命令。 然后使用相同的命令行再次重新啟動。 如果錯誤仍然存​​在,則該錯誤必須是由於.vimrc的前半部分中的設置引起的。 如果沒有發生,那么有問題的設置必須位於.vimrc的后半部分。 因此,將:finish命令移至該一半的中間,您會知道這會觸發錯誤並繼續前進,直到找到有問題的選項。 如果您的.vimrc長為350行,則最多需要9次嘗試找到有問題的行(實際上,由於行之間相互依賴,通常可以進一步減少該行)。

如果沒有發生此問題,則僅在加載.vimrc文件時,該錯誤必須是由插件或另一個運行時文件(縮進自動加載或語法腳本)引起的。 檢查:scriptnames命令的輸出,以查看已加載了哪些文件,並嘗試逐個禁用每個文件,並查看哪個文件觸發了該錯誤。 通常,vim加載的文件都有一個簡單的配置變量來禁用它們,但是您需要分別檢查每個文件的內部。

  1. 如果前面的步驟不能解決問題,您可以嘗試檢查類似的錯誤報告,並嘗試一些尚未合並的補丁:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM