一、移动光标

1、左移h、右移l、下移j、上移k

2、向下翻页ctrl + f,向上翻页ctrl + b

3、向下翻半页ctrl + d,向上翻半页ctrl + u

4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^

5、移动光标到下一个句子 ),移动光标到上一个句子(

6、移动到段首{,移动到段尾}

7、移动到下一个词w,移动到上一个词b

8、移动到文档开始gg,移动到文档结束G

9、移动到匹配的{}.().[]处%

10、跳到第n行 ngg 或 nG 或 :n

11、移动光标到屏幕顶端H,移动到屏幕中间M,移动到底部L

12、读取当前字符,并移动到本屏幕内下一次出现的地方 *

13、读取当前字符,并移动到本屏幕内上一次出现的地方 #

二、查找替换

1、光标向后查找关键字 #或者g#

2、光标向前查找关键字 *或者g*

3、当前行查找字符 fx, Fx, tx, Tx

4、基本替换 :s/s1/s2 (将下一个s1替换为s2)

5、全部替换 :%s/s1/s2

6、只替换当前行 :s/s1/s2/g

7、替换某些行 :n1,n2 s/s1/s2/g

8、搜索模式为 /string,搜索下一处为n,搜索上一处为N

9、制定书签 mx, 但是看不到书签标记,而且只能用小写字母

10、移动到某标签处 `x,1旁边的键

11、移动到上次编辑文件的位置 `.

PS:.代表一个任意字符 *代表一个或多个字符的重复

正则表达式的内容将会在后续文章中整理

三、编辑操作

1、光标后插入a, 行尾插入A

2、后插一行插入o,前插一行插入O

3、删除字符插入s, 删除正行插入S

4、光标前插入i,行首插入I

5、删除一行dd,删除后进入插入模式cc或者S

6、删除一个单词dw,删除一个单词进入插入模式cw

7、删除一个字符x或者dl,删除一个字符进入插入模式s或者cl

8、粘贴p,交换两个字符xp,交换两行ddp

9、复制y,复制一行yy

10、撤销u,重做ctrl + r,重复.

11、智能提示 ctrl + n 或者 ctrl + p

12、删除motion跨过的字符,删除并进入插入模式 c{motion}

13、删除到下一个字符跨过的字符,删除并进入插入模式,不包括x字符 ctx

14、删除当前字符到下一个字符处的所有字符,并进入插入模式,包括x字符,cfx

15、删除motion跨过的字符,删除但不进入插入模式 d{motion}

16、删除motion跨过的字符,删除但不进入插入模式,不包括x字符 dtx

17、删除当前字符到下一个字符处的所有字符,包括x字符 dfx

18、如果只是复制的情况时,将12-17条中的c或d改为y

19、删除到行尾可以使用D或C

20、拷贝当前行 yy或者Y

21、删除当前字符 x

22、粘贴 p

23、可以使用多重剪切板,查看状态使用:reg,使用剪切板使用”,例如复制到w寄存器,”wyy,或者使用可视模式v”wy

24、重复执行上一个作用使用.

25、使用数字可以跨过n个区域,如y3x,会拷贝光标到第三个x之间的区域,3j向下移动3行

26、在编写代码的时候可以使用]p粘贴,这样可以自动进行代码缩进

27、 >> 缩进所有选择的代码

28、 << 反缩进所有选择的代码

29、gd 移动到光标所处的函数或变量的定义处

30、K 在man里搜索光标所在的词

31、合并两行 J

32、若不想保存文件,而重新打开 :e!

33、若想打开新文件 :e filename,然后使用ctrl + ^进行文件切换

四、窗口操作

1、分隔一个窗口:split或者:vsplit

2、创建一个窗口:new或者:vnew

3、在新窗口打开文件:sf {filename}

4、关闭当前窗口:close

5、仅保留当前窗口:only

6、到左边窗口 ctrl + w, h

7、到右边窗口 ctrl + w, l

8、到上边窗口 ctrl + w, k

9、到下边窗口 ctrl + w, j

10、到顶部窗口 ctrl + w, t

11、到底部窗口 ctrl + w, b

五、宏操作

1、开始记录宏操作q[a-z],按q结束,保存操作到寄存器[a-z]中

2、@[a-z]执行寄存器[a-z]中的操作

3、@@执行最近一次记录的宏操作

六、可视操作

1、进入块可视模式 ctrl + v

2、进入字符可视模式 v

3、进入行可视模式 V

4、删除选定的块 d

5、删除选定的块然后进入插入模式 c

6、在选中的块同是插入相同的字符 I<String>ESC

七、跳到声明

1、[[ 向前跳到顶格第一个{

2、[] 向前跳到顶格第一个}

3、]] 向后跳到顶格的第一个{

4、]] 向后跳到顶格的第一个}

5、[{ 跳到本代码块的开头

6、]} 跳到本代码块的结尾

八、挂起操作

1、挂起Vim ctrl + z 或者 :suspend

