忽略错误的 vim 窗口中的某些命令

发布于 2024-12-16 11:45:46 字数 159 浏览 0 评论 0原文

很常见的是,我在快速修复、书呆子树或其他特殊窗口中按下 Ctrl-O,以为我在主窗口中。我想做的是返回主窗口中之前的位置。我也倾向于通过在我的快速修复窗口中打开 bufexplorer 来犯这个错误,这会导致一些非常奇怪的问题。

有没有一种简单的方法可以忽略某些类型的缓冲区中的某些命令?

It's pretty common that I'm in a quickfix, nerdtree, or other special window and hit Ctrl-O, thinking I'm in my main window. What I'm trying to do is go back to my previous location in my main window. I tend to also make this mistake by opening up by bufexplorer in my quickfix window, and that causes some really strange problems.

Is there an easy way to ignore certain commands in certain kinds of buffers?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦里南柯 2024-12-23 11:45:46

您始终可以将某些内容映射到 (无操作)

例如在 netrw 中 (:e .

nnoremap <C-o> <NOP>
"<C-o> no longer works

的适用性取决于所讨论的案例。与自动命令中的 Filetype 和 结合使用,可能会产生良好的结果。

You can always map certain things to <NOP> (no operation),

for example in netrw (:e .)

nnoremap <C-o> <NOP>
"<C-o> no longer works

Applicability of this will, of course, depend on a case in question. Combined with Filetype and <buffer> in autocommands this may give good results.

夏日落 2024-12-23 11:45:46

p 让您转到上一个窗口。

<C-w>p let's you go to the previous window.

述情 2024-12-23 11:45:46

要向后跳后向前跳,可以按 Ctrl+I

来自 vim wiki - 跳转到以前访问过的位置

就像网络浏览器一样,您可以后退,然后前进:

 按 Ctrl-O 跳回到上一个(较旧的)位置。
 按 Ctrl-I(与 Tab 相同)可向前跳转到下一个(较新的)位置。

显示当前窗口的跳转列表:

:跳转

您在跳转列表中的当前位置用“>”表示,并且
每行的第一个数字是一个计数,可用于跳转到该数字
位置。例如,按 Ctrl-O 三次后,:jumps
命令可能会显示如下内容:

 跳行 col 文件/文本
   4 102 0 一些文件.txt
   3 93 0 -无效-
   2 23 0 此处显示当前第 23 行
   1 89 34 此处显示当前行 89
> 0 22 40 显示当前窗口的跳转列表:
   1 39 0 此处显示当前第 39 行
   2 995 0 另一个文件.txt
   3 53 102 此处显示当前第 53 行

鉴于上述情况,您可以按:

Ctrl-I 跳转到当前缓冲区中的第 39 行。
Ctrl-O 跳转到当前缓冲区中的第 89 行。
4 然后按 Ctrl-O 跳转到文件 somefile.txt 中的第 102 行。
3 然后按 Ctrl-I 跳转到当前缓冲区中的第 53 行。

在上面的例子中:最后一行被添加到跳转列表中,当
第一个 Ctrl-O 被按下(因此您可以返回到初始状态)
位置:第 53 行,第 102 列)。第 93 行当前缓冲区中没有
已不再存在(跳转位置无效)。

To jump forward after jumping back you can press Ctrl+I.

From vim wiki - Jumping to previously visited locations:

Like a web browser, you can go back, then forward:

 Press Ctrl-O to jump back to the previous (older) location.
 Press Ctrl-I (same as Tab) to jump forward to the next (newer) location.

Display the jump list for the current window with:

:jumps

Your current location in the jump list is indicated with '>', and the
first number in each row is a count that can be used to jump to that
position. For example, after pressing Ctrl-O three times, the :jumps
command may show something like this:

 jump line  col file/text
   4   102    0 somefile.txt
   3    93    0 -invalid-
   2    23    0 the current line 23 is shown here
   1    89   34 the current line 89 is shown here
>  0    22   40 Display the jump list for the current window with:
   1    39    0 the current line 39 is shown here
   2   995    0 anotherfile.txt
   3    53  102 the current line 53 is shown here

Given the above, you could press:

Ctrl-I to jump to line 39 in the current buffer.
Ctrl-O to jump to line 89 in the current buffer.
4 then Ctrl-O to jump to line 102 in file somefile.txt.
3 then Ctrl-I to jump to line 53 in the current buffer.

In the example above: The last line was added to the jump list when
the first Ctrl-O was pressed (so you can return to the initial
position: line 53, column 102). Line 93 in the current buffer no
longer exists (the jump location is invalid).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文