Vim:提高文档遍历速度

发布于 2024-12-13 16:23:06 字数 340 浏览 0 评论 0原文

有时我发现使用 h, j, k, l 时 Vim 中的文档遍历太慢。 有没有办法暂时增加这些键移动光标的行数/字符数? (即,按 j 将移动 3j,而不是移动 1j

编辑: 解决方案:

:map <F8> :noremap j 3j <CR>
:map <S-F8> :noremap j j <CR>

我想要这样的东西,这样我就可以轻松浏览不一定熟悉的更长的代码体。这种方法使我可以轻松地在“浏览”模式和“编码”模式之间切换。

I sometimes find document traversal to be too slow in Vim when using h, j, k, l.
Is there a way to temporally increase the number of lines / characters that these keys move the cursor? (I.e. instead of moving 1j, pressing j will move 3j)

Edit:
Solution:

:map <F8> :noremap j 3j <CR>
:map <S-F8> :noremap j j <CR>

I wanted something like this so that I can easily browse longer bodies of code that am not necessarily familiar it. This approach allows me to easily toggle between "browsing" mode and "coding" mode.

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

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

发布评论

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

评论(7

烟─花易冷 2024-12-20 16:23:06

虽然可能(使用 :noremap j 3j Enter:noremap j j Enter 进行恢复),但可能无法对于改变这些键的行为很长时间很有用。

在 Vim 中导航的方式有很多种。当然,您可以使用 CtrlFCtrlB 全屏前进。

正如您所提到的,您可以在执行导航之前输入移动次数。

例如,您还可以使用 :9Enter 直接转到特定行。

如果您看到要导航到的文本,请使用 /? 后跟文本。

对于 hl,您可以使用 bwe 更快地导航单词边界,以及连续的非空白字符 BWE

While possible (use :noremap j 3j Enter and :noremap j j Enter to restore), it may not be useful for very long to change the behaviour of these keys.

There are many ways to navigate in Vim. Of course you can advance by full screens using CtrlF and CtrlB.

You can, as you alluded to, enter a number of moves before executing the navigation.

You can also go directly to a specific line using :9Enter, for example.

If you see the text to which you want to navigate, use / or ? followed by the text.

For h and l, you can navigate word boundaries more quickly with b, w, and e, and contiguous non-whitespace with B, W, and E.

西瓜 2024-12-20 16:23:06

尝试 Ctrl+D/Ctrl+U 和 Ctrl+F/B(分别为向上/向下、向前/向后)。

这些将比 h,j,k,l 更快地遍历文档。

Try Ctrl+D/Ctrl+U and Ctrl+F/B (Up/Down, Forward/Back respectively).

These will traverse the document much faster than h,j,k,l.

单挑你×的.吻 2024-12-20 16:23:06

@Bryan Ross 的建议是绝对正确的。我想补充一点。使用 relativenumber,它将帮助您使用 j< /code> 和 k 更有效。

What @Bryan Ross have suggested is absolutely right. I want to add just a thing. Use relativenumber, it will help you to use j and k more efficiently.

早乙女 2024-12-20 16:23:06

Jay的回答已经足够了,我想补充一下!

vim 中可能有许多不同类型的导航(其中 h、j、k、l 只是行导航)。更多内容包括:

  • 屏幕导航
  • spl 导航
  • 搜索导航
  • 单词导航

请参阅本文以找出执行此操作的快捷键: 基本 Vim 编辑器导航

Answered by Jay is sufficient, I would like to add the following !

There are many different kinds of navigation possible in vim, ( where as the h, j, k, l are just line navigation ). Some more are:

  • screen navigation
  • spl navigation
  • search navigation
  • word navigation

Refer this write up to find out the short cut keys to do it: Essential Vim editor navigation

熊抱啵儿 2024-12-20 16:23:06

另一件有用的事情是打开行号(:set number)。如果你在屏幕上看到你需要去哪里查看行号,它只是 G。

如果你处理块中的代码,% 会将你移动到匹配的大括号、圆括号等。

如果你处理包含大量古怪的字符 t、T、f 和 F 非常有帮助。

Another thing that helps is to have line numbers turned on (:set number). If you see on the screen where you need to go and see the line number, it's just G.

If you deal with code in blocks, % will move you to a matching brace, parenthesis, etc.

If you deal with files with lots of wacky characters, t, T, f, and F are very helpful.

走过海棠暮 2024-12-20 16:23:06

尝试 CTRL + Y & CTRL + E 滚动而不是移动该行
使用 CTRL + B 滚动到页面底部,使用 CTRL + F 滚动到页面顶部
使用H(高度)、M(中)、L(低)将光标移动到屏幕的顶部、中间和

底部还可以提高 CTRL + Y 和其他键的速度,正如这个答案所解释的https://stackoverflow.com/a/7990810/10539792

try CTRL + Y & CTRL + E to scroll instead of moving the line
use the CTRL + B to scroll to bottom of page and CTRL + F to scroll to top of page
use the H (Height), M (middle), L (low) to move the cursor to top, middle and bottom of screen

you can also increase the speed of CTRL + Y and other keys as of this answer explained https://stackoverflow.com/a/7990810/10539792

歌入人心 2024-12-20 16:23:06

我知道有很多 vim 技巧可以快速遍历,但对我来说最舒服的是机械键盘,内置重复率增加,当你按住按钮时,它会增加 j 或 k 的重复率等,因此遍历将是也又快又顺利。 (太好了!)
但是当你有 vimrc 但没有键盘时,这很烦人,所以这不是一个通用的解决方案。

I know there's so many vim tricks to traversal quickly, but for me is the most comfortable is a mechanical keyboard, with built in repeat rate increase when u hold a button it increase the repeat reat etc for the j or k so the traversal will be quick and smooth too. (So nice!)
But its annoying when u have your vimrc but didnt have your keyboard so not a universal solution.

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