2012-05-01 54 views
5

我正在用vim編輯文件。我開始另一個vim編輯同一個文件,它說/tmp/file.swp退出,按「R」恢復它。我選擇恢復。但在此之後,語法高亮無法在該文件上工作(其他文件仍然可用)。我試過:語法和一些命令,但沒有奏效。Vim - 恢復文件後縮進和語法高亮破解

+0

謝謝..自己也有同樣的問題。 – Abhinav

回答

6

您可以嘗試使用下面的命令來指定類型的類型。例如,對於C文件:

:set filetype=c 
+0

感謝您的回答。但是,你能解釋爲什麼發生這種情況,儘管運行swp文件恢復。 – Abhinav

0

可能需要將文件類型設置爲正確的語法:

" C syntax: 
:set ft=c 

" Java syntax: 
:set ft=java 

" Python syntax: 
:set ft=py 

" ... etc. 
0

您可以重新運行緩衝開放過程中通過鍵入:e %其中編輯當前文件再次運行所有自動命令。這將使所有的bufread * auto命令運行,並且你將會得到一切。我相信,如果恢復的文件中存在某些問題,並且自定義自動命令可能會對損壞的文件造成不良影響,那麼他們將被故意禁用。

1

我必須在突然崩潰後恢復vim緩衝區。在文件被正確恢復的同時,我無法對語法突出顯示進行相同的說明。 (我敢肯定這是不是依賴於語言,但爲了完整起見,我的文件是一個python腳本)。

據我所知,這個問題往往是由於無論是會議,作爲stated in this similar question,或語法高亮顯示這是不正確加載。但是vim views也會影響文件在編輯器中的顯示方式。對於像我這樣傾向於automatise the loading of previously stored views的人來說尤其如此。在此預感我刪除了我的存儲視圖文件並解決了問題。

請注意,這個解決方案顯然是有代價的:該文件將用全新視角,即沒有以前的佈局被打開(光標位置,打開/關閉前方作戰等)將VIM記住。這很明顯,但我想我會提到它。

2

我只是用簡單的方法解決它。

我覺得這〜/ vim的/視圖的文件夾/並刪除關於我剛剛恢復的PY文件記錄...

cd ~/.vim/view && ls -alh | grep filename_1 | awk '{print $9}' | xargs rm 

您可以更改爲你喜歡的...只是演示。

:)