IT培训-高端面授IT培训机构
云和教育:云和数据集团高端IT职业教育品牌 全国咨询热线:0371-86588008
课程 请选择课程
    校区 请选择校区
      • 华为
        授权培训中心
      • 腾讯云
        一级认证培训中心
      • 百度营销大学
        豫陕深授权运营中心
      • Oracle甲骨文
        OAEP中心
      • Microsoft Azure
        微软云合作伙伴
      • Unity公司
        战略合作伙伴
      • 普华基础软件
        战略合作伙伴
      • 新开普(股票代码300248)
        旗下丹诚开普投资
      • 中国互联网百强企业锐之旗
        旗下锐旗资本投资

      Web前端:提高工作效率的7个Vim使用技巧

      • 发布时间:
        2019-06-12
      • 版权所有:
        云和教育
      • 分享:

      Vim 是个非常高效、非常好用的工具,很多人一旦开始使用 Vim 之后就再也无法自拔。然而, Vim 仍然有其自身缺陷,对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。本文介绍7个提高你工作效率和生产力的Vim使用技巧,作为你体验使用Vim进行高效操作的入门级教程。

      配图1 提高工作效率的7个Vim使用技巧.jpg

      1、重映射 vim 的 ESCAPE 键

      vim 有多个模式并不是什么大问题,但在模式间切换的时候会感觉很糟。ESC 键有点远,这太麻烦了。当我面对新的 vim 环境时,所做的第一件事就是添加如下映射:

      inoremap jj <ESC>

      2、重映射 Vim 的 Leader 键

      如果你不熟悉 leader 键,也不知道它能为你做什么,那你就从这开始了解吧。它本质上是作为你快捷键的激活键,你可以自定义用哪个键作为你的 leader 键。所以,你可以:

      nnoremap j VipJ

      这可以让你按下 leader 键结合大写 ‘j’ 后可视化的选择整段并加入行。

      我个人用 ‘,’ 键作为我的leader键,这样我可以用 ‘,’ 激活我所有的快捷键,然后通过 ‘jj’ 退出插入模式。你可以在 .vimrc中像这样映射:

      let mapleader = “,”

      配图2 提高工作效率的7个Vim使用技巧.jpg

      3、光标移动

      Vim的最大好处就是几乎所有的操作都是通过主键区的键位进行操作,双手不用离开键盘主区

      ◎h、j、k、l,分别是左下上右移动光标,前面加上n,可以重复移动多次,例如3j就可以往下移动3行

      ◎^,跳到一行的开始

      ◎$,跳到一行的结束

      ◎gg,跳到文本的第一行

      ◎G,跳转到文本的最后一行

      ◎nG或者ngg,跳转到第n行,例如: 10G,跳转到第10行;20gg,跳转到第20行

      4、提高 Git 工程中 Ctrl-P 的执行效率

      将下面的内容添加到你的 .vimrc 文件中(配置使用 <Ctrl-P> 来使用 git 或 silver 查找工具来自动补全):

      et g:ctrlp_use_caching = 0

      if executable(‘ag’)

      set grepprg=ag –nogroup –nocolor

      let g:ctrlp_user_command = ‘ag %s -l –nocolor -g “”‘

      else

      let g:ctrlp_user_command = [‘.git’, ‘cd %s && git ls-files . -co –exclude-standard’, ‘find %s -type f’]

      let g:ctrlp_prompt_mappings = {

      ‘AcceptSelection(“e”)’: [‘<space>’, ‘<cr>’, ‘<2-LeftMouse>’],

      }

      endif

      注:建议使用 vim-scripts/gitignore 插件。

      5、提高单元测试执行效率

      配图3 提高工作效率的7个Vim使用技巧.jpg

      我用 vim-vroom 插件以及相应的 tmux 配置来进行我的测试。

      vim-room 缺省使用 <Leader>r 执行测试,由于我已将 Leader 映射为 <Space> ,因此我通过<Space>r 来运行测试工具。

      由于测试在 tmux 的单独窗口运行,因此我可以边看测试进展共修订我的代码。

      6、Vim normal命令

      Vim normal 命令可以在命令行模式执行普通模式下的命令,当normal命令与Vim可视化模式结合时,只需很少的操作就能完成大量重复性工作。

      比如在编辑Markdown文件时想在某些行前面都加上 – 让普通文本行变成无序列表,可以先用 V 选中这些行,然后按 :'<,’>normal I- 并回车即可实现。

      7、Vim替换命令s

      Vim命令行模式下使用 :substitute 命令 (缩写形式 s ) 可以将指定范围内的字符替换成其他目标字符,实现同时处理多个目标行的操作效果。

      配图4 提高工作效率的7个Vim使用技巧.jpg

      例如,假设希望将Vim当前打开文件的所有行尾多余的空格删除,可以使用Vim命令 :%s= *$==。

      其中,% 表示整个文件范围, *$ 表示以0个或多个 * 结尾的文本行。

      以上就是云和数据和大家分享的7个Vim使用技巧,如果你有其他想法,欢迎留言与大家交流。