记录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. Java 关键字volatile 与 synchronized 作用与区别

     1,volatile 它所修饰的变量不保留拷贝,直接访问主内存中的.    在Java内存模型中,有main memory,每个线程也有自己的memory (例如寄存器).为了性能,一个线程会在自己 ...

  2. synchronized同步方法和同步代码块的区别

    同步方法默认使用this或者当前类做为锁. 同步代码块可以选择以什么来加锁,比同步方法更精确,我们可以选择只有会在同步发生同步问题的代码加锁,而并不是整个方法. 同步方法使用synchronized修 ...

  3. easyui-combogrid匹配查询

    用到easyui-combogrid,数据比较少的情况,可以一页就显示完毕,然后直接下拉选择.但是对于数据量比较大的情况,一页显示全部显然不合适,好在从easyui-combogrid的数据加载方式可 ...

  4. 【Remove Elements】cpp

    题目: Given an array and a value, remove all instances of that value in place and return the new lengt ...

  5. IOS开发学习笔记020-练习总结

    自己做了一遍,现在再复习一下,总结一下. 最终效果如下         1.新建一个工程Single View Application 总体如下 不过要关闭自动布局功能 这是按下设置按钮显示的界面默认 ...

  6. day05_06 continue语句、while循环

    输入满3次跳出,然后留一句话 for i in range(3): username = input("Username:") password = input("Pas ...

  7. CSU-1982 小M的移动硬盘

    CSU-1982 小M的移动硬盘 Description 最近小M买了一个移动硬盘来储存自己电脑里不常用的文件.但是他把这些文件一股脑丢进移动硬盘后,觉得这些文件似乎没有被很好地归类,这样以后找起来岂 ...

  8. centos 7 配置ip

    1.动态获取ip(前提是你的路由器已经开启了DHCP) 修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens32    (最后一个为网卡名称) 动态 ...

  9. Eureka 简介以及简单示例(创建EurekaServer工程)

    Eureka 是一款开源的服务注册与发现组件,通过配合其他组件可提供负载均衡能力. 服务发现类型的技术对比: 名称 类型 AP/CP 语言 依赖 集成 一致性算法 Eureka General AP ...

  10. java主要集合类的数据结构学习

    http://www.cnblogs.com/beanmoon/archive/2012/11/22/2782442.html 在程序中,集合类每天都在使用,以致于某些代码充斥着List和Map,一直 ...