vim : <silent> nmap

标签 vim silent

在 vim 中我有这个 nmap

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

如果我没有 Upper 标记并尝试 ,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>

关于vim : <silent> nmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225509/

相关文章:

vim - 有没有办法在vim中压缩标签文件

android - 静默安装应用程序,并授予 INSTALL_PACKAGES 权限

teamcity - 使用 Team City 以静默模式运行 Watin

python - 是否有 subprocess.call 的安静版本?

java - 如何始终检查Android中的状况?

ios - iOS 应用程序可以将设备切换到静音模式吗?

vim - 为什么带数字参数的 vim 映射执行的次数比预期多?

vim - 在vim中获取ctags以转到定义,而不是声明

windows - 如何更改 Vim 中的默认保存位置?

python - 理解 pyvmomi 中的 vim