加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim quickfix list:操纵位置?

发布时间:2020-12-15 21:38:57 所属栏目:安全 来源:网络整理
导读:当我使用 vim时,我偶尔会得到一个像这样的分割菜单设置: ################################################ | | ## | | ## NERDTree | main window | tagbar ## | | ## | | ################################################ 即使tagbar关闭,我也可能会得
当我使用 vim时,我偶尔会得到一个像这样的分割菜单设置:

###############################################
#          |                         |        #
#          |                         |        #
# NERDTree |       main window       | tagbar #
#          |                         |        #
#          |                         |        #
###############################################

即使tagbar关闭,我也可能会得到类似的设置,例如当我比较不同的文件时.

但是,当我执行vimgrep命令时,结果(显示在quickfix列表中)仅显示在主窗口下方,当标签栏(或右侧的其他分割)关闭时.

因此,此设置每次都能正常工作:

###############################################
#          |                                  #
#          |                                  #
# NERDTree |          main window             #
#          |                                  # 
#          |                                  #
#          |__________________________________#
#          |                                  #
#          |  quickfix list: vimgrep results  #
#          |                                  #
###############################################

……虽然这不是:

###############################################
#          |                         |        #
#          |                         |        #
# NERDTree |       main window       | tagbar #
#          |                         |        #
#          |                         |________#
#          |                         | quick- #
#          |                         | fix    #
#          |                         | list:  #
#          |                         | vimgrep#
#          |                         | results#
###############################################

如何强制执行quickfix列表以始终在主窗口下打开(包含vimgrep结果)?

目前它只是正确打开(在主窗口下方),如果 – 并且仅在 – 主窗口右侧没有其他分割窗口.
如果主窗口右侧存在任何拆分,则vimgrep命令始终在那里打开quickfix:/

我已经用vimgrep命令搜索当前在光标下的单词(在整个文件中搜索这个单词):

nnoremap some-key :execute "vimgrep /<" . expand("<cword>") . ">/j ".expand("%") <Bar> cw<CR>

……只是为了表明我正在用vimgrep做什么.

解决方法

可悲的是,Vim没有 project drawer只是窗户(分裂)的概念.使用命令打开Quickfix列表后,例如:copen或:cwindow,最好关闭然后打开NerdTree和Tagbar.像这样的东西:

command! Copen copen|NERDTreeToggle|TagbarClose|TagbarOpen

注意:我没有测试此命令,因为我没有NERDTree或Tagbar插件.这也关注Tagbar窗口,这可能是不受欢迎的.

或者,您可能希望通过保持tagbar和nerdtree关闭来简化工作流程,除非您使用它们.这对某些工作流程有意义,因为需要查看标签或文件结构可能相对不常见(可能是10%的时间).对于标签,您可以完全避免使用标签栏并直接使用:tag命令或使用< c - ]>如果你是一个符号.可以像netrw一样使用Nerdtree来避免这个问题(见Oil and vinegar – split windows and the project drawer).我在帖子中谈到了这些问题:Files,Buffers,and Splits Oh My!

我个人不使用NerdTree,Tagbar或类似的东西.我喜欢一次打开1-2个分裂.我使用像CtrlP这样的模糊查找器projectionist.vim:找到,或者如果我真的必须netrw.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读