在vim(正常模式)中移动的首选方式
我还没有在stackoverflow上看到这个问题,这是我在vim中最大的痛点: 如何在文件中导航?我发现自己使用hjkl太多了,或者太重复了,我想在这方面做得更好。当你在一个大显示器上时,这是令人沮丧的 我安装了EasyMoon-到目前为止,它对我很好-我只是想知道是否有更好的 谢谢 简单文档:在vim(正常模式)中移动的首选方式,vim,Vim,我还没有在stackoverflow上看到这个问题,这是我在vim中最大的痛点: 如何在文件中导航?我发现自己使用hjkl太多了,或者太重复了,我想在这方面做得更好。当你在一个大显示器上时,这是令人沮丧的 我安装了EasyMoon-到目前为止,它对我很好-我只是想知道是否有更好的 谢谢 简单文档: 定期运动: hjkl/箭头键/向上翻页/向下翻页 %将在打开/结束大括号之间切换 gg/G移到顶部/底部 折叠: 要折叠大块代码,可以使用折叠。 搜索: 跳转到特定类型的内容/searchstri
定期运动:
hjkl/箭头键/向上翻页/向下翻页
%
将在打开/结束大括号之间切换gg/G移到顶部/底部 折叠:
要折叠大块代码,可以使用折叠。
搜索:
跳转到特定类型的内容
/searchstring
(与set inc
一起使用,以便在键入时跳转到匹配项)*
向前搜索光标所在的单词#
相同,但向后搜索
您也可以使用标记。我还使用CTAG和跳跃来跨多个文件查找内容。
我从来都不需要别的东西。我使用
b
和w
在一行上分别向左和向右移动。对于向上和向下,我分别使用Ctrl+u
和Ctrl+d
。IMOCtrl+u
和Ctrl+d
优于Ctrl+b
和Ctrl+f
,因为它们一次滚动半个窗口,这样您就不会失去上下文
到目前为止,我还没有在vim中真正使用任何插件
忘了提到另外两个重要的按键,
$
和^
分别移动到行尾和行首。这取决于您想如何移动,但通常
在行尾将您置于插入模式A
开头I
在下面插入一行o
- 上面的
O
/
搜索非常方便。在c文件中格式化函数
int
funcname()
/^funcname
将跳转到函数的开头。还有很多,但这应该是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 { } / ? ^ $ # * ` ' | %
学习它们,以及所有以[
开头的命令,比如[{
,这在编辑C风格代码时非常有用
请参见:help index.txt
以获取参考。我喜欢。它像一个十字线,因此您可以很容易地找到水平和垂直运动。将它放在显示器旁边的墙上,您很快就会发现新的运动
我最近喜欢的运动有:
- ()和{},这使您可以在源代码中按函数进行跳跃
- /而且?+n/n只要搜索一下,你通常知道你想去哪里
- fx和tx-跳到下一个字符x或之前 当然,你可以做2fx跳到第二个出现的x,就像你可以做所有的动作一样
- %在起始括号和结束括号之间移动
/ and ?
t and T
在底部或顶部搜索单词或图案
G and gg
跳转到缓冲区的底部和顶部
<C-f> and <C-b>
跳转到光标下出现的下一个和上一个单词
f and F
在角色之前向右或向左跳转
/ and ?
t and T
在角色上向右或向左跳跃
/ and ?
t and T
哦!还有
$ and ^
跳到一行的末尾和开头也是很多的。我主要使用以下方法(按频率顺序):
- 'R转到标记位置('离基线太远,无法使用太多)
- /搜索|?向前搜索|向后搜索
- n | n下一个|上一个在搜索中
- H | L | M显示器顶部|底部|中部
- G转到文件末尾
- 1G去1号线
- {返回“段落”(通常是代码块)
- }前进一段
大多数这些都可以在命令前增加一个计数。阅读并运行vimtutor,另外:help motion.txt也会很有用。我建议也一直保持正常模式-如上面的文章所述。一般来说,学习vim就是学习钢琴-你必须多加练习。+1这个备忘单很聪明,很容易理解很长时间以来,我一直把它保存在我的桌面上。对于2020年及以后的人,你仍然可以在archive.org上找到这张壁纸