【问题标题】:Preview images in vim explorer在 vim 资源管理器中预览图像
【发布时间】:2016-09-15 14:04:20
【问题描述】:

如何在vim 的资源管理器中预览图像(:Explore 命令)?解决方案之一是使用光标下的文件名作为参数执行特定命令,但我不知道如何获取它。我通过:Explore 的帮助进行了搜索,但找不到任何可以提供帮助的东西。我知道我可以在其他文件管理器中执行此操作,但我希望在 vim 中使用此功能。

【问题讨论】:

    标签: vim file-manager


    【解决方案1】:

    netrw 插件(提供:Explore 命令)有一个内置预览(cp.:help netrw-preview),它使用 Vim 的预览窗口。但是当然,大多数图像文件都是二进制的,所以在 Vim 中打开它可能没有意义;您可能想在外部图像查看器中打开它(例如 eog)。

    这是为预览提供动力的映射(在资源管理器缓冲区中):

    :nmap <buffer> p
    n  p           *@:<C-U>call <SNR>731_NetrwPreview(<SNR>731_NetrwBrowseChgDir(1,<SNR>731_NetrwGetWord(),1))<CR>
    

    内部 (&lt;SNR&gt;731_NetrwBrowseChgDir(1,&lt;SNR&gt;731_NetrwGetWord(),1)) 产生当前文件的完整路径。您可以使用它来启动外部查看器:

    :call system('eog ' . shellescape(<SNR>731_NetrwBrowseChgDir(1,<SNR>731_NetrwGetWord(),1)))
    

    不幸的是,这些 netrw 函数是脚本本地的(&lt;SNR&gt;731 部分可能在您的系统上有所不同),因此您必须直接修改 netrw 插件以添加“外部图像预览”快捷方式,也是因为该映射不是全局映射,而是由插件专门为其资源管理器缓冲区设置的。如果您决定遵循这条路线,我可以为您提供更多详细信息。也可以在不修改插件的情况下扩展插件,但这需要更多的工作。

    【讨论】:

      猜你喜欢
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多