记录vim中常用的几个操作

入门指南

$ vimtutor
  1. vim中是区分大小写

  2. vim中移动光标

     h  向左移动
    j 向下移动
    k 向上移动
    l 向右移动

    其实使用方向键也是能移动的,但是熟悉后再一些其他的编辑器或者浏览器中也能使用

  3. vim 中删除

     x 删除光标所在的字母
    dw 删除完整的单词不包括后面的标点
    dd 删除整行
    D 删除整行

    2018-4-25

  4. vim中移动行

     :m 12     如果当前行数为第10行,则将当前行移动到第12行
    如果当前行数为第20行,则将当前行移动到第13行 :m 0 将当前行移动到第一行前面 :m $ 将当前行移动到最后一行后面
    :m0 后面的空格可以省略不写
  5. vim中移动多行

     :m5,7m 21 将第5,6,7行移动到第21行
    
     :m5,7m 0 将第5,6,7行移动到第一行前面
    
     :m5,7m $ 将第5,6,7行移动到最后一行后面
    
     :.,.+4m 21 将从当前行开始的5行,移动到21行位置
    
     :,+4m21 和上个命令一样,可以省略.和空格
  6. vim中撤销上一个操作

     u 撤销

    2018-04-26

  7. vim跳到最后一行或者第一行

     G 跳到最后一行
    
     gg 跳到第一行

    2018-04-29

  8. vim跳到指定行

     :6 + 回车  跳到第6行
    
     6G    跳到第6行
    
     6gg   跳到第6行

    2018-05-17

  9. vim进入insert模式

     o 在当前行下方新建一行,并进入insert模式
    
     O 在当前行上方新建一行,并进入insert模式
    
     a 光标移动到当前行行首,并进入insert模式
    
     A 光标移动到在当前行行末,并进入insert模式
  10. vim删除多行

    :[start_line_no],[end_line_no]d
    
    :14d 删除第14行
    
    :3,5d 删除第3到第5行

    2018-05-19

  11. vim复制行 y => yanked

    + yy 或者 Y 复制当前行 
    
    + y[n]w 复制光标后的下一个或n个单词
    
    + y[n]l 复制光标右边下一个或n个字符
    
    + y[n]h 复制光标左边下一个或n个字符
    
    + y$ 复制从光标当前位置到行尾的所有字符
    
    + y0 复制从光标当前位置前一个到行首的所有字符
    
    + :m,ny 复制从第m到第n行
    
    + :my  复制第m行
    
    + y1G 或者 y1gg 复制光标之上所有行
    
    + yG 复制光标之下所有行
  12. vim粘贴

    + p 在当前行下一行粘贴
    + P 在当前行上一行粘贴
  13. vim按单词移动

    + W/w 下一个单词
    + B/b 上一个单词

    2018-06-09

  14. vim快速退出

    + ZQ 快速不保存退出
    + ZZ 快速保存退出

待续...

