一、Vim 的简单实用
记录 vim
的一些简单用法。
二、normal模式下的操作
1、快速回到上次编辑的地方
按键盘的 gi
2、在文本间上下左右移动
-
h
:左移 -
j
:下移 -
k
:上移 -
l
:右移
3、快速移动到下一个单词
w/W
:快速移动到下一个单词开头。
e/E
:快速移动到下一给单词结尾。
b/B
:回到上一个单词开头。
上方小写字母和大写字符的区别,大写的表示以空白字符进行分割,小写表示以非空白字符进行分割。
eg: aa "bb" cc,用小
w
会跳转到 双引号,在到b,在到c;用大W
直接到双引号,然后到c。
4、行间的搜索
命令 | 解释 | 需求 | 示例语句 | 命令 | 结果 |
---|---|---|---|---|---|
f{char} | 移动到 {char} 这个字符上 | 查询第一个 a | (光标在此)bb cc aa dd aa | fa | 定位到 c后面的 a 上 |
t{char} | 移动到{char}这个字符的前一个字符上 | 定位到a后面的空格 | bb cc aa(光标在此) dd aa | ta | 定位到 d 后面的空格上 |
F{char} | 反过来搜索,移动到这个字符{char}上。 | 定位到d后面的a上 | bb cc aa dd(光标在此) aa | Fa | 定位到d后面的a上 |
就像上面的 a
可能出现多次,如果第一次没有搜索到,可以使用 ;
搜索该行的下一个,使用,
搜索该行的上一个。
5、行首行尾的移动
命令 | 解释 | 示例语句,语句前后都有空格 | 命令 | 结果 |
---|---|---|---|---|
0 | 移动到行首 | aa bb cc | 0 | 移动到了a的最前面 |
^ | 移动到第一个非空白字符的行首 | aa bb cc | ^ == [0w] | 移动到了第一个a上 |
$ | 移动到行尾 | aa bb cc | $ | 移动到了c后面的空格上 |
g_ | 移动到第一个非空白字符的行尾 | aa bb cc | g_ | 移动到了最后的一个c上 |
6、移动到页面的顶部、尾部、翻页
gg
:移动到页面的顶部。
G
:移动到页面的尾部。
ctrl+o
: 在上次的位置之间跳转。
ctrl+u
:向上翻页。
ctrl+f
:向下翻页。
zz
:把当前行放置在屏幕的中央。
7、删除操作
1、删除一个或n个字符
x
:删除一个字符
[数字]x
:删除多个字符, eg:
3x 表示删除3个字符。
2、删除一个单词
dw/daw
:删除当前字符到这个词结束的部分。
diw
:删除一个单词
单词 | 光标 | 命令 | 结果 | 解释 |
---|---|---|---|---|
aa hello word. | 在 e 处 | dw | aa hword. | 删除从e开始到w前所有的字符(删除了空格) |
aa hello word. | 在 e 处 | diw | aa word. | 删除从e开始到o结束的所有的字符(没有删除空格) |
3、删除行
dd
:删除行
[数字]dd
:删除多行
4、快速删除某个区间的单词
dt[结束的标识]
:删除光标到结束标识之间的词
单词 | 光标 | 命令 | 结果 | 解释 |
---|---|---|---|---|
aa (hello word.) | 光标在h处 | dt) | aa () | 删除了()之前的内容 |
8、修改操作
r
:替换某一个字符
R
:连续替换字符
[数字]s
:删除当前字符,并进入插入模式
S
:删除整行并进入插入模式
c
:
C
:删除光标之后的所有数据并进入插入模式,包括光标位置。
9、查找操作
/
:正向查找
?
:反向查找
n/N
:查找下一个或上一个
*/#
:进行当前单词的前向或后向匹配。
:set hls
:搜索结果高亮
:set incsearch
:在搜索过程中高亮
eg: /word 查找word这个单词,使用小
n
查找下一个。
10、撤销、恢复操作
u
:撤销上次的操作
ctrl+r
:恢复上次撤销的操作
11、复制、粘贴、剪切
yy
:复制一行
p
:粘贴一行
dd
:删除一行,配和p
粘贴一行,实现 剪切
功能。
yiw
:复制一个单词
12、多个缓冲区之间切换
当我们一次性打开了多个文件的时候,如何在vim中切换文件?
vim a.txt b.txt c.txt
:ls 查看缓冲区列表
:b[数字] 切换缓冲区,即切换到另外的文件编辑
三、编辑模式下的操作
1、a/i/o进入编辑模式
命令 | 解释 |
---|---|
a | 在当前字符的后面进行插入 |
A | 在行尾进行插入 |
i | 在当前字符的前面进行插入 |
I | 在行首进行插入 |
o | 在当前行的下方进行插入 |
O | 在当前行的上方进行插入 |
2、删除上一个字符、删除上一个词、删除行
1、删除上一个字符
ctrl +h
2、删除上一个词
ctrl + w
3、删除当前行
ctrl + u
3、进入到 normal 模式下
按 ESC
或者 ctrl + [
既可。
4、插入模式下粘贴代码可能缩进会乱
1、使用 :set paste 解决
1、如果设置了 :set autoindent
自动缩进
2、粘贴代码时,可能需要设置 :set paste
,粘贴完之后设置 :set nopaste
来解决
2、直接使用系统剪切板解决
" + p 在 normal 模式下,一次按 ",+,p
四、命令模式下的操作
1、显示行号
:set nu
2、分屏操作
1、垂直分屏
:vs
和当前打开的文件一样的分屏
:vs 另外的文件
,则在分屏中展示别的文件内容
2、水平分屏
:sp
3、退出分屏
:q
4、在分屏之间切换
ctrl+w
:然后在按 w或者j、k
等。
3、搜索高亮操作
:set hls
:搜索结果高亮
:set incsearch
:在搜索过程中高亮
4、自动缩进
:set autoindent
:自动缩进
五、visual可视化模式下的操作
1、块状选择
1、选择连续的某几个字符
键盘上按下小v
,然后使用键盘的方向键选择其余的字符。
2、选择某一行字符
键盘上按下大V
,然后使用键盘的方向键选择其余的字符。
3、选择某一块字符
使用 ctrl + v
来进行选择。
4、块编辑
1、按下键盘的ctrl+v进行块选择。
2、按下shift+i进入编辑模式。
3、编辑完成后,连续2次按下键盘上的ESC键,完成块数据编辑。
网友评论