ztf.net.cn
七牛云
您当前的位置: 首页 >  个人博客

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

删除当前字符至行末

D

删除当前字符至行末

x

删除当前字符

X

删除前一个字符

yy

复制一行

Y

复制一行

yw

复制到行末

按esc后,然后ggvG或者ggVG

全选(高亮显示)

按esc后,然后ggyG

全部复制

按esc后,然后dG

全部删除

三、插入模式

按键

功能

说明

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




ZTF

ZTF|时间:2022-04-23

如果缘分安排我们相遇,请不要让她擦肩而过。扫一扫二维码,加我为好友吧!
标签云