当前位置: 首页 > news >正文

vim常用命令总结

Vim 是一款强大的文本编辑器,具有很多功能和命令。以下是一些 Vim 常用命令的总结:

进入和退出 Vim:

  1. 打开文件:

    vim filename
    
  2. 保存文件并退出:

    • Esc 进入命令模式。
    • 输入 :wq 并按 Enter
  3. 不保存文件并退出:

    • Esc 进入命令模式。
    • 输入 :q! 并按 Enter

基本移动:

  1. 上、下、左、右移动光标:

    • k:向上
    • j:向下
    • h:向左
    • l:向右
  2. 行首和行尾:

    • 0:移到行首
    • $:移到行尾
  3. 快速移动:

    • gg:移动到文件开头
    • G:移动到文件末尾
  4. 行号跳转:

    • :n:跳转到第 n 行

编辑:

  1. 插入文本:

    • i:在光标前插入
    • I:在行首插入
    • a:在光标后插入
    • A:在行尾插入
    • o:在当前行下方插入新行
    • O:在当前行上方插入新行
  2. 删除文本:

    • x:删除光标所在位置的字符
    • dd:删除当前行
    • D:删除光标位置到行尾的内容
  3. 复制和粘贴:

    • yy:复制当前行
    • p:粘贴在光标后
    • P:粘贴在光标前

查找和替换:

  1. 查找:

    • /pattern:向后查找指定模式
    • ?pattern:向前查找指定模式
  2. 替换:

    • :%s/old/new/g:全局替换所有匹配项

撤销和重做:

  1. 撤销:

    • u:撤销上一步操作
  2. 重做:

    • Ctrl + r:重做上一步被撤销的操作

保存和退出:

  1. 保存:

    • Esc 进入命令模式。
    • 输入 :w 并按 Enter
  2. 退出:

    • Esc 进入命令模式。
    • 输入 :q 并按 Enter

以上只是 Vim 的一小部分命令,Vim 具有非常丰富的功能和命令,笔者将在后续使用中不断完善。。。

相关文章:

  • JSON格式插件-VUE
  • docker一键安装
  • 手写一个starter来理解SpringBoot的自动装配
  • vue配置qiankun及打包上线
  • 【复现】DiffTalk
  • Java面试——框架篇
  • 【MATLAB】快速绘制曲线图的形状,粗细,颜色
  • docker run 命令详解
  • 给Flutter + FireBase 增加 badge 徽章,App启动器 通知红点。
  • base64与BytesIO图片进行编码、解码;api调用
  • rk3566 armbian修复usb2.0并挂载U盘
  • Hadoop集群环境下HDFS实践编程过滤出所有后缀名不为“.abc”的文件时运行报错:java.net.ConnectException: 拒绝连接;
  • 数据分析-Pandas如何轻松处理时间序列数据
  • 【LeetCode:228. 汇总区间 | 区间】
  • 大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战
  • 分享的文章《人生如棋》
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 〔开发系列〕一次关于小程序开发的深度总结
  • CSS居中完全指南——构建CSS居中决策树
  • HashMap剖析之内部结构
  • JavaWeb(学习笔记二)
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Redis学习笔记 - pipline(流水线、管道)
  • windows下使用nginx调试简介
  • 订阅Forge Viewer所有的事件
  • 分类模型——Logistics Regression
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 记录:CentOS7.2配置LNMP环境记录
  • 将 Measurements 和 Units 应用到物理学
  • 力扣(LeetCode)22
  • 前端学习笔记之观察者模式
  • 算法-插入排序
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 用Canvas画一棵二叉树
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • # .NET Framework中使用命名管道进行进程间通信
  • #{}和${}的区别?
  • #传输# #传输数据判断#
  • (zt)最盛行的警世狂言(爆笑)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (翻译)terry crowley: 写给程序员
  • (九)c52学习之旅-定时器
  • (一)基于IDEA的JAVA基础12
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .net(C#)中String.Format如何使用
  • /etc/fstab 只读无法修改的解决办法
  • ::什么意思
  • @Bean注解详解
  • @Not - Empty-Null-Blank
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • [C++]unordered系列关联式容器