前言
在使用编辑器的时候依然存在很多不方便,Vim使用上手成本很高,但还是得学着用,此系列用来记录学习使用的Vim基本命令和用法
参考链接 zhihu
参考链接 博客
vim基本模式
vim的基本模式分为:
-
命令模式(Command Mode):当你启动Vim时,进入的就是命令模式。在这个模式下,你可以执行命令,比如保存文件、退出Vim等。
-
插入模式(Insert Mode):在命令模式下,按下i、a、o等键进入插入模式。在这个模式下,你可以输入文本内容,就像在普通的文本编辑器中一样。
-
可视模式(Visual Mode):在命令模式下,按下v、V或Ctrl+v键进入可视模式。在这个模式下,你可以选择一段文本,然后对选中的文本进行操作,比如复制、剪切、替换等。
-
命令行模式(Command-line Mode):在命令模式下,按下冒号(:)进入命令行模式。在这个模式下,你可以执行更高级的命令,比如搜索、替换、执行外部命令等。
命令模式是Vim的默认模式,当你启动Vim时进入的就是命令模式。在这个模式下,你可以执行各种编辑命令,比如移动光标、复制、粘贴、删除等。你可以通过键盘上的各种命令键(如h、j、k、l、dd、yy等)来执行这些操作。
命令行模式是命令模式的一种扩展,通过在命令模式下按下冒号(:)进入命令行模式。在命令行模式下,你可以输入更高级的命令,比如搜索、替换、保存文件、退出Vim等。你可以在冒号后面输入相应的命令,然后按下回车键执行该命令。
有的也将其分为INSERT MODE和NORMAL MODE
基本操作
$ vim
进入vimedit sample.txt
打开sample.txt文件,不存在则会创建文件,此时进入COMMAND模式(默认模式)- 按下
i
或者a
进入INSERT模式,该模式下可以输入字符 - 输入完成后,按下
ESC
返回COMMAND模式,保存文件,输入:w
,注意需要:
号 - 推出vim,COMMAND模式下输入
:q
- save & quit:
:wq
- 放弃文件修改,输入
:q!
移动操作
移动操作在COMMAND MODE下执行
- 左
h
下j
上k
右l
- 移动一个word的长度:
- 下一个单词起始
w
- 下一个单词结束
b
- 上一个单词起始
e
- 上一个单词结束
ge
,也可以使用be组合以下
- 下一个单词起始
[n][action/movement]
执行动作n次 例如3w
0
$
,移动到行的开始和结尾gg
移动到文本buffer的开头G
:大写G,直接跳转到文本最后一行:$
+回车,跳转到最后一行[n]G [n]gg :[n]
,跳转到第n行
删除操作
在COMMAND MODE下执行
- 按下
x
删除一个字符 d[movement]
删除
*dd
:删除整行
*d$
:删除光标到行末
*d0
:删除行首到光标
*dw de db
:删除内容分别为光标到下一个单词开头,光标到当前单词结尾,光标到当前单词开头
*dh dj dk dl
*d + [n][movement]
撤销操作 u
(小写u) ,[n]u,表示撤销到之前几步。
查找操作
/yourtext
n
n表示next,即下一个匹配位置
拷贝粘贴操作
yy
:复制整行p
:在光标后粘贴数据
多文件编辑操作
链接
vim file1 file2 file3
vim未启动时打开多个文件open file1
vim启动后打开文件- 多个窗格同时显示多个文件:
:split
简写为:sp
:vsplit
简写为:vsp
- 同一个窗格文件切换
:bn
下一个文件:bp
上一个文件
- 窗格间进行切换
- Ctrl+w+方向键——切换到前/下/上/后一个窗格
- Ctrl+w+h/j/k/l ——同上
- Ctrl+ww——依次向后切换到下一个窗格中
关闭文件操作
:q
关闭当前文档:qa
关闭所有文档并退出Vim:close
关闭当前文档,但不退出Vim:only
关闭除了当前文档之外的其他所有文档