[英]Preferred way to move around in vim (normal mode)
我没有在stackoverflow上看到这个问题,这是我在vim中最大的痛点:
你们如何在文件中导航? 我发现自己使用hjkl太多,或者过于重复,我希望在这方面做得更好。 当你在一台大型显示器上时,这很令人沮丧。
我安装了EasyMotion - 到目前为止它对我有好处 - 我只是想知道是否有更好的东西......
谢谢!
我喜欢Ted Naleid的备忘单 。 它就像一个十字线,因此您可以轻松找到水平和垂直运动。 把它放在显示器旁边的墙上,你很快就会拿起新的动作。
我最近喜欢的动作是:
我用b
和w
分别在一行上左右移动。 对于向上和向下,我分别使用Ctrl+u
和Ctrl+d
。 IMO Ctrl+u
和Ctrl+d
优于Ctrl+b
和Ctrl+f
因为它们一次滚动半窗口,因此您不会松开上下文。
到目前为止,我还没有真正使用任何插件在vim中移动。
忘了提两个其他重要的击键, $
和^
分别移动到行尾和行的开头。
几个移动命令:
b B e E f F ge gE gj gk go G h H j k l L M n N t T w W { } / ? ^ $ # * ` ' | %
学习它们,加上所有以[
like [{
在编辑C风格的代码时非常有用...
请参阅:help index.txt
以供参考。
这取决于你想要如何移动,但一般来说,
A
使您在行尾处插入模式 I
在一开始 o
在下面插入一行 O
以上 更有力的是,使用/<thing you want to jump to>
进行搜索非常方便。 在ac文件中格式化函数
int
funcname()
/^funcname
会跳转到函数的开头。 还有更多,但这对于一个刚接触vim的人来说是一个良好的开端。
大多数情况下,我使用以下(按频率顺序):
大多数所有这些都可以在命令之前使用计数进行扩充。
简单文档:
http://vim.wikia.com/wiki/Moving_around
定期运动:
hjkl /箭头键/页面向上/向下翻页
%
将在打开/结束括号之间切换
gg / G移动到顶部/底部
折叠:
对于折叠大块代码,您可以使用折叠。
http://vimdoc.sourceforge.net/htmldoc/fold.html
搜索:
跳转到特定类型/searchstring
东西(与set inc
用于在键入时跳转到匹配)
*
向前搜索光标所在的相同单词
#
相同但向后搜索
您也可以使用标记。
http://vim.wikia.com/wiki/Using_marks
我还使用ctags和跳转来查找多个文件中的内容。
http://vimdoc.sourceforge.net/htmldoc/tagsrch.html
我从来不需要任何其他东西。
我并没有真正看到在一般启蒙方面添加太多东西但是我使用(根据我使用它们的次数排名):
w and b
向右和向左移动一个单词。
/ and ?
在底部或顶部搜索单词或图案。
G and gg
跳到缓冲区的底部和顶部。
<C-f> and <C-b>
跳转到下一个和上一个屏幕。
* and #
跳转到光标下单词的下一个和上一个出现位置。
f and F
在角色向右或向左跳跃。
t and T
跳到右边或左边的角色。
嗬! 和
$ and ^
也很多,跳到一行的结尾和开头。
阅读http://www.viemu.com/a-why-vi-vim.html并运行vimtutor,同时:help motion.txt将非常有用。 我建议始终保持正常模式 - 如上文所述。 一般来说,学习vim是学习钢琴 - 你必须多练习。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.