VIM超快速导航

我错过了使用其他编辑器的唯一方法是用鼠标find我的位置。 我可以用眼睛看文件上的特定区域,并用鼠标的移动和点击我在那里。 随着VIM我必须jjjjjkkkkkkjjjjhhhh …几乎在那里哦,废话我错过了3个字符,三。

我正在学习做标记,我发现一个很好的书签插件,我可以用<f3>创build标记并销毁它们,然后导航到它们,遗憾的是标记在文件closures时被遗忘。

你怎么都超级导航文件? 我知道我也可以做5j7k4j5h等,但必须有一个插件,可以读我的眼睛,把光标放在我真正需要的地方。

我也学会了使用/%来search特定的术语。 它确实有帮助,但是所有匹配的字符都在整个文档中突出显示。

尝试$ vimtutor ,它会教你一切你需要知道开始。

hjkl是冰山一angular的尖端,很less使用,至less在我的情况下。

wWEeBbgegE都允许BbgegE移动:

  • we前进, WE考虑到空格和标点符号

     " here the * marks the default location of the cursor " and each letter shows where you jump when you hit the key. Latin: Lorem ipsum dolor sit amet. * eee * EEE * wwwwwww * WWWWWW 
  • bge倒退, BgE考虑空格和标点符号

     Latin: Lorem ipsum dolor sit amet. bbbb * BBB * ge ge ge* ge gE gE gE* 

fFtT用于达到当前行上的特定字符;,用于重复那个运动,在同一个方向上; 并在相反的方向,为:

  • fm跳到下一个m前进, F后退

     Latin: Lorem ipsum dolor sit amet. * fm ; ; ; Fm * 
  • tm在下一个m前跳, T后退

     Latin: Lorem ipsum dolor sit amet. * tm ; ; ; Tm * 

/? 用于从当前光标位置跳转到第一个出现的模式:

  • /pattern前进

     Latin: Lorem ipsum dolor sit amet. * /ips 
  • ?pattern落后

     Latin: Lorem ipsum dolor sit amet. ?Lat * 

0$用于跳转到该行的第一个和最后一个字符。

  (whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace) 0 * $ 

^g_用于跳转到该行的第一个和最后一个可打印字符。

  (whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace) ^ * g_ 

Single和Combined ()[]{}用于逐句或逐段地移动或通过代码块来移动代码块。

<Cb><Cf>用于向前和向后滚动屏幕。

<Cu><Cd>用于向前和向后滚动半屏。

HML将光标移动到视口的顶部,中部和底部。

ztzzzb将光标下方的行移动到视口的顶部,中部和底部。

等等。

:help motion.txt会打击你的思想。

除了vim的动作命令之外,我发现一个名为EasyMotion的vim插件对于导航非常有用,如果你熟悉vimperator或者pentadactyl,EasyMotion就会把提示模式带回到vim。 这里是一个animation演示, 这里是video教程。 希望这对你有所帮助。

在vim中有几十种方法可以移动,这是它真正强大的领域之一。 我用{}很多,在这个方向上下移动到下一个空行。 对于来回移动到任何types的匹配括号是有用的。 WB前后移动一个“单词”。

Vim手册的移动部分可能是值得回顾的。

vim有鼠标支持! 试试这个(在你的.vimrc中):

 set mouse=a 

旁注 :作为一个屏幕用户,我发现我也需要

 set ttymouse=xterm2 

为此工作。

我个人更喜欢使用:

 "/<chars><enter>" to quickly move to somewhere ( extremely fast! trust me! ) ":<number>" to go to some line, "ctrl + f/b" to forward/back "g;" to move to the last editing place. "w/b" to move by word "jklh" to move your cursor to the exact position 

使用选项relativenumber ( :help relativenumber – 包含在Vim 7.3中 ),您可以通过[count]k[count]j移动到达您的眼睛下方的行,您可以使用ftweb在当前行中移动由@romainl。

除了{}()<number>cb<number>cB<number>cW% ,我使用这样的导航技术:

  • diwdiwciWdiW ) 快速编辑/删除光标下的单词(包括非空格字符)
  • ci(ci"ca(ca" )等)可以快速编辑括号内的括号,括号(括号,引号),同样适用于d
  • 使用大写字母标记以全局(跨文件)设置它们并持久(缓冲区closures时)。 例如, mA将创build全局标记A ,该标记可以用'A命令(或`A来尊重列)。
  • gf快速进入光标下的文件
  • ftFT )移动到字符前,字符右(左)(使用;重复)。 这些对dc命令特别有用(使用重复)。
  • ^]移动到标签,然后^T移回。

和很多其他的方式来移动:)

查看更多信息: http : //www.thegeekstuff.com/2009/03/8-essential-vim-editor-navigation-fundamentals/

PS对于rails用户,有一个非常有用的rails-vim插件,你可能也想看看。

这是学习主要导航命令的好地方,vim的一些function/速度来自于动作和动作的组合, d10j > change word, d10j > delete 10 lines down等。另外这个和这个很有趣读取。

您可以:set nohlsearchclosuressearch字符的突出显示。

我也使用ctags进行导航。