2
在vim中我有這樣的nmapVIM:<silent> NMAP
nmap <silent> ,mu : marks ABCDEFGHIJKLMNOPQRSTUVWXYZ<CR>
如果我不上有標誌,並嘗試,mu
我得到
E283: No marks matching "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
爲什麼不顯示錯誤輸出?
在vim中我有這樣的nmapVIM:<silent> NMAP
nmap <silent> ,mu : marks ABCDEFGHIJKLMNOPQRSTUVWXYZ<CR>
如果我不上有標誌,並嘗試,mu
我得到
E283: No marks matching "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
爲什麼不顯示錯誤輸出?
嘗試
nnoremap <silent> ,mu :execute "try\nmarks ABCDEFGHIJKLMNOPQRSTUVWXYZ\ncatch /\\V\\^Vim(marks):E283:/\nendtry"<CR>
順便說一句,有沒有寫:nmap
,而不是:nnoremap
理由嗎?如果你沒有理由,除非你想運行在無法預測添加另一個映射(直接到vimrc或安裝插件)的結果的情況下運行,否則不應該這樣做。
編輯(sehe)
爲了讓事情變得更具有可讀性,我建議使用這樣的片段在你$MYVIMRC
:
function! ShowGlobalMarks()
try
marks ABCDEFGHIJKLMNOPQRSTUVWXYZ
catch /E283:/
endtry
endfu
nnoremap <silent> ,mu :call ShowGlobalMarks()<CR>
甚至不知道有嘗試在vimscript中捕獲。謝謝! – MattClimbs