一. 移动

h,j,k,l: 左,下,上,右。

w: 下一个词的词首。W:下一个单词(不含标点)。

e:下一个词的词尾。E:不含标点。

b:上一个词的词首。B:不含标点。

<>: v 模式选中后进行缩进。

二. 跳转

%: 可以匹配{},"",(),[]之间跳转。

H、M、L:直接跳转到当前屏幕的顶部、中部、底部。

#H:跳转到当前屏的第#行。

#L:跳转到当前屏的倒数第#行。

zt: 当前编辑行置为屏顶。

zz: 当前编辑行置为屏中。

zb: 当前编辑行置为屏底。

G:直接跳转到文件的底部。

gg: 跳转到文件首。

gd: 跳转到光标所在函数和变量的定义。

():跳转到当前的行首、行尾。

{}:向上、向下跳转到最近的空行。

[{:跳转到目前区块开头。

]}:跳转到目前区块结尾。

: 跳转到行首。

$: 跳转到行尾。

$: 跳转到下一行的行尾。

#:跳转到该行的第#个位置。

#G: 15G,跳转到15行。

:#:跳转到#行。

三. 选择

.v: 开启可视模式。 V: 开启逐行可视模式。

.^V: 矩形选择。

.v3w: 选择三个字符。

.ab:包括括号和()内的区域。

.aB:包括括号和{}内的区域。

.ib:括号()内的区域。

.iB:括号{}内的区域。

.aw:标记一个单词。

四. 编辑

. 新增:

i: 光标前插入。

I: 在当前行首插入。

a: 光标后插入。

A: 当前行尾插入。

O: 在当前行之前插入新行。

o: 在当前行之后插入新行。

. 修改 c(change) 为主:

r: 替换光标所在处的字符。

R:替换光标所到之处的字符。

cw: 更改光标所在处的字到字尾处。

c#w: c3w 修改3个字符。

C:修改到行尾。

ci':修改配对标点符号中的文本内容。

di':删除配对标点符号中的文本内容。

yi':复制配对标点符号中的文本内容。

vi':选中配对标点符号中的文本内容。

s:替换当前一个光标所处字符。

#S:删除 # 行,并以新文本代替。

. 删除 d(delete) 为主:

D:删除到行尾。

X: 每按一次,删除光标所在位置的前面一个字符。

x: 每按一次,删除光标所在位置的后面一个字符。

#x: 删除光标所在位置后面6个字符。

d^: 删至行首。

d$: 删至行尾。

dd:(剪切)删除光标所在行。

dw: 删除一个单词/光标之后的单词剩余部分。

d4w: 删除4个word。

#dd: 从光标所在行开始删除#行。

daB: 删除{}及其内的内容。

diB: 删除{}中的内容。

n1,n2 d:将n1,n2行之间的内容删除。

. 查找:

/: 输入关键字,发现不是要找的,直接在按n,向后查找直到找到为止。

?: 输入关键字,发现不是要找的,直接在按n,向前查找直到找到为止。

*: 在当前页向后查找同一字。

#: 在当前页向前查找同一字。

. 复制 y(yank)为主:

yw: 将光标所在之处到字尾的字符复制到缓冲区中。

#yw: 复制#个字到缓冲区。

Y:相当于yy, 复制整行。

#yy:表示复制从光标所在的该行往下数#行文字。

p: 粘贴。所有与y相关的操作必用p来结合粘贴。

]p:粘贴到合适的缩进处。

n1,n2 co n3:复制第n1行到第n2行之间的内容到第n3行后面。

. 大小写转换:

gUU: 将当前行的字母改为大写。

guu: 将当前行的字母改为小写。

gUw: 将当前光标下的单词改为大写。

guw: 将当前光标下的单词改为小写。

a. 整篇大写:

ggguG

gg: 光标到文件第一个字符。

gu: 把选择范围全部小写。

G: 到文件结束。

b. 整篇小写:gggUG

. 其它:

J:当前行和下一行合并成一行。

. 移动:

n1,n2 m n3:将n1行到n2行之间的内容移至n3行下。

