Vim 基础用法

205 阅读3分钟

工作模式

i # insert 模式,进行文件编辑
v # visual 模式,移动光标可以选中文本。可用来复制块,粘贴,删除等操作
R # replace 模式,可以直接对字符进行替换
: # 命令行模式

操作命令

打开文件

vim filename # 打开或新建一个文件,把光标置于首部
vim + filename # 打开或新建一个文件,把光标置于末尾
vim +n filename # 打开或新建一个文件,把光标置于 n 行
vim -R filename # 只读模式打开一个文件

光标移动

gg # 移动到文件开头
G  # 跳转到文件末尾
nG # 跳转到 n 行
'' # 两次英文引号,返回到跳转前的位置
$  # 光标移动到当前行的行尾
0  # 光标移动到当前行的行首

### 词组移动
w  # 光标移动到下一个单词的开头
e  # 光标移动到下一个单词的末尾
b  # 光标移动到前一个单词的开头

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

文本插入

i  # 在当前光标的前面插入字符
a  # 在当前光标的后面追加字符
I  # 在行首添加字符
A  # 在行尾添加字符

文本删除

x  # 删除光标所在的字符
X  # 删除光标左边的字符

d$  # 删除从光标到行尾的内容
d0  # 删除从光标到行首的内容
dd  # 删除光标当前行
ndd # 删除从光标所在行开始的 n 行代码
dgg # 删除光标所在行至文本开头的所有内容
dG  # 删除光标所在行至文本结尾的所有内容

文本复制与粘贴

y   # 复制
p   # 在光标后或下一行粘贴
y$  # 复制光标到行尾的所有内容
y0  # 复制光标到行首的所有内容

yy  # 复制一整行
nyy # 复制从光标所有行开始的 n 行

### 复制文本块
# 1. 按 v, 进入 visual 模式
# 2. 移动光标选择文本
# 3. 复制与粘贴的操作

### 复制全部
ggvG # 全选,进入 v 模式,G移动到文本结尾

文本查找与替换

单个字符的替换

~   # 修改光标下字符的大小写
rx  # 将光标下的字符替换为 x

查找命令

# Enter 确认查找,n 浏览下一个查找结果,N 浏览上一个查找结果
/string  # 向后查找
?string  # 向前查找

:set hls # 设置查询的结果高亮
:noh     # 关闭高亮展示

:set nu  # 设置行号展示

替换命令

:s/old/new      # 将当前行的第一个 old 替换成 new
:s/old/new/g    # 将当前行的所有 old 替换成 new
:ns/old/new/    # 将第 n 行的第一个 old 替换成 new
:ns/old/new/g   # 将第 n 行的所有 old 替换成 new

:m,ns/old/new   # 将指定的 m, n 行内的第一个 old 替换成 new
:m,ns/old/new/g # 将指定的 m, n 行内的所有 old 替换成 new

:%s/old/new     # 将文本中,所有行的第一个 old 替换成 new
:%s/old/new/g   # 将文本中全部的 old 替换成 new

:%s/old/new/gc  # 依次将 old 替换成 new,每次替换前,需要确认
:%s/^hello/halle/g  # 将文本中所有以 hello 开头的字符串替换成 halle

撤销、重置、保存

u   # 撤销上一步的操作,类似 windows 的 ctrl+z
Ctrl+r # 将原来撤销的恢复,类似 windows 的 ctrl+r

:q  # 如果文件没有更改,直接退出
:q! # 放弃修改,直接退出
:wq # 保存修改并退出
:e! # 放弃修改,重新回到文件打开时的状态

参考链接

blog.csdn.net/sinat_24985…