Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vim(正常模式)中移动的首选方式_Vim - Fatal编程技术网

在vim(正常模式)中移动的首选方式

在vim(正常模式)中移动的首选方式,vim,Vim,我还没有在stackoverflow上看到这个问题,这是我在vim中最大的痛点: 如何在文件中导航?我发现自己使用hjkl太多了,或者太重复了,我想在这方面做得更好。当你在一个大显示器上时,这是令人沮丧的 我安装了EasyMoon-到目前为止,它对我很好-我只是想知道是否有更好的 谢谢 简单文档: 定期运动: hjkl/箭头键/向上翻页/向下翻页 %将在打开/结束大括号之间切换 gg/G移到顶部/底部 折叠: 要折叠大块代码,可以使用折叠。 搜索: 跳转到特定类型的内容/searchstri

我还没有在stackoverflow上看到这个问题,这是我在vim中最大的痛点:

如何在文件中导航?我发现自己使用hjkl太多了,或者太重复了,我想在这方面做得更好。当你在一个大显示器上时,这是令人沮丧的

我安装了EasyMoon-到目前为止,它对我很好-我只是想知道是否有更好的

谢谢

简单文档:

定期运动:
hjkl/箭头键/向上翻页/向下翻页
%
将在打开/结束大括号之间切换
gg/G移到顶部/底部

折叠:
要折叠大块代码,可以使用折叠。

搜索:
跳转到特定类型的内容
/searchstring
(与
set inc
一起使用,以便在键入时跳转到匹配项)
*
向前搜索光标所在的单词
#
相同,但向后搜索

您也可以使用标记。

我还使用CTAG和跳跃来跨多个文件查找内容。


我从来都不需要别的东西。

我使用
b
w
在一行上分别向左和向右移动。对于向上和向下,我分别使用
Ctrl+u
Ctrl+d
。IMO
Ctrl+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上找到这张壁纸