vim快捷键参考的更多相关文章

  1. 必须熟悉的vim快捷键操作

    转载请表明出处http://www.dabu.info/?p=801 Vim/Vi 没有菜单,只有命令 Vim/Vi 工作模式介绍:插入模式 和  命令模式 是vi的两个基本模式.——插入模式 ,是用 ...

  2. [No00004F]史上最全Vim快捷键键位图(入门到进阶)

    史上最全Vim快捷键键位重磅来袭!!学习Linux的朋友看过来啦,你是不是觉得Linux编辑器Vim操作复杂,步骤繁琐呢?Linux工程师是不是想大幅度提升自己的工作效率呢? 经典版        下 ...

  3. vim快捷键总结

    直接上图 原图地址:vim快捷键

  4. vim快捷键笔记【原创】

    Vim zR  全部展开 zM全部合并 vim  快捷键 shift   +  i      (‘I’)    进行编辑 shift   +  4     (‘$’)    跳到行尾 shift   ...

  5. VIM快捷键(转)

    VIM快捷键:光标移动:四个方向   kh 0 l   j  ctrl+f, ctrl+b                 向下翻页,向上翻页  ctrl+d, ctrl+u              ...

  6. Linux vim快捷键

    1  替换    r  替换  先按r再按要替换的内容 2  按yy复制当前行  按p是粘贴 3 # add at 18-10-25 #-------------------------------- ...

  7. 转: Vim快捷键分类

    Vim快捷键分类 http://www.cnblogs.com/jikey/archive/2011/12/28/2304341.html  一. 移动:    h,j,k,l: 左,下,上,右.   ...

  8. [No00004F]史上最全Vim快捷键键位图(入门到进阶)vim常用命令总结

    在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format.使 ...

  9. vim快捷键收藏版

    总述 附加一篇介绍文哈,关于vim快捷键的介绍.vim和vscode 到底谁更好用,大家争得不可开交,然后我就在vscode里面装了一个vim插件,完美得解决了这个问题,用完之后觉得真香,所以我就整理 ...

随机推荐

  1. RGB中的颜色的设置

    用来表示一个 RGB 颜色值. 语法 RGB(red, green, blue) RGB 函数的语法含有以下这些命名参数: 部分 描述 red 必要参数:Variant (Integer).数值范围从 ...

  2. Ioc 器管理的应用程序设计,前奏:容器属于哪里? 控制容器的反转和依赖注入模式

    Ioc 器管理的应用程序设计,前奏:容器属于哪里?   我将讨论一些我认为应该应用于“容器管理”应用程序设计的原则. 模式1:服务字典 字典或关联数组是我们在软件工程中学到的第一个构造. 很容易看到使 ...

  3. phpexcel不能输出中文

    问题描写叙述:在使用phpexcel时,假设在单元格中填充中文内容,会导致输出单元格为空的情况,甚至连中文的字符(?!等)都无法识别. 产生原因:从网上查是utf-8的问题 解决方法:能够用iconv ...

  4. css3最新版中文参考手册在线浏览

    对于CSS 3.0,它对于我们Web设计人员来说不只是新奇的技术,更重要的是这些全新概念的Web应用给我们的设计开发提高了效率以及更多的无限可能性,我们将不必再依赖图片或者 Javascript 去完 ...

  5. ps -ef | grep

    ps -ef | grep java   查看所有关于java的进程 root     17540     1  0  2009 ?        01:42:27 /usr/java/jdk1.5. ...

  6. ECharts 使用

    最近项目中要做图形报表,要求使用echarts实现,图形报表有很多中实现之前也接触过,但echarts还是头一次听说,正好可以趁这个机会好好学习一下它. 之前不知道就不知道啦,现在知道了就了不得了,一 ...

  7. JDBC访问数据库查询信息的步骤(硬编码格式)

    1 Class.forName()加载驱动 2 DriverManager获取Connect连接 3 创建Statement执行SQL语句 4 返回ResultSet查询结果 5释放资源 packag ...

  8. Ubuntu 16.04安装JDK/JRE并配置环境变量【转】

    本文转载自:http://www.linuxdiyf.com/linux/30302.html 作为一个Linux新手,在写这篇文章之前,安装了几次jdk,好多次都是环境变量配置错误,导致无法登录系统 ...

  9. 【T^T 1736】【FJUTOJ 1077】排座位

    http://59.77.139.92/problem.php?id=1077 水题,小心PE // <1736.cpp> - 11/12/16 17:17:52 // This file ...

  10. 二.OC基础--1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题

    1,对象的存储细节, 1. 当创建一个对象的时候:Person *p1 = [Person new],做了三件事情: 1,申请堆内存空间: 2,给实例变量初始化: 3,返回所申请空间的首地址; 2. ...