vim_常用命令快捷键

一、进入输入模式

命令 说明
i 在当前光标所在处前插入文本
I 将光标移动到当前行的行首,并在行首前插入文本
a 在当前光标所在处之后插入文本
A 将光标移动到当前行的行末,并在行末之后插入文本
o 在光标所在行的下面新插入一行,并将光标移动到新行的行首插入文本
O 在光标所在行的上面新插入一行,并将光标移动到新行的行首插入文本

二、光标移动

命令 说明
h或者左方向键 将光标向左移动一格;
j或者下方向键 将光标向下移动一格;
k或者上方向键 将光标向上移动一格;
l或者右方向键 将光标向右移动一格;
$ 移动光标到当前行的行末;
数字0 移动光标到当前行的行首;
w 移动光标到下个字的开头;
e 移动光标到下个字的字尾;
b 移动光标回上个字的开头;
nl 在当前行中往右移动n个字符,如:2l、34l;
crtl+b 屏幕往上翻一页;
crtl+f 屏幕往下翻一页;
crtl+u 屏幕往上翻半页;
crtl+d 屏幕往下翻半页;
lG 移动光标到文件的第一行;
G 移动光标到文件的最后一行。
gg 移动光标到第一行

三、文本编辑

命令 说明
r 替换光标所在处的字符;
R 替换光标所到之处的字符,直到按ESC键为止;
J 把光标所在行的下一行内容接到当前行的行末;
x 删除光标所在位置的字符;
nx 删除光标所在位置开始的n个字符,如3x删除3个字符;
X 删除光标所在位置的前一个字符;
nX 删除光标所在位置的前n个字符;
dw 删除光标所处位置的单词;
ndw 删除由光标所处位置之前的n个单词;
db 删除光标所处位置之前的一个单词;
ndb 删除光标所处位置之前的n个单词;
dd 删除光标所在的行;
ndd 删除光标所在行开始的n行;
d0 删除由光标所在行的第一个字符到光标所在位置的前一个字符之间的内容;
d$ 删除由光标所在位置到光标所在行的最后一个字符之间的内容;
dlG 删除由文件第一行到光标所在行之间的内容;
dG 删除由光标所在行到文件最后一行之间的内容;
u 撤销更改的内容;
ctrl+u 撤销在输入模式下输入的内容。

四、复制粘贴

命令 说明
yw 复制光标所在位置到单词末尾之间的字符;
nyw 复制光标所在位置之后的n个单词;
yy 复制光标所在行;
nyy 复制由光标所在行开始的n行;
p 将复制的内容粘贴到光标所在位置。

五、查找与替换

命令 说明
/str 从光标位置开始往文件末尾查找str,按n查找下一个,按N返回上一个;
?str 从光标位置开始往文件开头查找str,按n查找下一个,按N返回上一个;
:s/p1/p2/g 将光标所处行中所有p1均用p2替代;
:n1,n2s/p1/p2/g 将第n1到n2行中所有p1均用p2替代;
:g/p1/s//p2/g 将文件中所有p1均用p2替换

六、末行模式命令

命令 说明
w 保存当前文件;
w! 强制保存;
w file 将当前编辑的内容写到文件file中;
q 退出vi;
q! 不保存文件退出vi;
e file 打开并编辑文件file,如果文件不存在则创建一个新文件;
r file 把文件file的内容添加到当前编辑的文件中;
n 移动光标到第n行;
!command 执行Shell命令command
r!command 将命令command的输出结果添加到当前行。
ZZ 保存修改并退出vi

七、其它

命令 说明
:set nu 指设置行号;
:set nonu 指取消行号;
:n 指移动光标到第n行;
:n1,n2d 指删除指定范围的行;

八、常见应用

1、定义VI快捷键

格式为:map 快捷键 触发命令

例子:

(1)map ^P I# 指在这一行的行尾加入注释符号#

(2)map ^B ox 指在这一行的行尾删除注释符#

说明:

在VI中如何输入^P这个字符呢?

方法有两种:

  • 一种是ctrl+v ctrl+p

  • 另一种是ctrl+v+p

2、取消VI快捷键

  • 格式为unmap

3、连续行注释

(1):n1,n2s/^/#/g 指第n1到n2行都注释掉

(2):n1,n2s/^/#//g 指第n1到第n2行的注释符都删除

(3):n1,n2s/^////g 指把第n1到第n2行加入//符号

说明:

^:表示匹配行首;

\:表示转义符

4、替换

格式:ab XXX YYY

例子:

ab sammail samlee@126.com

指在vi中输入sammail按空格键或者回车键就会把sammail自动变为samlee@126.com。我们在写shell脚本时经常要加上作者的信息,这个方法就很方便我们填写自己的信息了。

如何取消上面对ab的定义呢?

直接unab即可

5、VI的配置文件

(1)VI配置文件的位置:~/.vimrc(默认为空)

(2)在编辑VI时我们常常需要打开行号的功能,如果要打开VI文件就显示行号,可以在~/.vimrc中加入set nu这句话就可以了。

九、vim常用命令图解:

vim-cmd.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 曾经在思科的工厂测试系统`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超过2年半,现在...
    戈多在地狱阅读 5,859评论 1 13
  • 目录(?)[-] 关于Vim 1 Vim的几种模式 启动Vim 文档操作 光标的移动 1 基本移动 2 翻屏 3 ...
    SunnyLeong阅读 12,868评论 0 32
  • 待整理~ 1、vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptname...
    spfanlost阅读 5,716评论 0 0
  • 记得,在三年前,还不是人人都玩微信的时代,如果有人低头在玩手机,还是让人刮目相看的。我曾说过,要用相机拍一百张人们...
    杨金社阅读 5,346评论 1 3
  • 字体系列 运行图片 字体风格 运行图片 字体加粗 运行图片 字体大小 正常展示
    Lv_0阅读 1,814评论 0 1

友情链接更多精彩内容