【进击的Vimmer】vim学习路线图3——中级移动

当你弄熟了hjkl,正得意的“飞快”地上下左右移动光标的,这时候需要给你泼泼冷水了。学会hjkl是第一步,忘记hjkl是接下来的方向。你看到这句话一定会感觉很装逼,但是这句话是vim大神总结出来的“秘籍”,而且还专门为此做了一个练习的插件:wikitopian/hardmode

这个插件的变态之处就在于没有上下左右的概念,当你call HardMode()之后,你会发现世界上竟有如此愚蠢的设计,瞬间又回到了当初什么都不会的年代,各种不适应,估计不消几秒,你就想要缴械投降了吧。此时你会看到屏幕下方来自大神的嘲讽——You are weak,看来大神为了培养新鲜血液真是用心良苦。

言归正传,除了hjkl之外,vim还有大量的更加高效的移动方式。主要有以下几种:

w、 e、 W、  E、  $、  ^、0、  gg、 G、CTRL-f、CTRL-b

基本移动

每个指令的作用帮助文档里面都有比较详细的介绍。比如:help w,上图中的iw/aw需要配合别的指令来使用,下面会有事例。

解释一下w/W的区别:比如“help_123"既是word也是WORD,而"help-123"是一个WORD,2个word。单个word一般是由字母/下划线/数字等组成,具体组成是在iskeyword中定义,单个WORD包含所有非空格的字符。具体可参考。

上面的都是一般入门都会接触的,下面是稍微高级一点但是非常重要的

+ / -                   移动到下一行/上一行开头

H / L / M            移动到当前屏幕的最上方/最下方/中间

{ / (                    光标向后移动一个段落(以空行隔开)/一句(通常以.结尾)

ctrl-e / ctrl-y       向上/向下滚动屏幕

Ctrl+d  / Ctrl+u   往前/向后滚动半屏

还有一些没怎么用过,但是还是列出来

z<CR>               将光标所在行移动到屏幕顶端

z.                       将光标所在行移动到屏幕中间

z-                       将光标所在行移动到屏幕低端

掌握了上面的一些命令可以显著地提升光标移动的效率,但这还只能算是入门,下面这四个应该可以说是vim的效率担当了。

f/F/t/T

比如如下一行字,光标在开头处,如何迅速定位到括号,并修改()里的内容呢?

public void test(String paraW){}

光标移到行首,依次输入f(ci(,是不是很神奇?坐下坐下,正常操作。相比l以及w都略快吧,f和t的区别在于f会跳转到行内查找的字符(包含),而t会跳转到查找到的字符的前一位(不包含),你可能会感觉上面的指令超纲了,在此稍微翻译一下,f(是指将光标移动到第一个左括号处,c表示修改,i(表示括号内的内容,连起来就是将光标移动到左括号并修改括号里面的内容。你是不是发现原来所谓的指令其实是非常简洁而美丽的语言?

熟练掌握了以上移动指令后,hjkl可以退居二线了。回到hardmode,现在h/l可以用w/W/e/E或者f/F来代替,如果一行很长,f/F的效率绝对比左右移动高,j可以用0b,k可以用$w来代替,如果你感觉$键效率太低,可以map ,l $,具体可以参考之前的配置相关的内容,虽然你会发现有的时候hjkl的效率可能会高一些,但是没办法,先忍一忍,熟练之后,再恢复easymode,到那时vim还是那个vim,你已经不是那个只会上向左右的你了。

另外推荐一下武功秘籍:vim/vi 如何高效使用(键盘图打印版),可以打印下来没事多瞅瞅,多实践就是了。

vim键位图

掌握了这一章的内容,相信你已经是一个合格的vimmer了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从...
    壹首簡單的歌阅读 889评论 0 7
  • 1. vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:v ...
    路痴千行阅读 3,316评论 0 0
  • 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令...
    im蚂蚁阅读 30,826评论 3 48
  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 3,203评论 0 3
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,539评论 9 467