博客
关于我
Vim常用操作
阅读量:481 次
发布时间:2019-03-06

本文共 1941 字,大约阅读时间需要 6 分钟。

模式

操作

说明

正常模式

(按Esc)左下角显示文件名或为空

插入模式

(按a 或 i 或 o键进入) 左下角显示--INSERT--

可视模式

(ctrl + v) 左下角显示--VISUAL-- [然后用jklh命令移动即可选择某些行或字符,按y复制 按d剪切,再按p粘贴]

插入命令

操作

说明

i

在当前位置前插入

I

在当前行首插入

a

在当前位置后插入

A

在当前行尾插入

o

在当前行之后插入一行

O

在当前行之前插入一行

查找命令

操作

说明

/text

查找text,按n健查找下一个,按N健查找前一个。

?text

反向查找查找text,按n健查找下一个,按N健查找前一个。

撤销和重做

操作

说明

u

撤销(Undo)

U

撤销对该行的操作

crtl-R

撤销撤销操作

移动命令

操作

说明

^

移动到本行第一个非空白字符上

0

移动到本行第一个字符上

$

移动到行尾

h

左移一个字符

l

右移一个字符

k

上移一个字符

j

下移一个字符

w

向前移动一个单词(光标停在单词首部)

e

向前移动一个单词(光标停在单词尾部)

b

向后移动一个单词

gg

移动到文件头

g_

移动到行尾最后一个非空字符

G

移动到文件尾

:240

跳转到指定行,例如跳转到240行

ctrl-e

向下滚动一行,光标位置不变

ctrl-y

向上滚动一行,光标位置不变

ctrl-d

向下滚动半屏

ctrl-u

向上滚动半屏

ctrl-f

向下滚动一屏

ctrl-b

向上滚动一屏

删除命令

操作

说明

x

删除光标处字符

3x

删除光标处开始向后3个字符

X

删除光标前一个字符

D或d$

删除光标至行尾

dj

删除上一行

dk

删除下一行

dd

删除当前行

10d

删除当前行开始的10行

dgg

删除当前行至文件首行

dG

删除当前行至文件末行

:1,10d

删除第1-10行

:11,$d

删除第11行至文件末行

J

合并两行

拷贝粘贴

操作

命令

yy

拷贝当前行

nyy

拷贝当前行开始的n行

p

光标后粘贴

P

光标前粘贴

"0p

如果需要多次粘贴,则需要使用一次0寄存器(记录最近一次操作)

剪切命令

操作

说明

dd

剪切当前行

d

剪切字符

:1,10d

剪切第1-10行

:1,10 m 20

移动第1-10行至20行后

文件格式编辑

(按v进入对字符操作的视图模式,按V进入对行操作的视图模式)

操作

说明

>>

增加缩进

<<

减少缩进

==

自动缩进

:s/test/text/

替换当前行第一个test为text

:s/test/text/g

替换当前行所有test为text

:1,$s/test/text/

替换第1行至末行中每一行的第一个test为text

:1,$s/test/text/g

替换第1行至末行中每一行的所有test为text

:%s/test/text/

替换每一行的第一个test为text

:%s/test/text/g

替换每一行的所有test为text

退出命令

操作

说明

:wq

保存并退出

ZZ

保存并退出

:q!

强制退出

:e!

放弃修改并重新打开

多窗口命令

操作

说明

:split file 或:new file

横向新窗口打开文件

:vsplit file或:vnew file

纵向新窗口打开文件

ctrl-w ctrl-w

循环切换窗口

ctrl-wj

移动到下方窗口

ctrl-wk

移动到上方窗口

ctrl-wh

移动到左方窗口

ctrl-wl

移动到右方窗口

ctrl-+

扩大窗口

ctrl--

缩小窗口

:close

关闭窗口(除最后一个窗口)

:q

关闭窗口

:only

放弃修改并关闭所有窗口,仅保留当前窗口

宏命令

操作

说明

.

重复前一个命令

:help

显示帮助

:![command]

执行linux命令

q[a-z]

录制宏

q[A-Z]

修改宏

@[a-z]

使用宏

:reg

查看宏

寄存器

(使用"开头,p或P结尾)

操作

说明

"

未命名寄存器,上一次复制或删除的文本

"[0-9]

数字寄存器,文本复制和删除历史

"-

行内删除寄存器,删除少于一行的文本

"[a-z,A-Z]

命名寄存器,存放文本

"%

只读寄存器,存放当前文件名

".

只读寄存器,存放最近插入的文本

":

只读寄存器,存放最近执行的命令

"#

轮换缓冲区寄存器,存放交替文件的名字

"=

表达式寄存器,计算并返回表达式结果

"*

系统寄存器,系统剪切板

"+

系统寄存器,系统剪切板

"~

系统寄存器,拖拽的文本

"_

黑洞寄存器,彻底删除的文本

"/

搜索模式寄存器,存放最近搜索的模式

转载地址:http://eeldz.baihongyu.com/

你可能感兴趣的文章
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
Mysql 中的日期时间字符串查询
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>