2011-11-03 74 views
8

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

编辑: 解决方案:

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

我想这样的事情,这样我可以轻松地浏览代码较长机构认为我不一定熟悉它。这种方法使我可以在“浏览”模式和“编码”模式之间轻松切换。

回答

18

虽然可能(使用:noremap j 3j回车:noremap j j输入恢复),它可能不是很长的有益改变这些键的行为。

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

在执行导航之前,您可以像您提到的那样输入多个移动。

您也可以直接去使用特定行:输入,例如。

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

对于ħ,可以用b瓦特,和ë,和连续的非空白更快地导航字边界与W¯¯,和E

+0

感谢您的帮助!回答了我的问题。 +1 –

12

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

这些遍历文档比h,j,k,l快得多。

+0

谢谢你。我想我不久前遇到过这个,忘了它。这对于未来的编码肯定会有帮助。 –

+0

这里值得注意的是,您可以通过第一次传递计数(或设置“滚动”选项)来设置“C-u”和“C-d”滚动的行数。任何后续的印刷机也将使用此计数而不必再次通过。 –

5

@Bryan Ross建议的是完全正确的。我想补充一点。使用relativenumber,它将帮助您更高效地使用jk

+4

非常好,谢谢你。我认为我最喜欢Vim的是,无论我学到多少东西,总有其他很酷的功能潜藏在我身边去尝试。 –

1

由Jay回答已经足够了,我想添加以下内容!

在vim中有很多种不同的导航方式(其中h,j,k,l只是线路导航)。一些较有:

  • 屏导航
  • SPL导航
  • 搜索导航
  • 字导航

转寄此写出来,找出快捷键做到这一点:Essential Vim editor navigation

1

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

如果应对块码,%即你移动到匹配的括号,括号等

如果你处理的文件有很多古怪的字符,t,T,f和F是非常有用的。

-1

我知道有很多vim技巧可以快速遍历,但对我来说最舒适的是一个机械键盘,当你按住按钮时,重复率会提高,从而增加j或k的重复次数等等。遍历也会快捷。 (太好了!) 但是,当你有你的vimrc时它很烦人,但没有你的键盘,所以不是一个通用的解决方案。