Vim 编辑器的常用操作汇总,高手必备!

一、vim 介绍

vim 是 vi 的扩展,是一个功能丰富的文本编辑器,对于一个运维人员的必备基础技能之一,就是熟练使用 vim/vi 编辑器。在最小化安装环境一般只有 vi,没有 vim,需要手动安装一下。

复制
yum install -y vim1.

二、vim 模式

1. 普通模式

默认的编辑模式。从 shell 窗口打开文件进入的第一个模式,其他模式可以通过按 ESC 键回退到普通模式。

2. 命令模式

用于执行复杂查询命令,从普通模式输入“:”,“/”或“?”等符号即可进入命令模式,回车键表示输入完成

3. 插入模式

该模式就类似 window 中操作文本文件,普通模式下可通过输入“i”,“o”等字符即可进入插入模式。编辑完成后按 ESC 键退出到普通模式。

4. 可视模式

用于选定文本块;可以在正常模式下输入“v”(小写)来按字符选定,输入“V”(大写)来按行选定,或输入“Ctrl-V”来按方块选定。

三、每个模式的常用操作

1. vim 打开文件方法

选项

说明

vim filename

正常打开vim文件

vim + filename

打开文件,并将光标置于最后一行

vim +n filename

打开文件,并将光标置于第n行

vim +/ssh passwd

打开文件,并将光标置于第一个与ssh匹配的位置

vim -r filename

恢复上次vim打开时崩溃的文件

2. 普通模式

操作

说明

G

跳到最后一行

gg

跳到第一行

5G

跳到第5行

yy

复制当前行

5yy

复制从当前行往后的5行

p

粘贴已复制的行到光标后

P

粘贴已复制的行到光标前

dd

(1)剪切当前行,以p粘贴;(2)删除当前行

5dd

删除5行

dG

从当前行删到最后一行

D

从光标处删除到行尾

5dG

从当前行删到第五行

x

删除光标所在位置的字符

5x

删除光标所在位置的字符及往后的5个字符

X

删除光标所在位置的前一个字符

u

撤销之前的操作

Ctrl + r

反撤销(恢复撤销)

数字0或者^

将光标移动到当前行的行首

$

将光标移动到当前行的行尾

ctrl +f

向下翻页

ctrl +b

向上翻页

n

查找下一个相同的字符

N

查找上一个相同的字符

r

替换光标所在位置的字符

R

从光标当前位置开始替换字符,输入内容会覆盖后面等长的内容,按“Esc”结束输入

h

向左移动光标

j

向下移动光标

k

向上移动光标

l

向右移动光标

3. 命令模式常用命令

操作

说明

:wq

保存退出

:wq!

强制保存退出

:q

不保存退出

:q!

强制退出,一般已经对文件内容已经进行了修改,不保存强制退出的情况使用

:set nu

设置行号显示

:set nonu

取消行号

:set list

取消行号

set paste

启用粘贴模式

set nopaste

关闭粘贴模式

:s/a/b/g

将当前光标所在行中所有a替换成b

:2,5s/a/b/g

将2-5行中所有a替换成b

:%s/a/b/g

将文件所有的a替换成b

/word

从文本查找字符串,按“n”可以查看下一个相同字符 .注意:查找会区分大小写

/^word

查询以work开头的行

/work$

查询以work结尾

?work

从文本查找字符串,按“n”可以查看上一个相同字符

4. 进入插入模式方法

操作

说明

i

光标所在位置插入

I

光标所在位置行首插入

o

光标所在位置下一行插入

O

光标所在位置上一行插入

a

光标所在位置下一个字符的位置插入

A

光标所在位置行尾插

进入到插入模式后就如同进入一个文档文件,按ESC键退出到普通模式

5. 可视化模式常用操作

普通模式进入可视化模式:

操作

命令

v

字符选择模式,选中光标经过的所有字符

V

行选择模式,选择光标经过的所有行

可视化模式可以实现批量的删除增加注释,生产环境经常使用。

四、vim 可能遇到的问题

出现上面的情况有两种可能:

重复编辑,在另外一个远端也有打开这个文件异常断开,在正在编辑时突然关机或网络断开的情况

vim 他不是实时写入的机制,他会先把文件写到内存,等我们执行 w 操作以后,再写回到原文件。那么在写回原文件,或者执行 q 的放弃操作之前,会生成一个临时的文件,以 . 开头,以 .swp 结尾。

解决办法:直接删除自动生成的临时文件file.swp或者报错界面直接输入D放弃编辑

复制
rm -f .filename.swp1.

阅读剩余
THE END