VIM中常用的快捷键参考

一、移动光标

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

ctrl-e 移动页面

ctrl-f 上翻一页

ctrl-b 下翻一页

ctrl-u 上翻半页

ctrl-d 下翻半页

w 跳到下一个字首,按标点或单词分割

W 跳到下一个字首,长跳,如end-of-line被认为是一个字

e 跳到下一个字尾

E 跳到下一个字尾,长跳

b 跳到上一个字

B 跳到上一个字,长跳

0 跳至行首,不管有无缩进,就是跳到第0个字符

^ 跳至行首的第一个字符

$ 跳至行尾

gg 跳至文首

G 调至文尾

5gg/5G 调至第5行

gd 跳至当前光标所在的变量的声明处

fx 在当前行中找x字符,找到了就跳转至

; 重复上一个f命令,而不用重复的输入fx

* 查找光标所在处的单词,向下查找

# 查找光标所在处的单词,向上查找

二、删除复制

dd 删除光标所在行

dw 删除一个字(word)

d/D删除到行末x删除当前字符X删除前一个字符yy复制一行yw复制一个字y/D删除到行末x删除当前字符X删除前一个字符yy复制一行yw复制一个字y/Y 复制到行末

p 粘贴粘贴板的内容到当前行的下面

P 粘贴粘贴板的内容到当前行的上面

三、插入模式

i 从当前光标处进入插入模式

I 进入插入模式,并置光标于行首

a 追加模式,置光标于当前光标之后

A 追加模式,置光标于行末

o 在当前行之下新加一行,并进入插入模式

O 在当前行之上新加一行,并进入插入模式

Esc 退出插入模式

四、编辑

J 将下一行和当前行连接为一行

cc 删除当前行并进入编辑模式

cw 删除当前字,并进入编辑模式

c$ 擦除从当前位置至行末的内容,并进入编辑模式

s 删除当前字符并进入编辑模式

S 删除光标所在行并进入编辑模式

xp 交换当前字符和下一个字符

u 撤销

ctrl+r 重做

~ 切换大小写,当前字符

>> 将当前行右移一个单位

<< 将当前行左移一个单位(一个tab符)

== 自动缩进当前行

五、查找替换

/pattern 向后搜索字符串pattern

?pattern 向前搜索字符串pattern

"\c" 忽略大小写

"\C" 大小写敏感

n 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)

N 上一个匹配(同上)

:%s/old/new/g 搜索整个文件,将所有的old替换为new

:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换

六、退出编辑器

:w 将缓冲区写入文件,即保存修改

:wq 保存修改并退出

:x 保存修改并退出

:q 退出,如果对缓冲区进行过修改,则会提示

:q! 强制退出,放弃修改

七、多文件编辑

vim file1.. 同时打开多个文件

:args 显示当前编辑文件

:next 切换到下个文件

:prev 切换到前个文件

:next! 不保存当前编辑文件并切换到下个文件

:prev! 不保存当前编辑文件并切换到上个文件

:wnext 保存当前编辑文件并切换到下个文件

:wprev 保存当前编辑文件并切换到上个文件

:first 定位首文件

:last 定位尾文件

ctrl+^ 快速在最近打开的两个文件间切换

:split[sp] 把当前文件水平分割

:split file 把当前窗口水平分割, file

:vsplit[vsp] file 把当前窗口垂直分割, file

:new file 同split file

:close 关闭当前窗口

:only 只显示当前窗口, 关闭所有其他的窗口

:all 打开所有的窗口

:vertical all 打开所有的窗口, 垂直打开

:qall 对所有窗口执行:q操作

:qall! 对所有窗口执行:q!操作

:wall 对所有窗口执行:w操作

:wqall 对所有窗口执行:wq操作

ctrl-w h 跳转到左边的窗口

ctrl-w j 跳转到下面的窗口

ctrl-w k 跳转到上面的窗口

ctrl-w l 跳转到右边的窗口

ctrl-w t 跳转到最顶上的窗口

ctrl-w b 跳转到最底下的窗口

八、多标签编辑

:tabedit file 在新标签中打开文件file

:tab split file 在新标签中打开文件file

:tabp 切换到前一个标签

:tabn 切换到后一个标签

:tabc 关闭当前标签

:tabo 关闭其他标签

gt 到下一个tab

gT 到上一个tab

0gt 跳到第一个tab

5gt 跳到第五个tab

九、执行shell命令

1、在命令模式下输入":sh",可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl+D返回VIM编辑器

2、可以"!command",运行结束后自动回到VIM编辑器中

3、用“Ctrl+Z“回到shell,用fg返回编辑

4、:!make -> 直接在当前目录下运行make指令

十、VIM启动项

-o[n] 以水平分屏的方式打开多个文件

-O[n] 以垂直分屏的方式打开多个文件

十一、自动排版

在粘贴了一些代码之后,vim变得比较乱,只要执行gg=G就能搞定

十二、如何在vim中编译程序

在vim中可以完成make,而且可以将编译的结果也显示在vim里,先执行 :copen 命令,将结果输出的窗口打开,然后执行 :make

编译后的结果就显示在了copen打开的小窗口里了,而且用鼠标双击错误信息,就会跳转到发生错误的行。

十三、buffer操作

1、buffer状态

- (非活动的缓冲区)

a (当前被激活缓冲区)

h (隐藏的缓冲区)

% (当前的缓冲区)

# (交换缓冲区)

= (只读缓冲区)

+ (已经更改的缓冲区)

十四、 VIM 操作目录

1.打开目录

vim .

vim a-path/

2.以下操作在操作目录时生效

p,P,t,u,U,x,v,o,r,s

c 使当前打开的目录成为当前目录

d 创建目录

% 创建文件

D 删除文件/目录

- 转到上层目录

gb 转到上一个 bookmarked directory

i 改变目录文件列表方式

^l 刷新当前打开的目录

mf - 标记文件

mu - unmark all marked files

mz - Compress/decompress marked files

gh 显示/不显示隐藏文件( dot-files)

^h 编辑隐藏文件列表

a 转换显示模式, all - hide - unhide

qf diplay infomation about file

qb list the bookmarked directories and directory traversal history

gi Display information on file

mb

mc

md - 将标记的文件(mf标记文件)使用 diff 模式

me - 编辑标记的文件,只显示一个,其余放入 buffer 中

mh

mm - move marked files to marked-file target directory

mc - copy

mp

mr

mt

vim 中复制,移动文件

1, mt - 移动到的目录

2, mf - 标记要移动的文件

3, mc - 移动/复制

R 移动文件

打开当前编辑文件的目录

:Explore

:Hexplore

:Nexplore

:Pexplore

:Sexplore

:Texplore

:Vexplore

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 曾经在思科的工厂测试系统`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超过2年半,现在...
    戈多在地狱阅读 1,784评论 1 13
  • https://www.cnblogs.com/qiumingcheng/p/6275510.html ctrl ...
    shuff1e阅读 5,453评论 0 3
  • 目录(?)[-] 关于Vim 1 Vim的几种模式 启动Vim 文档操作 光标的移动 1 基本移动 2 翻屏 3 ...
    SunnyLeong阅读 8,627评论 0 32
  • 1. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行。 插入模式:可以输入文本,在正常模式下,按...
    红线路亚湾阅读 16,874评论 0 1
  • 我不知道我在寻找谁, 只知道, 有一天在他身边, 能够安然入睡, 这个人必是我要找的人。 又或者, 真正的安心, ...
    Janesha阅读 289评论 0 0