• 一、vim 四种 模式
  • 1.1、正常模式
  • 1.2、插入模式
  • 1.3、命令模式
  • 1.4、可视模式
  • 二、各个模式常用命令
  • 2.1 正常模式常用命令
  • 2.1.1 插入
  • 2.1.2 删除命令
  • 2.1.3 复制
  • 2.1.4 光标移动
  • 2.1.5 撤销
  • 2.1.6、其他编辑命令
  • 2.1.7 翻页
  • 2.2 命令行模式常用命令
  • 2.2.1 退出
  • 2.2.2查找并替换
  • 2.2.3 选项设置
  • 2.2.4、文件操作
  • 2.2.5 分屏启动
  • 2.2.6 切换分屏
  • 2.2.7 分屏尺寸调整
  • 2.2.8 关闭分屏
  • 2.3 vim 可视化
  • 2.3.1 字符模式
  • 2.3.2 行模式
  • 2.3.3 块模式


一、vim 四种 模式

1.1、正常模式

启动vim后默认处于正常模式。不论位于什么模式,按下键(有时需要按两下)都会进入正常模式。
正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作。

1.2、插入模式

在正常模式中按下i, I, a, A等键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中, 输入内容会插入到文本中

1.3、命令模式

在正常模式中,按下:(英文冒号)键,会进入命令模式。 在命令模式中可以设置vim一些格式,也可以进行内容查找等操作。

1.4、可视模式

在正常模式中按下v, V, +v,可以进入可视模式。 可视模式主要用于选择文本内容时,可以有很直观的看到选中内容。
可视模式有三种:
1)、字符模式: v (小写)
2)、行模式: V (大写)
3)、块模式: Ctrl+v

二、各个模式常用命令

2.1 正常模式常用命令

2.1.1 插入

命令

说明

s

修改一个字符(与r的区别,修改后直接进入Insert模式)

a

光标后插入字符 移动光标到下个字符位置进入Insert模式

A

行尾插入字符 移动光标到行尾并 进入Insert模式

o

光标下方新建一行并进入Insert模式

O (字母大写)

移动光标到上方新建一行并进入Insert模式

r

替换字符(单个) 命令语法 nrw 其中n表示需要替换的个数,w表示需要替换的字符比如 2rn 选中的字符被替换为2个n 替换一个 可以不需要输入数字 ,直接rw即可

R

替换字符(多个) 直接输入R 进入replace 模式,此时会将光标所在的字符被替换掉,直到输入Esc结束

R 演示

Vim 四种模式和常用命令_常用命令

2.1.2 删除命令

命令

说明

x

删除光标下的字符

X

删除光标左边的字符

cw

替换文本直到单词末尾(ce也可) 语法为ncw n表示需要删除的单词个数,表示删除n个单词后进入insert模式

c$

替换文本直到行尾 同cw 只是是从光标开始删除至行尾 并进入insert 模式

dw

删除单词 (de, d2w) de 和dw 一样删除一个单词

d$

删除到行尾

D

删除到行尾

dd:

删除整行

S

删除整行,与dd区别在于,S删除后会进入Insert模式,

2.1.3 复制

命令

说明

yy

复制一行(直接p,即可将复制的内容粘贴到下一行,P(大写)粘贴到上一行)

nyy

向下复制n行

p

粘贴到光标之后

np

粘贴n次

P(大写)

粘贴到光标之前

y$

复制光标到行尾(即从光标处复制内容到行尾)

2.1.4 光标移动

命令

说明

j

向下行移动光标 ; nj:向下移动n行

k

向上行移动光标; nk:向上移动n行

h

向左移动光标; nh: 向左移动n个字符

l

向右移动光标; nl: 向右移动n个字符

0

数字0,移动光标到行首

w

下一个单词起始处nw (2w) n可为数字,表示移动两个单词

e

单词末尾(与w的区别)

$

移动光标到行尾

gg

直接到文件头; 还可以使用ngg跳到指定行, 3gg表示跳到第三行

G

直接到文件尾,同样可以使用nG 跳到指定行, 3G表示跳到第三行

2.1.5 撤销

命令

说明

u

(小写) 撤销

U

撤销对整行的操作

Ctrl + r

