vim教程
文章目录
Vim 教程
功能
- 命令行模式下的文本编辑器。
- 根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。
- 使用方式:
vim filename
1. 如果已有该文件,则打开它。 2. 如果没有该文件,则打开个一个新的文件,并命名为filename
模式
- 一般命令模式 默认模式。
- 命令输入方式:可以复制、粘贴、删除文本等。
- 编辑模式 在一般命令模式 里按下
i
,会进入编辑模式。按下ESC
会退出编辑模式,返回到一般命令模式。 - 命令行模式在一般命令模式里按下
:/?
三个字母中的任意一个,会进入命令行模式。命令行在最下面。可以查找,替换,保存,退出,配置编辑器等。
操作
一般模式切换到编辑模式(常用)
i
:在光标所处位置直接开始a
:在光标所处位置的下一个字符开始o
:在光标所处位置的下一行开始r
:取代当前光标处的字符,然后开始[ESC]
:退出编辑模式,回到一般模式
光标移动操作(*)
h
或左箭头键
:光标向左
移动一个字符j
或向下箭头键
:光标向下
移动一个字符k
或向上箭头键
:光标向上
移动一个字符l
或向右箭头键
:光标向右
移动一个字符n<SPace>
:n为数字,光标向右移动这一行的n个字符n<Enter>
:n为数字,光标向下移动n行0
或者功能键[Home]
:光标移动到本行开头$
或者功能键[END]
:光标移动到本行末尾G
:光标移动到最后一行:n
或nG
:n为数字,光标移动到第n行gg
:光标移动到第一行,相当于1G
查找、替换操作
/word
:向光标之下寻找第一个值为word
的字符串?word
:向光标之上寻找第一个值为word
的字符串n
:重复前一个查找操作N
:反向重复前一个查找操作:n1,n2s/word1/word2/g
:n1
与n2
为数字,在第n1
与n2
行之间寻找word1
这个字符串,并将该字符串替换为word2
:1,$s/word1/word2/g
: 将全文的word1
替换为word2
:1,$s/word1/word2/gc
:将全文的word1
替换为word2
,且在替换前要求用户确认。
注:如果是替换路径可以用#代理/,例如:
:1,$s#media#/img/hugo/04-python_string#gc
文本操作
(可搭配
数字+<Enter>/<Space>、0、G、$
等使用,达到预期组合效果)
v
:选中文本d
: 删除选中的文本dd
: ** 删除当前行**y
: ** 复制选中的文本**yy
: ** 复制当前行**p
:将复制的数据在光标下一行/下一位置 粘贴u
:撤销ctrl + r
: 取消撤销>
: 将选中的文本整体向右缩进一次<
: 将选中的文本整体 向左缩进一次
命令行操作
:w
: 保存:w!
: 强制保存:q
: 退出:q!
: 强制退出:wq
: 保存并退出:set paste
: 设置成粘贴模式,取消代码自动缩进:set nopaste
: 取消粘贴模式,开启代码自动缩进:set nu
: 显示行号:set nonu
: 隐藏行号:noh
关闭查找关键词高亮
gg=G
:将全文代码格式化
Ctrl + q
: 当vim
卡死时,可以取消正在执行的命令
异常处理
- 每次用
vim
编辑文件时,会自动创建一个.filename.swp
的临时文件。 - 如果打开某个文件时,该文件的
swp
文件已存在,则会报错。此时解决办法有两种:- 找到正在打开该文件的程序,并退出
- 直接删掉该
swp
文件即可
文章作者 墨初
上次更新 2022-08-15