Vim入门
Vim的模式#
1.普通模式(Normal Mode)#
- 编辑文件中已有的内容
- 可以插入,修改,删除单词,句子和段落
2.插入模式(Insert Mode)#
- 向文件中添加新内容
- 在普通模式按
i
进入插入模式 - 在插入模式按
ESC
或CTRL-c
退回普通模式
3.可视化模式(Visual Mode)#
- 可以选取内容,然后针对选取部分进行修改或删除
- 在普通模式按
v
进入可视化模式 - 在普通模式按
SHIFT+v
进入按行选择的可视化模式 - 在普通模式按
CTRL+v
进入按块选择的可视化模式,可以选择多行多列,用来编辑表格、列表 - 在可视化模式按
ESC
或CTRL-c
退回普通模式
4.命令行模式(Command-Line Mode)#
- 可以理解为Vim的菜单,类比图形界面编辑器的菜单
- 在普通模式按
:
进入命令行模式 - 一些基本命令:
:help
打开Vim的帮助:q
退出Vim:q!
退出Vim,放弃更改:w
写入,保存当前打开的文件:wq
/:x
保存后退出:e <path>
编辑指定路径的文件,路径可以是绝对路径或相对路径:w <path>
另存为指定路径的文件
Vim的常用命令#
1.搜索#
- 在普通模式按
/
,然后输入要搜索的内容,最后按ENTER
- 按
n
跳到下一个结果,按N
跳到上一个结果 - 搜索光标所在的单词
*
向前搜索#
向后搜索
2.撤销和重做#
- 在普通模式下,按
u
撤销 - 在普通模式下,按
CTRL-r
重做
3.普通模式切换为插入模式#
i
在光标所在字符之前开始插入内容a
在光标所在字符之后开始插入内容A
在光标所在行的行尾开始插入内容o
在光标所在行下面新建一行,开始插入内容O
在光标所在行上面新建一行,开始插入内容
Vim的移动光标命令#
命令前可以输入一个数字,代表执行几次命令,比如 6<光标移动命令>
可以执行6次光标移动命令。
1.基本移动#
h
左l
右j
下k
上
2.水平移动#
w
向前移动一个单词,Vim里一个单词是一串连续的中文,字母,数字,下划线组成的序列b
向后移动一个单词0
移动到光标所在行行首^
移动到光标所在行行首,如果行首有空白,则移动到第一个可见字符位置$
移动到光标所在行行尾%
如果光标在一个括号上,移动光标到匹配的另一半括号上- 可以使用以下命令移动光标到行内的某个具体字符上
f<字符>
查询光标之后的内容,如果找到指定字符,则移动光标到该字符位置F<字符>
查询光标之前的内容,如果找到指定字符,则移动光标到该字符位置t<字符>
查询光标之后的内容,如果找到指定字符,则移动光标到该字符之后的一个位置T<字符>
查询光标之后的内容,如果找到指定字符,则移动光标到该字符之后的一个位置
可以按
;
移动到下一个匹配的位置,,
移动到上一个匹配的位置
3.垂直移动#
<行号>G
移动光标到指定行行首,比如,10G
光标将移动到第10行行首G
移动光标到文件的最后一行1G
/gg
移动光标到文件的第一行- 可以用以下按键翻页
CTRL-e
屏幕向下移动一行CTRL-u
光标向上移动半个屏幕CTRL-d
光标向下移动半个屏幕
Vim 的语言(命令组合)#
Vim里的命令按键可以组合成“句子”,表示一系列操作。
1.Vim的操作命令#
- Vim的操作命令相当于“句子”中的动词,可以和光标移动命令组合。
d
删除c
删除后进入插入模式y
复制p
粘贴到光标所在字符之后P
粘贴到光标所在字符之前
可以把Vim的操作命令和光标移动命令组合,形成“句子”:
d$
删除光标所在位置到行尾的内容,也可以用D
完成这个操作dgg
删除光标所在位置到文件开头的所有内容ggdG
删除整个文件的所有内容
2.Vim的文本对象#
文本对象相当于“句子”中的名词,常见的有单词w
,段落p
,放在Vim的操作命令之后
- Vim里一个单词是一串连续的中文,字母,数字,下划线组成的序列
- Vim里一个段落是连续的行
Vim的配置命令#
:set no<配置项>
取消配置项:set <配置项>!
切换配置项的状态:set <配置项>?
显示配置项的值:set <配置项>=<值>
给配置项设置一个值,可以是字符串或数字:set <配置项>+=<值>
给配置项的值加上一个值,如果是数字,直接加,如果是字符串,追加这个字符串:set <配置项>-=<值>
给配置项的值减去一个值,如果是数字,直接减,如果是字符串,删除资格字符串:set <配置项>&
恢复配置项的值为默认值
例如,如果要看当前打开的文件的类型,可以用下面的命令:
:set filetype?
当把配置命令写入到vim的配置文件里时,注意去掉
:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?