2011-12-29 141 views

回答

64

使用:syntax sync fromstart

我得到的小費從http://vim.wikia.com/wiki/Fix_syntax_highlighting

那篇文章還建議創建該命令映射例如映射F12:

noremap <F12> <Esc>:syntax sync fromstart<CR> 
inoremap <F12> <C-o>:syntax sync fromstart<CR> 
+0

這有效,但刪除了拼寫檢查的下劃線。任何方式來防止呢? – 2014-06-30 19:52:55

+1

對不起,我不知道。我沒有任何事情正在拼寫檢查。它可能取決於你的特定插件。如果沒有人回答,可能值得提出一個有所有相關信息的問題。 – 2014-07-01 00:34:50

+0

我最終使用'autocmd BufEnter,InsertLeave *:語法同步fromstart'來強制語法同步後,我進入一個緩衝區。語法同步也會在發生InsertLeave事件時觸發。 – 2016-02-17 19:27:16

30

嘗試:

:e 

如果你有文件未保存的更改。

或者:

:syn off | syn on 
+0

:E使用,但這是不方便 – tomekfranek 2012-01-04 17:07:19

+0

創建一個映射,以緩解疼痛,像''NMAP :Rmodel |電子'' – holygeek 2012-01-04 17:29:27

+2

這似乎應該有一些內建命令刷新語法高亮顯示。別的東西,似乎工作是跳轉到該文件的另一部分,如開始或結束,跳回,例如:'GG \'\'' – 2012-11-02 22:43:22

-1

嘗試:

:Rrefresh! 

此命令刷新緩存的某些設置也重裝rails.vim
它幫助我在Rails中刷新語法高亮。

+0

這個_only_適用於'rails.vim',不是一個通用的解決方案。沒有這個插件,這個命令不存在。 – wchargin 2016-12-29 07:17:03

3

另一種選擇是:

doautocmd Syntax 
8

有時語法是OK的,但所有這一切都得到壞的彎折。在這種情況下,zx幫助很大。

從VIM文檔:

ZX

更新摺疊:撤消被手工打開和關閉的摺疊:再次申請 '摺疊級別',然後使用 「zv」:查看光標所在行。 也強制重新計算褶皺。使用 「foldexpr」裏時,這是有用的,該緩衝區導致 褶皺不正確更新的方式改變。

3

嘗試了上述所有 - 沒有爲我工作。

,做工作的唯一事情是: :filetype detect 所以我重新映射了快捷方式 :noremap <Leader> :filetype detect