首页 > 其他分享 >总结下vim快捷键

总结下vim快捷键

时间:2024-03-07 15:11:42浏览次数:170  
标签:总结 字符 删除 文件 模式 vim 单词 快捷键 光标

快速移动

  • w: 下一个单词
  • b: 上一个单词
  • ge: 上一个单词结尾
  • f
  • t
  • 0: 这一行的第一个字母
  • {: 上一段
  • }: 下一段
  • CTRL+D: 下半页
  • CTRL+U: 上半页
  • CTRL+Y: 光标不动, 画面向上
  • CTRL+E: 光标不动, 画面向下
  • : 向后搜索
  • ?: 向前搜索
  • \c | \C: 大小写不敏感, \b: 全词匹配
  • 搜索完成后, 使用ENTER选中 n:向后选择, N向前选择
  • {数字}{命令}: 相当于按了几下.
gd: 打开定义的地方1
  • gf: 如果在路径上, 直接打开这个路径的文件
  • gg: 文件开头
  • {行数}gg: 文件开头第几行
  • G: 文件结尾
  • {百分比数字}%: 文件行数的百分比位置

操作

  • {操作}{数字}{移动}:
{数字}{操作}{移动}: 
表示: 这个操作生效在下面这几个移动上. 
d2w: 删除两个w的操作的字符
  • df,: 删除到,这个字符
  • d/hello: 删除全部匹配的hello
  • ggdG: 删除整个文档
  • c: 更改, 更改某一段, 然后, 进入到编辑模式
  • y: 复制
  • p: 粘贴
  • “=p: 粘贴系统剪切版
  • g~: 切换大小写
  • gu: 全部小写
  • gU: 全部大写
  • >: 添加缩进
  • <: 进少缩进
  • dd: 删除这一行
  • cc: 更改这一行
  • D: 删除光标到行尾
  • C: 删除光标到结尾, 然后直接编辑模式
  • Y / yy: 复制整行
  • P: 粘到光标之前
  • s: 光标所在字母被删除, 进入编辑模式

