文章目录
-
- 简述:
-
- [1. **命令模式(Command Mode)**](#1. 命令模式(Command Mode))
- [2. **插入模式(Insert Mode)**](#2. 插入模式(Insert Mode))
- [3. **可视模式(Visual Mode)**](#3. 可视模式(Visual Mode))
- [4. **末行模式(Ex Mode)**](#4. 末行模式(Ex Mode))
- 详细使用案例:
-
- [1. **文件操作类**](#1. 文件操作类)
- [2. **移动光标类**](#2. 移动光标类)
- [3. **文本插入与删除类**](#3. 文本插入与删除类)
- [4. **复制与粘贴类**](#4. 复制与粘贴类)
- [5. **搜索替换类**](#5. 搜索替换类)
- [6. **可视选择与操作类**](#6. 可视选择与操作类)
- [7. **窗口操作类**](#7. 窗口操作类)
- [8. **撤销与重做类**](#8. 撤销与重做类)
- [9. **跳转到特定行号**](#9. 跳转到特定行号)
- [10. **显示帮助信息**](#10. 显示帮助信息)
- [11. **文本替换与查找类**](#11. 文本替换与查找类)
- [12. **折叠代码块**](#12. 折叠代码块)
- [13. **标记和跳转**](#13. 标记和跳转)
- [14. **列选择模式**](#14. 列选择模式)
- [15. **宏录制与回放**](#15. 宏录制与回放)
- [16. **多文件编辑**](#16. 多文件编辑)
- [17. **快速定位**](#17. 快速定位)
- [18. **视觉差异比较**](#18. 视觉差异比较)
简述:
在Vim中,有三种主要的操作模式:命令模式(Command Mode)、插入模式(Insert Mode)和可视模式(Visual Mode)。以及一个特殊的末行模式(Ex Mode)。
1. 命令模式(Command Mode)
- Vim启动时默认进入命令模式。如果你正在其他模式下操作,按下
Esc
键即可返回命令模式。
2. 插入模式(Insert Mode)
- 若要从命令模式进入插入模式,可以使用以下命令:
i
在光标前开始插入a
在光标后开始插入I
在当前行的行首开始插入A
在当前行的行尾开始插入o
在当前行下方新开一行并插入O
在当前行上方新开一行并插入
3. 可视模式(Visual Mode)
- 从命令模式进入可视模式,可使用:
v
进入字符选择可视模式V
进入行选择可视模式<C-v>
或<Ctrl+v>
进入块选择可视模式
4. 末行模式(Ex Mode)
- 末行模式主要用于执行文件保存、退出、设置选项等操作。从命令模式进入末行模式,按
:
(冒号)即可。在末行模式下输入命令后回车执行,执行完毕后会回到命令模式。
例如,要执行:wq
保存并退出文件,首先在命令模式下按:
进入末行模式,然后输入wq
并回车。
详细使用案例:
在Vim编辑器中,命令非常多且丰富,这里按功能分类列举10个基础且常用的命令及其实例:
1. 文件操作类
-
打开文件:
vim filename.txt
打开名为filename.txt的文件。
-
保存文件:
:w
保存当前正在编辑的文件。
-
退出编辑器:
:q
如果没有未保存的更改,退出Vim。
若要强制退出(不保存更改):
:q!
若有更改并希望先保存后退出:
:wq
2. 移动光标类
-
向下移动一行:
j
-
向上移动一行:
k
-
向右移动一个字符:
l
-
向左移动一个字符:
h
-
移动到行首:
0 或 ^
-
移动到行尾:
$
3. 文本插入与删除类
-
插入模式下输入文本 :
按
i
进入插入模式,然后可以像普通文本编辑器那样输入文本。 -
在当前光标位置后插入文本:
iHello, world <ESC>
输入"Hello, world"后按
<ESC>
返回正常模式。 -
删除当前光标下的字符:
x
-
删除从当前光标到行尾的所有字符:
d$
4. 复制与粘贴类
-
复制一行:
yy
-
粘贴到光标下方:
p
5. 搜索替换类
-
向前搜索指定字符串:
/search_text
-
全局替换:
:%s/old_text/new_text/g
6. 可视选择与操作类
-
进入可视模式,选择一行:
V
-
选中多行 :
移动光标至开始行,按下
Shift + v
进入可视行块模式,移动光标到结束行。 -
对选中的文本进行操作 :
例如,选中文本后执行大写转换:
gU
7. 窗口操作类
-
分割窗口:
:sp filename.txt
在垂直方向上分割窗口并打开新文件。
-
切换窗口:
<C-w>h 或 <C-w>j 或 <C-w>k 或 <C-w>l
分别表示向左、下、上、右切换窗口。
8. 撤销与重做类
-
撤销操作:
u
-
重做上次撤销的操作:
Ctrl + r
9. 跳转到特定行号
-
跳转到第n行 :
:n
10. 显示帮助信息
-
打开内置帮助文档 :
:help
或者快速查找特定命令的帮助:
:help command_name
11. 文本替换与查找类
-
在当前行内查找并替换:
:s/old_text/new_text
若要在整个文件中替换,使用全局标志
g
::%s/old_text/new_text/g
-
递归搜索目录下的所有文件 (需安装插件如
grep.vim
)::Grepper -type f -rg 'search_text'
12. 折叠代码块
-
折叠当前层级的所有折叠区域:
za
-
打开当前层级的所有折叠区域:
zA
-
逐级向下展开折叠:
zr
-
逐级向上折叠:
zm
13. 标记和跳转
-
设置标记:
ma
在当前光标位置设置名为'a'的标记。
-
跳转到标记:
`'a
跳转到标记'a'的位置。
14. 列选择模式
-
进入列选择模式:
Ctrl + v
-
进行列操作 :
进入列选择模式后,移动光标选择多列,然后可以执行删除、复制、粘贴等操作。例如删除选中的列内容:
d
15. 宏录制与回放
-
开始录制宏:
qa
开始记录到寄存器'a'的宏。
-
停止录制并结束宏 :
按下需要的操作键序列后,按
q
停止录制。 -
播放宏:
@a
回放存储在寄存器'a'的宏。
16. 多文件编辑
-
打开多个文件:
vim file1.txt file2.txt
-
在不同的缓冲区间切换:
:bn 或 :bp
分别表示下一个文件缓冲区或上一个文件缓冲区。
17. 快速定位
-
跳转到特定字符:
f<char>
向前查找并跳转到指定字符。
-
跳转到匹配括号:
%
如果光标位于左括号,将跳转到对应的右括号;反之亦然。
18. 视觉差异比较
-
通过vimdiff比较两个文件 :
vimdiff file1.txt file2.txt
以上是Vim中更多的命令及其示例,实际上Vim的功能非常强大,提供了丰富的命令集和自定义扩展能力。建议深入阅读Vim官方文档以了解更全面的信息,并通过实践来熟练掌握这些功能。
python推荐学习汇总连接:
50个开发必备的Python经典脚本(1-10)
最后我们放松一下眼睛