【问题标题】:vim : <silent> nmapvim : <静默> nmap
【发布时间】:2012-04-13 12:28:09
【问题描述】:

在 vim 我有这个 nmap

nmap <silent> ,mu : marks ABCDEFGHIJKLMNOPQRSTUVWXYZ<CR>

如果我没有高分,请尝试,mu 我得到

E283: No marks matching "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

为什么不显示错误输出?

【问题讨论】:

    标签: vim silent


    【解决方案1】:

    试试

     nnoremap <silent> ,mu :execute "try\nmarks ABCDEFGHIJKLMNOPQRSTUVWXYZ\ncatch /\\V\\^Vim(marks):E283:/\nendtry"<CR>
    

    顺便问一下,写:nmap而不是:nnoremap有什么原因吗?如果您没有理由,则不应这样做,除非您想在无法预测添加另一个映射(直接到 vimrc 或通过安装插件)的结果的情况下运行。

    编辑 (sehe)

    为了使内容更具可读性,我建议在您的$MYVIMRC 中使用这样的 sn-p:

    function! ShowGlobalMarks()
        try
            marks ABCDEFGHIJKLMNOPQRSTUVWXYZ
        catch /E283:/
        endtry
    endfu
    
    nnoremap <silent> ,mu :call ShowGlobalMarks()<CR>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 2022-08-15
      • 2016-07-15
      相关资源
      最近更新 更多