Vim 学习

2018-07-02  本文已影响4人  笑叶林

Vim 的六种基本模式

其中常用的是 普通模式 插入模式命令行模式

三种模式切换

vim 启动进入普通模式,处于插入模式或者命令行模式时只需要按 Esc 或者 Ctrl + [ 即可进入普通模式,普通模式中按i或者a都可以进入插入模式。普通模式按:可以进入命令行模式,命令行输入 wq 回车保存退出 vim

游标移动

在普通模式中进行游标移动,按h,j,k,l进行游标移动

按键 说明
h
l 右(小写)
j
k

插入模式

进入插入模式

在普通模式下使用下面的键进入插入模式,并且可以从相应的位置开始输入

命令 说明
i 从当前光标处进行编辑
I 在行首插入
A 在行末插入
a 在光标后插入
o 在当前行后插入一个新行
O 在当前行前插入一个新行
cw 替换从光标所在位置后到一个单词结尾的字符
C 修改当前行上光标后面的部分. 进入编辑状态
cc OR S 修改当前行. 进入编辑状态

删除文本

普通模式删除文本

命令 说明
x 删除游标所在的字符
X 删除游标所在的前一个字符
Delete 同 x
dd 删除整行
dw 删除一个单词
d$ OR D 删除至行位

重复上次操作

在普通模式下 . (小数点)表示重复上次操作

执行指定次数的命令

在普通模式下,输入N<command>N 表示 command 的执行次数,比如 2dd,表示执行 dd 两次。

游标的快速跳转

行间跳转

命令 说明
nG(n Shift+g) 游标移动到第n 行,如果默认没有显示行号,先执行:set nu 显示行号
gg 游标移动到第一行
G(shift+g) 到最后一行

行内跳转

普通模式下使用下列命令在行内按照单词为单位进行跳转

命令 说明
w 到下一个单词的开头
e 到当前单词的结尾
b 到前一个单词的开头
ge 到前一个单词的结尾
0 OR ^ 到行头
$ 到行尾
f[字母] 向后搜索 字母 并跳转到第一个匹配的位置
F[字母] 向前搜索 字母 并跳转到第一个匹配的位置
t[字母] 向后搜索 字母 并跳转到第一个匹配的位置之前的一个字母**
T[字母] 向前搜索 字母 并跳转到第一个匹配的位置之前的一个字母**

复制粘贴剪切

复制及粘贴文本

在普通模式下使用 y 复制

命令 说明
y 复制当前光标的文本
yy 复制游标所在的整行
y^ OR y0 复制至行首,不包含光标所在的字符
y$ 复制至行尾,含光标所在处字符
yw 复制一个单词
y[n]w 复制 n 个单词
yG 复制至文本末
y1G 复制至文本开头

使用p粘贴

命令 说明
p 粘贴至光标后
P 粘贴至光标前

剪切及粘贴

其实 dd 就是剪切,每次剪切后可以用 p来粘贴,所以 ddp 可以快速实现上下行交换

查找和替换

替换和撤销命令

普通模式

命令 说明
r<待替换的字母> 将游标所在的字母替换为指定的字母
R 连续替换,直到按下Esc
cc 替换整行,及删除游标所在的行,并进入插入模式
cw 替换一个单词,即删除一个单词,并进入插入模式
C 替换游标以后至行末
~ 反转游标所在字母的大小写
u[n] 撤销一次或者 n 次操作
U 撤销当前行的所有修改
Ctrl+r redo,撤销撤销操作

快速缩进

使用命令进行快速调整缩进操作

缩进操作均在普通模式下有效

命令 说明
>> 将整行向右缩进
<< 将整行向左回退

命令行下对shiftwidth值进行设置可以控制缩进和回退的字符数

shiftwidth 命令

获取目前的设定值

:set shiftwidth?

设置缩进值为10个字符

:set shiftwidth=10

调整文本位置

命令行模式下输入:ce 命令使文本居中

命令 说明
:ce 使本行内容居中
:ri 使本行内容靠右
:le 使本行内容靠左

查找

快速查找

普通模式下输入/ 然后输入要查找的字符串,按回车后就会进行查找。

?/功能相同,只不过?是向上而/是向下查找

进入查找后输入nN可以继续查找

n 表示继续查找,N表示反向查找

高级查找

命令 说明
* 向下查找游标所在处的单词
# 向上查找游标所在处的单词
g* 向下查找游标所在处的单词,部分符合即可
g# 向上查找游标所在处的单词,部分符合即可

nN仍可使用

上一篇下一篇

猜你喜欢

热点阅读