首页 > 代码库 > 2.2 Vim文档编辑

2.2 Vim文档编辑

2.2 Vim文档编辑

2.2.1 Vim编辑模式

Vim具有多种工作模式,常用的工作模式有:普通模式、插入模式、命令模式。普通模式可以实现基本的光标移动与大量的快捷键操作,插入模式可实现文本的基本编辑功能,命令模式通过输入特定的指令实现特定的功能,如保存与退出等。

Vim编辑器会默认进入普通模式,插入模式可以通过以下按键进入(表2-1)。

2-1

按键

功能描述

a

后续输入的内容将插入至当前光标的后面

A

后续输入的内容将插入至当前段落的段尾

i

后续输入的内容将插入至当前光标的前面

I

后续输入的内容将插入至当前段落的段首

o

当前行的后面创建新的空白行

O

当前行的前面创建新的空白行

 

通过Esc键返回到普通模式。在普通模式下输入“:”,即可进入命令模式。

 

 

2.2.2 光标的操作

常用的快捷键如表2-2所示,所有的快捷键均在普通模式下直接使用。

2-2

快捷键

功能描述

h

光标向左移动一位

j

光标向下移动一位(以回车为换行符)

k

光标向上移动一位

l

光标向右移动一位

gg

移动光标至文件首行

G

移动光标至文件末尾

nG

移动光标至第n

^

光标移至当前行的首字符

$

光标移至当前行的尾字符

fx

光标移至当前行的下一个x字符处

Fx

光标移至当前行的上一个x字符处

w

光标向右移动一个单词

nw

光标向右移动n个单词

b

光标向左移动一个单词

nb

光标向左移动n个单词

 

2.2.3 Vim编辑文档

Vim编辑器中编辑文档内容主要有两种常用方式:进入编辑模式操作和快捷键操作。快捷键操作方式是在普通模式下输入相应的快捷键实现对应的功能,快捷键功能描述参见表2-3

2-3

快捷键

功能描述

x

删除光标当前字符

dd

删除一行

ndd

删除n

d$

删除光标至行尾的内容

J

删除换行符,将两行合并为一行

u

撤销上一步操作

U

撤销最近所有的修改

rx

将光标当前字符替换为x

yy

复制当前行

p

粘贴至当前行之后

P

粘贴至当前行之前

 

 

2.2.4 Vim查找与替换

Vim中通过“/关键词”实现自上往下的查找功能,通过快捷键n跳转至下一个匹配的关键词处,快捷键N将跳转至上一个匹配的关键词处;“?关键词”实现自下往上的查找功能,n跳转至上一个匹配,N将跳转至下一个匹配。

2-4,替换功能

指令

功能描述

:s/root/admin/

将光标当前行中第一个root替换为admin,没有则不替换

:s/root/admin/g

将光标当前行中所有的root替换为admin

:3,5s/sbin/bin/g

将第三行至第五行之间的所有sbin替换为bin

:%s/nologin/fault/g

将所以行的nologin都替换为fault

 

2.2.5 Vim保存与退出

通过命令模式输入特定的指令实现保存与退出功能,常用指令详见表2-5

2-5

指令

功能描述

:q!

不保存并强制退出

:wq

保存并退出

:x

保存并退出

:w

保存

:w b.txt

另存为b.txt

另一种保存方式为快捷键操作,在普通模式下输入ZZ,即可实现保存并退出文档。

 

2.2.6 Vim小技巧

1. 显示行号

在命令模式下输入:set nu即可。

2. 忽略大小写

在命令模式下输入:set ignorecase,实现忽略大小写。

3. 多窗口编辑

当需要同时编辑多个文档时,分割窗口就尤为重要,最简单的方式是在命令模式下输入:split。至于窗口的切换,可以使用如下快捷方式:

Ctrl+w+h

Ctrl+w+l

Ctrl+w+j

Ctrl+w+k

Ctrl+w+h快捷键表示跳转至左边一个窗口,Ctrl+w+l快捷键表示跳转至右边一个窗口,Ctrl+w+j快捷键表示跳转至上面一个窗口,Ctrl+w+k快捷键表示跳转至下面一个窗口。

在命令模式下输入:close,可以关闭当前窗口。

在命令模式下输入:split second.txt,此命令会分割窗口并打开新的文件。默认的:split为水平分割窗口,垂直分割可以使用:vsplit指令。

4. 执行Shell命令

执行一条Shell命令而不退出Vim编辑器,可以通过:!{命令}的方式实现。

5. 自动补齐

前面已经出现过的内容,再次输入其前几个字符后使用Ctrl+N,实现自动补齐功能。