Skip to content

Commit 73d658a

Browse files
committed
new: tricks_for_vim
1 parent fdb5c1a commit 73d658a

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
+++
2+
date = '2025-11-11T21:45:38+08:00'
3+
draft = true
4+
title = '一些驯服vim的小技巧'
5+
+++
6+
7+
## 前言
8+
9+
嗯嗯,相信大家都已经非常熟悉 `vim` 了,不过对于一些操作,可能觉得重复还是有点多,这里介绍一些摸索出来的小技巧。
10+
11+
### 切换行
12+
13+
使用 `ctrl`+`d``ctrl`+`u` 来上下翻页,然后用 `f``E``B` 快速定位。
14+
15+
当然使用 `easymotion` 也是不错的,但是我比较传统派,会考虑不能装插件的情况。
16+
17+
这里不使用 `ctrl`+`f``ctrl`+`b` 的原因是滚整屏容易丢失焦点,这时候重新寻找焦点的时间划不来。如果你确实需要跳跃大段内容的话,这也是一种选择。
18+
19+
### 交换两个单词的顺序
20+
21+
假设有三个单词:`foo` `bar` `yes`,要交换前面两个的顺序。
22+
23+
不需要在单词头部才能删除一个单词,`daw` 同样有效,并且会同时删除单词后面的空格。
24+
25+
此时焦点会到 `yes` 头部,按下 `b` 回到 `foo` 头部,然后 `P``bar` 粘贴到前面。
26+
27+
### 快速选中当前单词
28+
29+
使用 `viw`,然后这时候就可以用 `surround` 插件来添加两端的修饰了。
30+
31+
### 快速删除前面的单词
32+
33+
这个其实有点像借鉴 `emacs` 的。在插入模式下,按下 `ctrl`+`w` 可以删除前面的单词。
34+
35+
在想打中文,但是输入法是英文的时候,非常有用。
36+
37+
对了,记得配置输入法自动切换。
38+
39+
### 块选择
40+
41+
`ctrl`+`v` 进入块选择,可以把其中一块东西复制下来,然后粘贴这一块内容到别的地方,这对于需要修改文本格式,粘贴相似格式的文本非常有用。
42+
43+
当然有人常常用来添加注释,用法是选择一列,然后按下 `A`。不过 `vscode``ctrl`+`/` 相对来说更加方便。
44+
45+
### 快速跳转
46+
47+
使用 `ctrl`+`i` 向后跳转,`ctrl`+`o`向前跳转,支持多文件。
48+
49+
这个只有进行跨行移动才视为跳转,也就是说,普通的 `hjkl` 都不是。
50+
51+
### 寄存器
52+
53+
- 匿名寄存器 `"`: 任何剪切操作都会存到这。
54+
- `0`: 上次复制的东西。
55+
- `1-9`: 只有超过一行的删除在这,o1最近,9最久之前。
56+
- `+`: 系统剪贴板。
57+
- `-`: 上次剪切的少于一行的东西。
58+
59+
进入编辑模式后,可以 `ctrl`+`r` 跟上寄存器的名字,把寄存器的内容插入到此处。

0 commit comments

Comments
 (0)