考慮我.vimrc
以下行:Vim的:重新映射在插入模式下的美元符號
autocmd Filetype tex inoremap <buffer> $ $$^[i
目的是插入TEX文件兩個美元符號,當我在插入模式下鍵入一個,類似於如何自動關閉括號的作品。
但是,無論何時我打開一個TeX文件,Vim只會打印消息No mapping found
。我也試圖逃過美元符號(... inoremap \$ $$^[i
),但這似乎沒有什麼差別。
考慮我.vimrc
以下行:Vim的:重新映射在插入模式下的美元符號
autocmd Filetype tex inoremap <buffer> $ $$^[i
目的是插入TEX文件兩個美元符號,當我在插入模式下鍵入一個,類似於如何自動關閉括號的作品。
但是,無論何時我打開一個TeX文件,Vim只會打印消息No mapping found
。我也試圖逃過美元符號(... inoremap \$ $$^[i
),但這似乎沒有什麼差別。
想通了。美元符號之間的空格是一個非破壞性空間(鍵入$
需要在我的鍵盤上按AltGr
,這與空間結合在Unix上產生了非破壞性空間)。將其更改爲常規空間解決了問題。
顯然我多次犯過同樣的錯誤,因爲我在嘗試找出問題的原因時,在我的配置周圍的各個地方重新輸入了該命令。
你的問題是,你的VIM認爲你的tex
文件爲plaintex
文件類型。 你應該行
let g:tex_flavor = "latex"
添加到您的.vimrc
文件,使其認識到tex
文件作爲TeX的。
所以,我相信你想那些行添加到您的.vimrc
文件:
let g:tex_flavor = "latex"
autocmd Filetype tex inoremap <buffer> $ $$^[i
你可以找到此問題的詳細信息:
https://superuser.com/questions/208177/vim-and-tex-filetypes-plaintex-vs-tex
事實並非如此,因爲我已在'.vimrc'中設置'g:latex_flavor'。 「找不到映射」消息也表明該命令得到執行。 – mgunyho
爲什麼'$$^[i'而不是'$$'? – SibiCoder
@SibiCoder'^ [i'將光標置於美元符號之間('^ ['是'ESC')。 – mgunyho
順便說一句,你可以寫''而不是'^ [',更容易理解和寫 –
Elisha