2、查看任务 在shell中输入 jobs

3、恢复任务 fg [job number](将后台程序放到前台)或者 bg [job number](将前台程序放到后台)

4、执行shell命令 :!command

5、开启shell命令 :shell,退出该shell exit

6、保存vim状态 :mksession name.vim

7、恢复vim状态 :source name.vim

8、启动vim时恢复状态 vim -S name.vim

vim 快捷键大全的更多相关文章

  1. Vim快捷键大全

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是"visual interfa ...

  2. notepad++ 快捷键大全、notepad常用快捷键

    Notepad++ 快捷键 大全, notepad++也情有独钟,最近发现了一个快捷键,就是选中单词,ctrl+shift+enter.不过现在想知道一个快捷键,假设有三行代码,选中后一般按TAB就可 ...

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

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

  4. UltraEdit快捷键大全-UltraEdit常用快捷键大全

    UltraEdit快捷键大全-UltraEdit常用快捷键大全 UltraEdit是一套功能强大的文本编辑器,可以编辑文本.十六进制.ASCII码,可以取代记事本,内建英文单字检查.C++及VB指令突 ...

  5. [No00009B]win10快捷键大全

    微软为Win10命令行(Command Prompt)加入了Ctrl + V的支持 Win10新增功能快捷键大全: 贴靠窗口:Win + 左/右 >  Win + 上/下 > 窗口可以变为 ...

  6. IntelliJ IDEA 快捷键大全

    IntelliJ IDEA 快捷键大全 (2012-03-27 20:33:44) 转载▼ 标签: ide intellij快捷键 杂谈 分类: IDE工具 最近刚接触IntelliJ这个工具,用了几 ...

  7. 【转】PHOTOSHOP常用快捷键大全

    PHOTOSHOP常用快捷键大全 一.文件新建 CTRL+N打开 CTRL+O 打开为 ALT+CTRL+O关闭 CTRL+W保存 CTRL+S 另存为 CTRL+SHIFT+S另存为网页格式 CTR ...

  8. Source Insight 常用设置和快捷键大全

    Source Insight 常用设置和快捷键大全 退出程序 : Alt+F4 重画屏幕 : Ctrl+Alt+Space 完成语法 : Ctrl+E 复制一行 : Ctrl+K 恰好复制该位置右边的 ...

  9. PHOTOSHOP(PS)快捷键大全

    PHOTOSHOP常用快捷键大全一.文件新建 CTRL+N打开 CTRL+O 打开为 ALT+CTRL+O关闭 CTRL+W保存 CTRL+S 另存为 CTRL+SHIFT+S另存为网页格式 CTRL ...

随机推荐

  1. RHEL-resolv.conf文件修改后重启被还原

    修改resolve.conf文件之后,reboot或service restart network时,修改的内容被还原.关闭NetworkManager即可.# chkconfig |grep Net ...

  2. oracle之replace结合substr的使用

    select * from( SELECT TMM.ORDER_ID, TMM.IMPORT_ID, TMM.TMALL_ORDER_ID, TMM.MEMBER_NAME, TMM.ALIPAY_U ...

  3. Mysql存储引擎概念特点介绍及不同业务场景选用依据

    目录 MySQL引擎概述 1 MySAM引擎介绍 2 什么是InnoDB引擎? 3 生产环境中如何批量更改MySQL引擎 4 有关MySQL引擎常见企业面试题 MySQL引擎概述 Mysql表存储结构 ...

  4. C#中Property和Attribute的区别

    C#中Property和Attribute的区别 Attribute 字段Property 属性(get;set;) 属性的正常写: private string name; public strin ...

  5. Eclipse汉化后怎么改回英文版 (中文 改 英文)

    Eclipse汉化后怎么改回英文版(可切换中英文) 很多朋友将MyEclipse汉化后还想改回英文的,其实只要修改MyEclipse的配置文件就可以了,这里我以MyEclipse7.0为例演示一下如何 ...

  6. Android AsyncTask学习

    Android程序有UI进程和后台进程,在执行一些耗时的操作时,如果在UI进程中,很可能出现假死的情况,用户体验会受到影响,因此,那些耗时进程往往就放在了后台进程中,用户体验能更好一些.网络情况不稳定 ...

  7. keydown和keypress

    常见的键盘事件是keyup和keydown.淡蓝就经常用 document.onkeyup = function (e) { if ((e.keyCode || e.which) === 13) // ...

  8. hdu 畅通工程续

    算法:多源最短路(floyd) 题意:有多个城镇,有些之间有通路,给你起点和终点,输出最短路径: Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路 ...

  9. JSON基础知识

    1.什么是json •        JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) •        JSON 是轻量级的文本数据交换格式 ...

  10. WordPress插件制作教程(六): 插件函数之动作(Actions)函数

    这一篇为大家说一下WordPress插件函数吧,要制作插件,了解这些函数是非常有必要的 WordPress插件函数分为“动作”(Actions)和过滤器”(Filters),WordPress 使用这 ...