vim 常用命令思维导图(持续更新)

vim 常用命令思维导图(持续更新)

思维导图

在这里插入图片描述

plantUML 源码

@startmindmap
'https://plantuml.com/mindmap-diagram

caption beat
title  vim 常用命令

*[#Orange] vim 常用命令
**[#lightgreen] 编辑
***[#c6ffb3] 字符
****_  x - 向后删除字符
****_  X - 向前删除字符
****_  s - 替换字符
****_  i - 在光标前插入
****_  I - 在行首插入
****_  a - 在光标后插入
****_  A - 在行为插入
****_  c - 改变(change),删除并进入编辑模式
****_  C - 改变(change),删除光标后字符到行尾并进入编辑模式
***[#c6ffb3] 单词
****_  diw - 删除光标所在单词,不包含空格,del inner word
****_  daw - 删除光标所在单词,包含空格,del a word
****_  dw - 删除光标后的字符到下一个单词的词首,包含空格, d4w-删除四个单词,d4e,d$
***[#c6ffb3] 行
****_  D - 删处光标后的字符到行尾,不可编辑
****_  C - 修改光标后的字符到行尾,可编辑
****_  S - 修改整行,可编辑
****_  dd - 删除整行
****_  yy - 复制整行
****_  o - 向下插入一行
****_  O - 向上插入一行
****_  A - 当前行首插入
****_  I - 当前行尾插入
****_  J - 两行和一行,{n}J:n行合一行
***[#c6ffb3]  撤销
****_  u - 向前撤销
****_  ctrl+r - 向后恢复
***[#c6ffb3] 编辑
****_ p - 向下复制一行
****_ P - 在当前行复制一行
****_ d - 剪切
****_ :n,md - 删除n到m行内容
****_ :n,.d - 删除n以后的行
****_ :.,$d - 删除光标所在行后的所有行
***[#c6ffb3] 状态
****_  ctrl+g - 统计当前行的信息
****_  g -> ctrl+g - 统计所有内容信息
***[#c6ffb3] 选择
****_  v - 从光标位置开始,光标经过位置选中
****_  V - 从光标位置所在行开始,光标经过所在的行选中
****_  ctrl+v - 从光标位置开始,构成选中矩阵
****_ ggVG - 选中全部的文本, 其中gg为跳到行首,V选中整行,G末尾
***[#c6ffb3] 文件
****_ :edit foo.txt - 编辑另一个 foo.txt 文件,简写 :e foo.txt
****_ vim 1.txt 2.txt 3.txt - 同时编辑多个文件
****_ vim -R file.txt - 只读打开
****_ vim -R file.txt - 只读打开
****_ [:next|:n|:wn],[:previous|:prev|:wprev] - 切到上一个,下一个编辑文件,wn-保存后下一个
****_ :args - 显示正在编辑的文件和文件列表
****_ :split - 为本文件打开一个新窗口
****_ :split 2.txt - 为2.txt文件打开一个新窗口
****_ :vsplit - 垂直分割窗口
****_ :vim -o 1.txt 2.txt - 为每个文件打开一个窗口
****_ :vimdiff 1.txt 2.txt - 比较文件之间的不同
****_ :tabe 1.txt - 为1.txt创建标签页, gt切换
****_ :[q|w|wq]all - [放弃|保存|保存所有并退出]
****_ :only - 关闭除当前出口外的其它窗口
****_ :sav|saveas newfileName.txt - 另存为新文件(已保存)
****_ :f|file newfileName.txt - 另存为新文件(未保存)
****_ :ctrl+w - 切换窗口


**[#FFBBCC] 移动
***[#FFBBCC] 单词
****_ w - 下一个单词第一个字符
****_ W - 下一个长单词第一个字符
****_ e - 下一个长单词最后字符
****_ E - 下一个长单词第最后字符
****_ b - 前一个单词第一个字符
****_ B - 前一个长单词第一个字符
****_ g[e|E] - 前一个(长)单词第最后字符
***[#FFBBCC] 行
****_ (数字 0 | btn[home])- 行首:包含空格
****_  ^ - 行首:非空字符
****_  {n}}$ | btn[end] - n行行尾:非空字符
****_  gg - 第一行
****_  G - 最后一行
****_  {n}G - 到第 n 行行首
***[#FFBBCC] 句
****_  ( - 到句首
****_  ) - 到句尾
***[#FFBBCC] 段落
****_  { - 到句首
****_  } - 到句尾yy
***[#FFBBCC] 屏幕
****_  ctrl+y  - 向上滚屏
****_  ctrl+e  - 向下滚屏
****_  ctrl+u  - 向上滚半屏
****_  ctrl+d  - 向下滚半屏
****_  ctrl+b  - 向上滚全屏
****_  ctrl+f  - 向下滚全屏
***[#FFBBCC] 跳转
****_ [f|F]{x} - 跳到[下|上]一个x字符位置,分号(;)向下查找,逗号(,)反向
****_ ctrl+] - 调到上一个应用的地方
****_ ctrl+字母o - 调到上一个光标位置, ctrl+I:跳回来
****_ % - 匹配光标所在括号“(“的另一个对应括号“)”
****_ {n}% - 跳到文件 n% 的地方
****_ [H|M|L]- 跳到文件[第一行|中间行|结尾行]行首
***[#FFBBCC] 标记
****_  m[a-z] - (同一个文件用小写)为光标当前位置做一个[a-z]的标记(mark a),调回a标记,使用"`a",清除所有标记 :delm!
****_  m[A-Z] - (不同文件用大写)为光标当前位置做一个[A-Z]的标记(mark A),调回A标记,使用"`A",清除所有标记 :delm!
****_  marks A - 查看A标记对应的内容
****_ ''  - 前后两个mark之间跳转
***[#FFBBCC]  其它
****_ h|j|k|l - 左|下|上|右
****_ {n}}[h|j|k|l] - 向[左|下|上|右]移动n
-- 查找
---_ :[/|?]{x} - 向[下|上]查找x字符或单词
---_ n - 查找模式下,下一个字符
---_ N - 查找模式下,上一个字符
---_ v{word} -> * - 选中word,按 “*” 将查找一次word出现位置,“3*”也支持
---_ /{word}\> - 精确查找整个单词"word",而不会查找到 “wordless”, "\>"匹配结束处,"\<" 匹配开始处
-- 替换
---_ :s/{pattern}/{replace}/    - 替换第一个出现的匹配正则文本为replace
---_ :s/{pattern}/{replace}/g   - 替换当前行所有匹配正则文本为replace
---_ :%s/{pattern}/{replace}/g  - 全局替换所有匹配正则文本为replace
---_ :s/{pattern}/{replace}/gc  -  全局替换所有匹配正则文本为replace, 需确认(confirm)
---_ :2,5/{pattern}/{replace}/g  -  替换2到5行匹配正则的文本为replace
--[#lightblue] 折行
---_ zfap - 折一段文本
---_ zf - 创建折行
---_ zo - 打开折行
---_ zc - 关闭折叠
--[#ffddcc] 保存、退出
---_ :w - 保存
---_ :q - 退出
---_ ZZ|:wq|:x - 保存退出
---_ ZQ|:q! - 不保存退出
---_ :w {filename} - 另存为文件
-- 寄存器
---_ :reg - 查看寄存器
---_ ""p  - 使用匿名寄存器粘贴
---_ "ayy - 复制当前行到寄存器 a 中
---_ "ap -  粘贴a寄存器中的内容
---_ "+p -  粘贴剪切板中的内
---_ ":p -  粘贴上一个vim命令,带冒号 -:的命令
---_ "/p -  粘贴上一个在vim中搜索的关键词
---_ "_[d|y] - 黑洞复制,黑洞剪切
-- tag
-- 组合命令
---_ ctrl+v -> [上|下|左|右] -> [d|s|i(I)] -> esc两次 - 块复合编辑
---_ :[n,m|%s] s/^/#/g - n到m行 | 全局 添加注释
---_ vi[w|W] - 选择一个[长]单词
-- 设置
---_ :set hlsearch - 开启高亮搜索,“:set nohlsearch”:关闭。
---_ :set autoindent - 开启自动缩进
---_ :syntax enable - 语法高亮
---_ :set nu! - 显示行号
---_ :set warp - 自动换行

header
vim 常用命令
endheader

center footer luwei
'legend
'#vim 命令字符含义
'#|字符|含义|
'#|$|指定范围|
'|%|全局|
'endlegend

'center footer My super footer
'legend
'    |Color| Type |
'    |<#FF0000>| Type A class|
'    |<#00FF00>| Type B class|
'    |<#0000FF>| Type C class|
'endlegend
@endmindmap

源码说明

  1. {word} - word 属于变量
  2. [n|m] - 表示 n 或者 m
  3. -> - 表示 先后过程

声明

  1. 以上命令在某些环境下不一定正确,有错误评论区见;
  2. 适用 ideaVIM;
  3. 遗漏的命令也请评论区见,持续更新;
  4. 源码已奉上,后续有可能开一个repo,欢迎协作;
  5. 勿喷,有问题看到有时间就更新。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值