vim的使用

项目名称

运维培训

文件名称

vim的使用

编制部门

后台运维

作者

刘珂

当前版本

201807171911

受众范围

后台运维

文档控制

修改记录

日期

版本

修改类型

修改主要内容

作者

◆修改类型:A增加、B删除、C修改

审阅人

姓名

部门

职位

审阅签字

审阅时间

存档

存档时间

存放方式

存放地点、位置

备注

◆存放方式:A电子、B纸质

目录

1 vim的使用 1

1.1 打开文件 1

1.2 基本知识 1

2 常用操作 2

2.1 光标移动 2

2.1.1 字符间移动 2

2.1.2 行间移动 2

2.1.3 行内移动 2

2.1.4 单词间移动 3

2.2 删除 3

2.3 复制 3

2.4 粘贴 3

2.5 撤销 3

2.6 查找 4

2.7 替换 4

2.7.1 修饰符 4

3 设置 4

3.1 常用设置 5

3.2 .vimrc设置 5

4 警告信息 6

4.1 保存文件 6

4.2 告警信息 6

  1. vim的使用
    1. 打开文件

打开或者创建文件,有则打开,无则创建。

vim [option] file

常用option

+n:打开文件后,让光标处于第n行的行首,+默认行尾

vim +2 soa.log

vim + soa.log

+/pattern:打开文件后直接让光标处于第一个被pattern匹配到的行的行首

vim +/INFO soa.log

如果该文件存在,文件被打开并显示内容;如果该文件不存在,当编辑后第一次存盘创建它。

基本上 vi 共分为三种模式,分别是『一般模式』、『编辑模式』与『命令命令模式』。这三种模式的作用分别是:

图示: vi三种模式的相互关系

一般模式可与编辑模式及命令模式切换,但编辑模式与命令模式之间不可互相切换。

  1. 常用操作
    1. 光标移动
      1. 字符间移动

可以使用h,j,k,l键来进行光标的移动

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

G:最后一行

gg/1G:第一行

#G:直接跳转至第#

0:绝对行首

$:绝对行尾

^:行首第一个非空白字符

可以使用w,e,b键来进行移动

w:下一个单词词首

e:当前单词或下一个单词词尾

b:当前单词或前一个单词词首

x 删除光标所在处的字符

#x 删除光标处起始#个字符

dd 删除光标所在的行

#dd 删除#

d$ 删除到行尾

d^ 删除到非空行首

d0 删除到行首

yy 复制行

Y 复制行

#yy 复制多行

y 复制,结合光标跳转字符使用,复制跳转范围内的字符,行为相似于d命令

y$ 复制光标所在的那个字符到该行行尾的所有数据

y0 复制光标所在的那个字符到该行行首的所有数据

y^ 复制从光标到行首的内容

p 粘贴

u 撤销最近的更改

#u 撤销之前#多次更改

U 撤消光标落在这行后所有此行的更改

Ctrl + r反撤销

/PATHERN 从当前光标前向文件尾部查找

?PATHERN 从当前光标向文件首部查找

在查找过程中可以使用n或N来辅助查找:

  n 查找下一个

  N 查找上一个

:%s/要查找的内容/替换为的内容/修饰符

要查找的内容:可以使用正则表达式

替代换成的内容:不能使用模式

i: 忽略大小写 g: 全局替换;默认情况下,每一行只替换第一次出现

gc:全局替换,每次替换前询问

查找替换中的分隔符/可替换为其它字符,

例如

:%s@/etc@/var@g

:%s#/boot#/#i

:%s#/boot#/#ig

  1. 设置

按Esc输入:可以在其中(末行模式)执行命令改变vim的行为,如

语法高亮:

:syntax on

:syntax off

搜索高亮:

:set hlsearch

:set nohlsearch

末行模式中的窗口属性只对当前vim进程有效,可通过修改下面的配置文件进行定义:

用户:~/.vimrc

全局:/etc/vim/vimrc 或 /etc/vimrc

需要注意的是,vim会将i我们的以前的行为都记录下来,以方便我们操作。它保存在文件 ~/.viminfo 中。

:set all 显示目前所有的环境参数值

:set 显示与系统默认值不同的参数值

:set nu 设置行号

:set nonu 取消行号

:set hlsearch 设置高亮度查找

:set nohlsearch 取消高亮度查找

:syntax on/off 是否开启依据相关程序语法显示不同的颜色

:set bg=dark/light 是否显示不同的颜色色调

整体vim的设置值一般是放在/etc/vimrc中的。一般不修改这个文件,而是修改~/.vimrc这个文件。

  1. 警告信息
    1. 保存文件

常用的编辑软件,都有个恢复的功能,就是说当系统因为某些原因而导致类似当机的情况时,还可以利用这个恢复功能将之前未保存的数据找回来。vim也有这个功能。

当使用vim编辑时,vim会在与被编辑的文件的目录下,再建立一个名为 .filename.swp的文件。如果系统因为某些原因断线了,导致编辑的文件还没有保存,这个时候 .filenam.swp 就能够发会救援的功能了。

打开文件时没有进入文件而是显示类似下图的信息

可能的原因:

1.可能有其他人或程序正在编辑这个文件

2.在前一个vim的环境中,可能因为某些不知名原因导致vim中断 (crashed)

右下角会出现六个命令项,其作用说明如下:

(O)pen Read-Only:打开此文件成为只读档, 可以用在你只是想要查阅该文件内容并不想要进行编辑行为时。

(E)dit anyway:还是用正常的方式打开你要编辑的那个文件,并不会载入暂存盘的内容。如果说两个人都在编辑这个文件的话,很容易出现互相改变对方的文件等问题。

(R)ecover:就是加载暂存盘的内容,用在你要救回之前未保存的工作。 不过当你救回来并且储存离开vim后,还是要手动自行删除那个暂存档。

(D)elete it:你确定那个暂存档是无用的!那么开启文件前会先将这个暂存盘删除

(Q)uit:按下 q 就离开vim,不会进行任何动作回到命令提示字符。

(A)bort:忽略这个编辑行为,感觉上与 quit 非常类似。