dhlin-vim-wiki的更多相关文章

  1. Ubuntu下VIM的安装及其配置——Linux篇

    一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...

  2. 将vim打造成php的IDE开发环境

    将vim打造成IDE开发环境 本文主要介绍将vim打造成IDE开发环境,如代码补全,高亮显示,函数跳转,函数自动注释等 首先介绍2款VIM插件管理器:Vbundle,Pathogen 本文中的vim插 ...

  3. Ubuntu 16.04 Vim安装及配置【转】

    转自:http://www.cnblogs.com/ace-wu/p/6273031.html 安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate ...

  4. Ubuntu 16.04 Vim安装及配置

    安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate vi | grep 'vi$' |xargs ls -al lrwxrwxrwx 1 root ...

  5. vim学习之git for windows

    这是我在博客园的第二篇文章,今晚是在线的特殊日子,应小编的要求不想多讲,喝了点酒,感觉到压力和挑战性,抽了几根烟,现在有点飘飘欲仙的感觉.在长江大学11教的6楼,是长大在线的办公室,这个晚上总是不关灯 ...

  6. vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件

    使用unzip的时候 指定 -d选项, 是说明解压到的 目标地址. 这个参数还是比较方便的, 比直接unzip到当前目录, 然后在去拷贝到目标目录, 然后再删除当前目录中的解压文件夹, 方便多了. 使 ...

  7. VIM - visual selection 模式下的简单操作

    1. 概述 vim 的 visual selection 模式下的简单操作 2. visual selection 模式 概述 可视化选择 可视化选择 vim 的一种专门用来选择的模式 可以提供相对于 ...

  8. vim markdown

    vim 安装vundle插件管理器 https://github.com/VundleVim/Vundle.vim Vundle for windows https://github.com/Vund ...

  9. 学会了 Vim 还有必要用 GitHub Atom 或者 Sublime Text 么?

    亦俊 ,90后,Vim 专栏作者 563 人赞同 Vim 知乎专栏:http://zhuanlan.zhihu.com/hack-vim 用过 [ Visual Studio 2015 ] [ Sub ...

  10. vim 安装

    Ubuntu 16.04 下 Vim安装及配置 默认已经安装了VIM-tiny linuxidc@linuxidc:~$ locate vi | grep 'vi$' |xargs ls -al lr ...

随机推荐

  1. Python文件与异常处理

    文件读写 使用python的BIF(build in function)open()进行文件读写操作 # 1.打开文件 data = open(file_name,'w') # 读取模式有很多种,主要 ...

  2. Java中为什么字段不能被重写

    官方说法: 在一个类中,一个具有相同名称的字段隐藏了父类的父类的领域,即使他们的类型是不同的.在子类中,父类中的字段是不能用简单的名称引用.相反,该字段必须通过超级访问.一般来说,我们不建议隐藏字段, ...

  3. 接口测试之post和get的区别

    post和get都可以给服务器发送请求,在做接口测试的时候,我发现有些时候某些功能的接口文档中是用post请求发送的, 但是只要接口一致参数一致用post也能发送请求,并且获取到的返回也是正确的. 那 ...

  4. 一、vue的数据双向绑定的实现

    响应式系统 一.概述 Vue通过设定对象属性的 setter/getter 方法来监听数据的变化,通过getter进行依赖收集,而每个setter方法就是一个观察者,在数据变更的时候通知订阅者更新视图 ...

  5. POJ 1364:King(差分约束)

    题目大意:判断是否存在一个长度为n的序列满足给出的不等关系. 分析: 将序列和转化成用两个前缀和之差来表示即可变为差分约束系统. 需要注意的是不能忘记n要加+1,因为还有一个特殊源点,自己因为n:=n ...

  6. redis学习(二)redis.conf文件配置

    转自: https://www.cnblogs.com/pqchao/p/6558688.html 为了更好的使用redis,我们需要详细的了解redis配置文件及相关参数作用. bind 127.0 ...

  7. SystemProperties反射调用

    Systemproperties类在android.os下,但这个类是隐藏的,上层程序开发无法直接使用,只能通过java反射来调用 SystemPropertiesInvoke.java packag ...

  8. 分布式文件系统之Glusterfs

    1.环境规划如下 centos7.4   三个节点一块 sdb  3G大小的测试硬盘 2.Glusterfs  卷的类型比较多,这里我们测试最常用的一种   Distributed Replicate ...

  9. 【04】Vue 之 事件处理

    4.1. 监听事件的Vue处理 Vue提供了协助我们为标签绑定时间的方法,当然我们可以直接用dom原生的方式去绑定事件.Vue提供的指令进行绑定也是非常方便,而且能让ViewModel更简洁,逻辑更彻 ...

  10. JavaScript 的新特性:类的 #private 字段

    这是什么,如何使用,为什么需要? 一边听“Noise Pollution” —— Portugal. The Man,一边阅读本文简直就是享受 JavaScript 标准的第二阶段(Stage 2)加 ...