在 vim 中通过 grep 选择结果文件

2024-01-22

当我使用 :grep 在 vi​​m 中运行 grep 搜索后,我得到了一个文件列表。有没有办法选择其中一个文件并在该特定行的新选项卡中打开它?


只是为了完整性,以及:copen命令,还有:cw,如果有条目,它只会打开“quickfix”窗口(因此,如果您的 grep 没有结果,它就不会出现)。

我认为在新选项卡中打开文件的最简单方法(无需定义映射)是:

:cw                " Open the quickfix window
Ctrl-W T           " Switch the window into a new tab
<ENTER>            " Open the file/line

或者,你可以这样做:

:cw                " Open the quick fix window
Ctrl-W <ENTER>     " Open the file/line in a new window
Ctrl-W T           " Move the new window to a new tab

如果您想默认执行此操作,您可能可以使用BufEnter and BufLeaveautocmds 在进入和离开快速修复窗口时创建和删除映射;然而,这可能并非小事。

:help :cw
:help :copen
:help quickfix
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 vim 中通过 grep 选择结果文件 的相关文章

  • 用于搜索内部文件的 ssh 命令

    几周前 我的两个网站可能被 ftp 暴力攻击所利用 破坏了我网站的许多文件 我发现他们通常会在js或php文件中插入以下代码 Trojan code removed as irrelevant to this question 我想通过 s
  • 如何取消 Vim 中的粘贴操作?

    每当我不小心在 Putty 中右键单击 打开 Vim 时 我的剪贴板上就有相当多的文本 并且 Vim 启动了粘贴操作 该操作已经持续了大约十分钟 我不想丢失未保存的工作 有没有办法指示 Vim 停止粘贴文本 If you re in nor
  • Shell Linux:grep 带有 NULL 字符的精确句子

    我有一个像这样的文件 key 0value n akey 0value n key2 0value n 我必须创建一个以单词作为参数的脚本 我必须返回具有与参数完全相同的键的每一行 I tried grep aF key x0 但 grep
  • 在 Vim 中以反转模式突出显示匹配项

    如何在 Vim 中使用 match 命令突出显示与给定模式不匹配的文本 所以 我想要相反的 match myGroup foo 好吧 你可以这样做 match myBaseHighlight foo 2match myGroup where
  • Vim langmap 中断插件 (bépo)

    我正在使用 b po 键盘映射 http bepo fr http bepo fr 并寻求完美的 vim 映射 So far I used a long list of noremap http bepo fr wiki Vim B C3
  • Vimscript 检查当前缓冲区是否有未保存的更改

    我目前已设置状态行 使其在插入模式下为橙色 否则为白色 如果文件有任何未保存的更改 我想让它在我回到正常模式时变成另一种颜色 因为我经常在兔子洞里走一会儿 想知道为什么我的更改没有生效 小 还不够打我的脸 我找不到任何以 buf 开头且看起
  • 在 vim 中,+register 和 +register 与 .命令?

    我很难理解这个问题的解决方案维姆高尔夫挑战赛 http vimgolf com challenges 5192f96ad8df110002000002 最好的建议解决方案是 cw
  • Vim 中的空格作为制表符和退格键行为

    在我的 vimrc 中我有 set shiftwidth 4 set tabstop 4 set expandtab 当我点击 Tab 按钮时 设置为使用 4 个空格而不是 Tab 但是当我在 Tab 之后按退格键时 我需要退格所有 4 个
  • Foldmethod=同时标记和语法?

    同一文件是否可以根据标记和语法使用折叠 Since foldmethod一次只能设置为一个 我认为您真正可以做到这一点的唯一方法是使用 set foldmethod expr并与foldexpr 即使如此 我也不确定它是否能够完全按照您的要
  • 使用 grep 查找两个字符之间的字符串

    我发现了这一点answer https stackoverflow com a 1454936 2068595用于查找两个字符之间的字符串的正则表达式 就我而言 我想找到之间的每一个模式 and 这是正则表达式 lt 确实 当我尝试它时它有
  • 如何查找出现在括号之间的所有单词?

    我有一个文件 其中包含括号中的一些单词 我想编制一个出现在那里的所有独特单词的列表 例如 This is some text This text has some words in parenthesis Sometimes there a
  • 当我通过 shell 脚本创建 .txt 文件时,为什么文件名末尾出现问号? [复制]

    这个问题在这里已经有答案了 我正在编写一个 shell 脚本 我应该在其中创建 1 个文本文件 当我这样做时 文件名末尾出现一个问号 是什么原因 我正在 bash 脚本中尝试以下方法 1 grep ERROR a1 gt text txt
  • vim 映射键不起作用

    我一直在尝试映射 ctrl 来在 vim 的插入模式下保存 它似乎永远不起作用 http vim wikia com wiki Map Ctrl S to save current or new files http vim wikia c
  • 禁用 VIM 中的警告?

    有没有办法禁用 VIM 中的警告 特别是 当文件从只读变为可写时 我想禁用警告 12 我有一个脚本可以打开文件进行编辑 但 vim 认为文件已更改并发出警告 Thanks 我的 vimrc 中有以下内容 你应该只需要第二个 它将消息回显到状
  • Perl 的 grep 函数如何与正则表达式一起使用?

    以下 grep 函数如何工作 什么作用 0o1Iil do chars grep 0o1Iil 0 9 A Z a z use Data Dumper print Dumper chars 在 chars中生成以下内容 VAR1 0 VAR
  • 在Vim函数中获取不带文件扩展名的文件名

    我想在Vim中获取不带文件扩展名的文件名 我在我的中编写了以下函数 vimrc文件来编译并运行Java程序 function JAVA RUN javac M endfunction map
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • C# 开发人员有什么理由应该学习 Emacs/Vim 吗?

    我在一家纯粹的 Microsoft 商店担任 C 开发人员 最近 我开始在工作之余的空闲时间使用 Gas 和 Linux 自学汇编 我喜欢摆弄 Linux 尽管我对它还很陌生 我一直听说我应该学习 VIM 或 Emacs 但事实是 我绝对不
  • 如何在VIM中设置文件的正确路径?

    每当我击中 pwd在 vim 中命令总是返回路径C Windows system32 即使我在桌面上的 Python 文件中 所以每当我跑步时 python 命令返回 python can t open file Users myname
  • 尝试安装已安装 vimballPlugin 的 vimball

    我想安装这个plugin http www vim org scripts download script php src id 16854 所以首先我提取 zip 的内容 然后执行以下操作 vim camelcasemotion vba

随机推荐