gpt4 book ai didi

Vim:选择文件后保持位置列表窗口打开

转载 作者:行者123 更新时间:2023-12-02 08:25:45 24 4
gpt4 key购买 nike

我需要与 this question 完全相反的行为.我的观察是,在位置列表窗口的一行上按 enter 后,窗口将关闭,主窗口将显示所选文件的内容。相反,quickfix 窗口没有这种行为,即它在选择后保持打开状态。

我检查了我的 autocmd,没有对位置列表或快速修复列表进行特殊处理。

一个示例 - :lgrep hi * 来填充位置列表。 lopen 打开位置列表窗口。在任意行按 enter

最佳答案

Syntastic 和位置列表窗口

Syntastic默认情况下,在没有错误时关闭位置列表窗口。因此,如果您使用类似 :lgrep 的东西它不会将任何结果标记为错误,然后一旦您离开位置列表窗口,位置列表窗口就会关闭,例如喜欢用 <cr>跳转到一个位置。

Syntastic 提供了一种通过 g:syntastic_auto_loc_list 进行调整的方法多变的。将其设置为 0将禁用自动关闭功能。

在您的 vimrc 中设置以下内容文件:

let g:syntastic_auto_loc_list = 0

要了解有关此变量的更多信息,请参阅::h 'syntastic_auto_loc_list' .

通用 Vim 调试

通常是测试您的 vimrc 是否正确的最简单方法或者插件导致问题是它将功能与 Vanilla vim 配置(或至少更 Vanilla )进行比较。通过在没有 vimrc 的情况下启动 Vim 来完成此操作。我使用以下调用:

vim -N -u NONE

一旦你以这种方式启动了 Vim,你就可以测试你的错误,看看它是否存在。

  • 如果错误仍然存​​在,那么这意味着它可能是 Vim 特性的一部分,或者是 Vim 本身的错误。在这种情况下,我建议您通过 :h :help 阅读更多文档。 , :h :helpgrep , 和 :h bug-reports
  • 如果错误不存在,则错误是由于您的 vimrc 中的某些内容而发生的或插件。这通常意味着您需要禁用部分 vimrc/插件来尝试找到罪魁祸首。一种快速的方法是使用二进制搜索。

使用:verbose 进行稍微复杂的调试

通常使用 :verbose 更容易直接追踪错误查看最后设置的位置。 (参见 :h :verbose)

  • 将显示上次设置的映射。例如:verbose nmap <leader>foo .参见 :h :map-verbose:h map-listing .
  • 设置也会显示上次设置的位置。例如:verbose set shiftwidth .参见 :h :set-verbose .
  • Autocomd 将显示它们最后定义的位置。例如:verbose autocmd BufEnter .参见 :h :autocmd-verbose:h autocmd-list .

高级调试 'verbosefile'

另一种调试方法是使用 'verbose'/:verbose'verbosefile'有效地记录 Vim 正在做什么。

使用示例 :verbose'verbosefile'调试你的错误。

  • :lgrep命令
  • 通过:lopen 打开位置列表窗口
  • 设置'verbosefile'通过:set verbosefile=~/verbose.txt
  • :15verbose normal <c-v><cr>
  • 现在通过 :sp ~/verbose.txt 打开日志文件
  • 在日志文件中搜索任何可疑的内容。例如closelclose在你的情况下
  • 找到后,它会显示 autocmd或导致关闭的函数。
  • 如果autocmd考虑修改它。
  • 如果您可能需要查看功能,请查看 :scriptnames找出哪个文件与脚本本地函数相关联。参见 :scriptnames:h <SID> .

我发现使用 Tim Pope 的 scriptease.vim通过提供 :Verbose 使这个过程更容易将设置 'verbosefile' 的命令为您提供并随后在预览窗口中打开它。 Scriptease 还为 :scriptnames 提供了一个很好的包装器通过:Scriptnames .一般来说,scriptease.vim 提供了许多有用的方法来调试和重新加载插件。

更多帮助

:h 'syntastic_auto_loc_list'
:h syntastic
:h -u
:h -N
:h :help
:h :helpgrep
:h bug-reports
:h :map
:h map-listing
:h :set
:h set-option
:h :set-verbose
:h :autocmd-verbose
:h autocmd-list
:h 'verbose'
:h :verbose
:h 'verbosefile'
:h :scriptnames
:h <SID>
:h :normal
:h c_CTRL-V

关于Vim:选择文件后保持位置列表窗口打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32405480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com