在使用h, j, k, l
时,我有时会发现Vim中的文档遍历太慢。
有没有办法暂时增加这些键移动光标的行数/字符数? (即。而不是移动1j
,按j
将移动3j
)
编辑: 解决方案:
:map <F8> :noremap j 3j <CR>
:map <S-F8> :noremap j j <CR>
我想要这样的东西,以便我可以轻松浏览不一定熟悉它的更长的代码体。这种方法使我可以轻松地在“浏览”模式和“编码”模式之间切换。
答案 0 :(得分:19)
虽然可能(使用:noremap j 3j
输入和:noremap j j
输入进行恢复),但很长一段时间内更改行为可能没有用这些钥匙。
有许多方法可以在Vim中导航。当然,您可以使用 Ctrl F 和 Ctrl B 按全屏显示。
您可以在执行导航之前输入一些动作。
您也可以使用直接转到特定行: 9 输入,例如。
如果您看到要导航的文本,请使用 / 或?,然后使用文本。
对于 h 和 l ,您可以使用 b , w 更快地导航字边界,并且< kbd> e ,以及 B , W 和 E 的连续非空格。
答案 1 :(得分:12)
尝试Ctrl + D / Ctrl + U和Ctrl + F / B(分别向上/向下,向前/向后)。
这些文件将比h,j,k,l
更快地遍历文档。
答案 2 :(得分:5)
@Bryan Ross建议的是绝对正确的。我想补充一点。使用relativenumber,它可以帮助您更有效地使用j
和k
。
答案 3 :(得分:1)
Jay回答已经足够了,我想补充以下内容!
vim中有许多不同类型的导航,(其中h,j,k,l只是行导航)。还有一些是:
请参阅此文章以找出执行此操作的快捷键:Essential Vim editor navigation
答案 4 :(得分:1)
另一件有用的事情是打开行号(:设置号码)。如果您在屏幕上看到需要去的地方并看到行号,那就是G.
如果您处理块中的代码,%将移动到匹配的括号,括号等。
如果处理包含大量古怪字符的文件,t,T,f和F非常有用。
答案 5 :(得分:0)
尝试CTRL + Y
和CTRL + E
滚动而不是移动行
使用CTRL + B
滚动到页面底部,使用CTRL + F
滚动到页面顶部
使用H
(高度),M
(中间),L
(低)将光标移动到屏幕的顶部,中间和底部
您还可以提高CTRL + Y
和其他键的速度,此答案在https://stackoverflow.com/a/7990810/10539792中进行了解释
答案 6 :(得分:-1)
我知道有很多vim技巧可以快速遍历,但对我来说最舒服的是一个机械键盘,当你按住一个按钮时内置重复率增加它会增加j或k的重复reat等所以遍历也将快速而顺畅。 (很好!) 但是当你拥有你的vimrc但却没有你的键盘而不是通用的解决方案时它很烦人。