重做(Redo),即撤销的撤销。

2.1.6、其他编辑命令

命令

说明

.

重复上一次操作

%

查找配对的括号 ), }, ] 光标选中一个括号,输入%会直接匹配

v motion :w

选择性保存

Ctrl + D

查看可能的补全

% 示列

Vim 四种模式和常用命令_常用命令_02

2.1.7 翻页

命令

说明

Ctrl + e

向下滚动一行

Ctrl + y

向上滚动一行

Ctrl + f

向下翻一页

Ctrl + b

向上翻一页

Ctrl + u

向上翻半页

Ctrl + d

向下翻半页

2.2 命令行模式常用命令

在正常模式中,按下:(英文冒号)键,会进入命令模式

2.2.1 退出

命令

说明

:wq

保存并退出

ZZ

保存并退出

:q!

丢弃修改并退出 (q退出,有修改的话q不能退出)

:qa!

打开多个文件时使用此命令

:e!

丢弃修改并打开原文件

2.2.2查找并替换

命令

说明

:/text

直接查找文本text 内容

:/world

表示查找world单词 然后 :n 查找下一个, :N查找前一个

: s/old/new/g

查找old并替换为new,g代表整行匹配 替换 在进入命令行模式前 光标 所在行

:#, #s/old/new

#, #代表首尾行号 比如 1,3 就是1-3行 可以通过 :set nu 来显示行号

:%s/old/new/g

全文匹配替换

:%s/old/new/gc

全文匹配替换,并每次替换会弹出确认提示 c所有替换命令 加c 后会弹出确认提示

演示

可以通过 :set nu 来显示行号

Vim 四种模式和常用命令_分屏_03

然后执行 :14,16s/SP/wh 表示替换 14行到16行 SP替换为wh

2.2.3 选项设置

命令

说明

:set ic

忽略大小写

:set is

部分匹配(like)

:set hls

高亮匹配

:set nu

显示行号

2.2.4、文件操作

命令

说明

:e + filename

打开新文件

:r + filename

读取文件并插入到当前文件

:bn

切换到下一个文件 当使用 vim file1 file2 打开多个文件时

:bp

切换到上一个文件

2.2.5 分屏启动

命令

说明

vim -on file1 file2…

水平分屏

vim -On file1 file2…

垂直分屏

2.2.6 切换分屏

命令

说明

Ctrl + w l

右边

Ctrl + w h

左边

Ctrl + w j

上边

Ctrl + w k

下边

2.2.7 分屏尺寸调整

命令

说明

Ctrl + w =

所有屏一样高度

Ctrl + w +

增加高度

Ctrl + w -

减少高度

2.2.8 关闭分屏

命令

说明

Ctrl + w c

- 关闭当前窗口(如果是最后一个,无法关闭) 先按ctrl +w 再按c

Ctrl + w q

- 关闭当前窗口(如果是最后一个,则退出vim) 先按ctrl +w 再按q 或者直接进入命令行模式 输入q 一个一个的关闭

2.3 vim 可视化

命令

说明

d

删除选中部分文本

D

删除选中部分所在的行

y

将选中部分复制到剪贴板中。

p(小写)

将剪贴板中的内容粘贴到光标之后。

P(大写)

将剪贴板中的内容粘贴到光标之前。

u(小写)

将选中部分中的大写字符全部改为小写字符。

U(大写)

将选中部分中的小写字符全部改为大写字符。

g~

大小写互调

>

将选中部分右移(缩进)一个 tab 键规定的长度

<

将选中部分左移一个 tab 键规定的长度

2.3.1 字符模式

v 键进入可视化字符模式。单词 VISUAL 将出现在屏幕底部。

Vim 四种模式和常用命令_vim_04

2.3.2 行模式

按下 Shift+V 进入行模式。单词 VISUAL LINE 将出现在屏幕底部。

Vim 四种模式和常用命令_分屏_05

2.3.3 块模式

按下 Ctrl+v 进入可视化块模式。单词 VISUAL BLOCK 将出现在屏幕底部。

Vim 四种模式和常用命令_常用命令_06


块模式可以按照列去选择矩形内的文本,如下图所示选中中间Not部分

Vim 四种模式和常用命令_分屏_07