光标移动
| 命令 |
说明 |
| h |
向左移动 |
| l |
向右移动 |
| k |
向上移动 |
| j |
向下移动 |
| w |
移动到上一个单词 |
| b |
移动到下一个单词 |
进入插入模式
| 命令 |
说明 |
| i |
光标前插入 |
| I |
整行前插入 |
| a |
光标后插入 |
| A |
整行后插入 |
| o |
当前行下另起一行插入 |
| O |
当前行上另起一行插入 |
| cw |
光标到单词末尾删去并插入 |
保存模式
| 命令 |
说明 |
| :w |
加回车可以保存;后边加路径可以另存为 |
| :x |
保存并退出 |
| :wq |
保存并退出 |
| :wq! |
强制保存并退出 |
| :q |
退出 |
| :q! |
强制退出,不保存 |
| :saveas |
后加路径另存为 |
删除文本
| 命令 |
说明 |
| x |
删除游标所在字符 |
| X |
删除游标所在字符的前一个字符 |
| dw |
删除游标所在位置到当前单词末尾(可与cw对比记忆) |
| dd |
删除当前行,前可加倍数 |
| d^ |
删除到行首(不包含游标所在字符) |
| d$或者D |
删除到行尾(包含游标所在字符) |
| dG |
删除到文档末尾 |
| d1G |
删除到文档末尾 |
重复命令
| 命令 |
说明 |
| . |
重复上一次操作 |
| 数字+操作 |
执行若干次操作 |
跳转操作(行数需要用命令 :set nu 显示)
| 命令 |
说明 |
| 数字+G |
跳转到第N行 |
| gg |
跳转到第一行 |
| G |
跳转到最后一行 |
| ctrl+o |
跳转到光标上一次位置 |
行内操作
| 命令 |
说明 |
| w |
跳转到下一个单词开头 |
| e |
跳转到下一个单词末尾 |
| b |
跳转到上一个单词开头 |
| ge |
跳转到上一个单词末尾 |
| 0或^ |
跳转到行首 |
| $ |
跳转到行尾 |
| ~ |
大小写转换 |
| f + 搜索字符 |
向后跳转到第一个匹配到字符 |
| F+ 搜索字符 |
向前跳转到第一个匹配到字符 |
| t+ 搜索字符 |
向后跳转到第一个匹配到字符的前一个字符 |
| T+ 搜索字符 |
向前跳转到第一个匹配到字符后一个字符 |
查询
| 命令 |
说明 |
| / +字符(按回车) |
向下查找字符 |
| ? +字符(按回车) |
向上查找字符 |
| n |
继续查找下一个字符 |
| N |
反向继续查找下一个字符 |
| * |
向下查找游标所在单词 |
| g* |
向下查找游标所在单词(模糊查找,包含即可) |
| # |
向上查找游标所在单词 |
| g# |
向上查找游标所在单词(模糊查找,包含即可) |
复制粘贴
| 命令 |
说明 |
| y |
复制光标所在字符 |
| yy |
复制光标所在行 |
| y^ |
复制光标到行首 |
| y$ |
复制光标到行尾 |
| yw |
复制光标所在字符到单词的结尾 |
| y+数字+w |
复制光标所在字符到第n个单词的结尾 |
| yG |
复制到文档结尾 |
| y1G |
复制到文档开头 |
| p |
粘贴到光标后 |
| P |
粘贴到光标前 |
替换和撤销
| 命令 |
说明 |
| r +替换字符 |
替换光标所在字符 |
| R |
连续替换直到按下esc |
| cc |
删除整行并进入插入模式 |
| cw |
光标到单词末尾删去并进入插入模式 |
| C |
替换光标到行尾并进入插入模式 |
| u (+次数) |
撤销 |
| U |
撤销当前行所有修改 |
| Ctrl + r |
redo,撤销undo的操作 |
缩进设置
| 命令 |
说明 |
| :set shiftwidth? |
查看缩进字符 |
| :set shiftwidth=数字 |
设置缩进字符 |
| >> |
向右缩进 |
| << |
向左缩进 |
调整文本位置
| 命令 |
说明 |
| :le |
本行文本左对齐 |
| :ce |
本行文本居中 |
| :ri |
本行文本右对齐 |
多文件编辑
vim 1.txt 2.txt 默认进入1.txt,用:n可以切换到2.txt,然后再:N可以切换到1.txt,命令后加!强制切换。
| 命令 |
说明 |
| :e(若加!即放弃正在编辑的文件) +文件名 |
打开另一个文件 |
| :e# |
回到前一个文件 |
| :ls |
列出当前编辑的所有文件 |
| :b+文件名 |
打开文件列表中的文件 |
| :bd +文件名 |
删除文件列表中的文件(并不删除源文件) |
| :f |
显示当前文件名 |
| :f + 文件名 |
更改文件名 |
可视模式
选择后配合d 和 y,p 可以删除和复制,粘贴。
| 命令 |
说明 |
| v |
进入可视模式 |
| shift +v |
行选择 |
| ctrl+v |
块选择模式 |
VIM视窗
| 命令 |
说明 |
| :sp +文件名 |
打开新的水平视窗 |
| :vsp+文件名 |
打开新的垂直视窗 |
| Ctrl-w s |
将当前窗口分割成两个水平的窗口 |
| Ctrl-w v |
将当前窗口分割成两个垂直的窗口 |
| Ctrl-w q |
即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q! |
| Ctrl-w o |
打开一个视窗并且隐藏之前的所有视窗 |
| Ctrl-w j |
移至下面视窗 |
| Ctrl-w k |
移至上面视窗 |
| Ctrl-w h |
移至左边视窗 |
| Ctrl-w l |
移至右边视窗 |
| Ctrl-w J |
将当前视窗移至下面 |
| Ctrl-w K |
将当前视窗移至上面 |
| Ctrl-w H |
将当前视窗移至左边 |
| Ctrl-w L |
将当前视窗移至右边 |
| Ctrl-w - |
减小视窗的高度 |
| Ctrl-w + |
增加视窗的高度 |
其它
vim -x +文件名可以加密
:!ls 用于显示当前目录的内容
:!rm FILENAME用于删除名为 FILENAME 的文件
:w FILENAME可将当前 VIM 中正在编辑的文件另存为 FILENAME 文件
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。