【问题标题】:How can I automatically close preview window after I move cursor to another window in Vim?将光标移动到 Vim 中的另一个窗口后,如何自动关闭预览窗口?
【发布时间】:2011-05-25 00:38:22
【问题描述】:

我希望当光标不在预览窗口中或预览窗口失去焦点时预览窗口自动消失。有可能吗?

【问题讨论】:

  • @sidyll 不,我不使用 Netrw。我在 Vim 中编写了一个类似 twitter 的服务的客户端,我使用预览窗口来显示时间线。现在我希望在光标移动到另一个窗口时自动关闭预览窗口。
  • 抱歉,最初我以为您指的是 netrw 和 NERDTree 对文件的预览。

标签: vim


【解决方案1】:

您可能想看看自动命令。一个简单的例子是:

autocmd WinLeave * pc

每次离开窗口时都会调用pc(关闭预览窗口)。一个更复杂的例子可以使用一个单独的函数来执行额外的检查:

autocmd WinLeave * call ClosePreviewWindow()

function ClosePreviewWindow()
    if &pvw
        pclose
    endif
endfunction

查看:h autocmd.txt 了解更多信息。该文件在第 5 节中有完整的自动命令事件列表,因此您可以选择更适合的一个。

【讨论】:

  • 谢谢,autocmd.txt 太长了,之前没看。顺便说一句,这里的“&”是什么意思?
  • @Vayn haha​​ 这是 Vim 帮助的唯一问题:信息太多 :-P & 用于回显选项值。任何选项都应该有效。它有点将选项“转换”为变量。例如,您可以尝试:echo &tw,它与tw 的值相呼应。检查:h expr-option
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多