text-object

  • i: inner 内部
  • a: around, 外部
  • w: 表示一个单词
  • s: 表示一个句子
  • “ ‘ `: 表示引用的东西
  • p: 表示一个段落
  • b (: 小括号
  • B {: 大括号
  • < [:
  • t: 表示标签
  • daw: 删除一个单词
  • das: 删除一个句子
  • dis: 删除一个句子, 并插入
  • x: dl: 删除光标后面的字符
  • X: dh: 删除光标前面的字符
  • s: cl: 删除当前光标, 并插入字符
  • ~: 切换当前字符大小写
  • u: 撤销操作:
  • CTRL-R: 反向撤销

插入文本

  • i: 光标前, 插入模式
  • a: 光标后, 插入模式
  • o: 当前行 下面, 新起一行, 插入模式
  • I: 这一行最前面
  • A: 这一行最后面
  • O: 当前行, 前面起一行, 插入模式

选择文本
  • v: 进入选择模式, 按照字符选择
  • V:进入选择模式, 按照行选择

在搜索中操作

  1. 删除同样的字符,
  2. / 进行选择, ENTER选中
  3. gn, 选中当前的 d 删除 / dgn 直接删除当前匹配的
  4. 不断重复

命令行

  • :edit 创建或者打开文件
  • :write
  • :w 保存文件
  • :quit
  • :q 关闭文件
  • :{w|q}all
  • :! 强制

切窗口

  • :sp {文件路径}垂直再开个窗口
  • :vsp {文件路径}水平再开个窗口
  • <CTRL + w> s: 垂直再开个窗口, 打开当前文件
  • <CTRL + w> v: 水平再开个窗口, 打开当前文件
  • <CTRL + w> hjkl 上下左右的移动窗口
  • :tabnew 打开新的窗口
  • :tabn(next) 下一个tab
  • :tabp(previously) 上一个窗口
  • :tabo(only) 除了当前都关了

vim-surround

  • 关于周围符号的操作

  • ds: 删除

  • cs: 改变

  • ys: 添加

  • 如果是删除或者改变的话

  • ‘ “ ( { [ 就表示原来的, t 表示一个标签<div></div>改变, 添加的时候, 需要给一个新的标签用 < 表示, 然后在方框里面输入 标签名称> 回车即可

  • 如果是某个就近的文本, 用 iw, 如果是句子, 用sw

  • 如果是在 visual 模式下面, 直接用按 S(大写) 进入添加模式

  • 比如添加标签 ysat<div>回车 替换标签 cst<p>回车

折叠代码

  • zo: 打开折叠
  • zc: 关闭折叠
  • zR: 打开所有折叠
  • zM: 关闭所有折叠
  • zz: 光标到当前屏幕中央
  • zt: 顶部
  • zb: 底部

更加快速移动

  • s{char}{char} 快速移动两个字符
  • <leader><leader>w: 快速标记后面单词
  • <leader><leader>b: 快速标记前面单词
  • <leader><leader>j: 后面行
  • <leader><leader>k: 前面行
  • <leader><leader>f{char}: 标记前面某个字母
  • <leader><leader>F{char}: 标记后面某个字母
  • <leader><leader>s{char}: 标记所有的某个字母

其他日常积累

多光标操作

  • vscode 下面 直接<Alt> + <Command> + 方向键即可操作多光标

标签:总结,字符,删除,文件,模式,vim,单词,快捷键,光标
From: https://www.cnblogs.com/zhangrunhao/p/18058946

相关文章

  • 我常用的几个快捷键
    windows常用快捷键快捷键作用Ctrl+C、V、X、S、Z、A复制、粘贴、剪切、保存、撤销、全选Ctrl+Shift+esc打开任务管理器alt+prtsc只对当前窗口进行截屏alt+table切换窗口alt+F4关闭窗口win+R打开运行窗口win+E打开我的电脑win+D暂时清空桌......
  • Laravel 中 faker 的方法总结
    Laravel中faker的方法总结428513 liuguowei163的个人博客 /  1878 /  13 / 创建于 4年前 / 更新于4年前 安装composerrequirefzaninotto/faker可通过在 config/app.php 增加如下配置使其支持中文:'faker_locale'=>'zh_CN',基本用法Fake......
  • 2024-2月总结
    时间过得飞快,一转眼2个月过去了。现在来简单总结下2024年的这两个月。工作这两个月工作自己感觉比较满意的,是把一些陈年老技术债还了一些,升级了项目中的一些依赖,也替换了一个过时、不再维护的依赖。虽然清理的不算很多,但也算是迈出了重要的一步,因为技术债恶心人又不紧迫,一直不......
  • EGF 练习题(近期总结 2024.3.6)
    Luogu5401珍珠题意:有\(n\)个变量,取值范围均为\([1,D]\)中的整数。求有多少种取值方案,使得可以选出至少\(m\)对变量满足每对都相等。\(1\leD\le10^5,\space0\lem\len,\space1\len\le10^9\)注意到\(D\)很小,我们可以计算出个数为奇数的值最多\(n-2m\)个,偶数最......
  • 电脑window系统常用快捷键
    通用快捷键Windows+D:返回桌面Ctrl+A:选择所有项目Ctrl+C:复制文字、图片、文件、文件夹等Ctrl+V:粘贴文字、图片、文件、文件夹等Ctrl+X:剪切文字、图片、文件、文件夹等Ctrl+D:删除快捷键Ctrl+M:另存为Delete:直接删除文字、图片、文件、文件夹等Ctrl+S:保存当前文本、图片、文......
  • vim-common (= 2:7.4.1689-3ubuntu1.5) 但是 2:8.1.0320-1ubuntu3 正要被安装
    安装失败提示(普通用户)~$sudoapt-getinstallvim…下列软件包有未满足的依赖关系:vim:依赖:vim-common(=2:7.4.1689-3ubuntu1.5)但是2:8.1.0320-1ubuntu3正要被安装依赖:libpython3.5(>=3.5.0~b1)但是它将不会被安装依赖:libtinfo5(>=6)但是它将不会被安装解......
  • Java学习总结 Day2
    Java学习总结Day2构造器publicclassperson{//一个类默认会有一个方法(构造器)Stringname;intage;//实例化初始值/*1.使用new必须有构造器,本质是调用构造器*2.初始化值*3.快捷键alt+insert*/publicperson(){}//有......
  • 今日总结
    清洗数据有三个方法,分别是分箱法、聚类法、回归法。 1、分箱法 是一个经常使用到方法,所谓的分箱法,就是将需要处理的数据根据一定的规则放进箱子里,然后进行测试每一个箱子里的数据,并根据数据中的各个箱子的实际情况进行采取方法处理数据。 2、回归法 回归法就是利用了......
  • 每日总结
    ArrayList中的元素实际上是对象,在以上实例中,数组列表元素都是字符串String类型。如果我们要存储其他类型,而<E>只能为引用数据类型,这时我们就需要使用到基本类型的包装类。基本类型对应的包装类表如下: arraylist排序publicstaticvoidmain(String[]args){......
  • 【SpringCloud】学习总结
    学习总结SpringCloud底层原理[详见链接]https://blog.csdn.net/Anbang713/article/details/85370080最后再来总结一下,上述几个SpringCloud核心组件,在微服务架构中,分别扮演的角色:Eureka:各个服务启动时,EurekaClient都会将服务注册到EurekaServer,并且EurekaClient还可......