Linux开发工具之编辑器-vim

news2024/11/25 19:34:29

vim简单来说就是一款文本编辑器,用于写代码,更是一款多模式编辑器

vim的基本概念

vim有许多种模式,但是铁三角是以下三种模式:命令模式,插入模式,底行模式


 1 正常/普通/命令模式(默认打开)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式,底行模式

2 插入模式
 

只有在插入模式下,才可以做文字输入,按「ESC」键可回到命令行模式


3 底行模式

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入

:help vim-modes

vim的基本操作
 

[正常/命令模式]切换至[插入模式]

输入a:进入插入模式后,光标右移一格
输入i:进入插入模式后,光标不移动
输入o:进入插入模式后,光标下移一格

[插入模式]切换至[正常模式]
 

按一下「ESC」键转到[正常模式]
 

[正常模式]切换至[底行模式]


「shift + ;」, 其实就是输入「:」
  退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入底行模式

: w (保存当前文件)

: q(退出)

: wq (保存并退出)

当然也可以在w后加上!表示强制保存,q后加上!表示强制退出

vim正常模式命令集

移动光标
 

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j]、「k」、「l」,分别控制光标左、下、上、右移一格

[shift+g](即G)定位到文本末端(最后一行),此外前面加上数字,可以定位到任意一行,如  45 G就可定位到45行

gg:定位到代码的第一行
按「 $ 」:移动到光标所在行的“行尾”
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头,即以单词为单位,每次定位到单词的头部,进行向后移动,支持跨行
按「b」:光标回到上个字的开头,即以单词为单位,每次定位到单词的头部,进行向前移动,支持跨行

按「e」:光标跳到下个字的字尾,即以单词为单位,每次定位到单词的尾部,进行向后移动,支持跨行
按「#l」:光标移到该行的第#个位置,如:5l,56l


按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页

删除文字
 

x」:每按一次,删除光标所在位置的一个字符
#x」:例如,「6x」表示删除光标所在位置的后面(包含自己在内)”6个字符
X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」:删除光标所在行,也是剪切
「#dd」:从光标所在行开始删除#行(剪切#行)

复制
 

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区,即复制当前行
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字
「p」将缓冲区内的字符贴到光标所在位置,即粘贴内容到当前行之后,注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能
 

替换
 

「r」:替换光标所在处的字符

  #r:替换光标所在处的#个字符
「R」:替换光标所到之处的字符,直到按下「ESC」键为止

撤销上一次操作
 

「u」:如果误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回
复。即对刚刚的操作进行撤销
「ctrl + r」: 撤销的恢复,即如果对撤销后悔
 

更改
 

「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
 

文本大小写互相转换

shift+` 即~
 

查找同名单词

shift+3,即#,按n键即可实现跳转查看

注释

批量化注释:

ctrl+v --> j/k两个按键上下选中区域 --> shift+i(即I)--> // -->Esc

批量化删除注释

ctrl+v ---> h、j、k、l四个按键选中区域 -->d

vim末行模式命令集
 

列出行号
 

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号
 

跳到文件中的某一行
 

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行

查找字符
 

「/关键字」: 先按「/」键,再输入想寻找的字符,如果第一次找的关键字不是想要的,可以一直按
「n」会往后寻找到要的关键字为止
 

保存文件

「w」: 在冒号输入字母「w」就可以将文件保存起来
 

离开vim
 

「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1022426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搭建私人图床结合内网穿透实现公网访问,让您的摄影作品连接世界

文章目录 1. 树洞外链网站搭建1.1 下载安装树洞外链1.2 树洞外链网页测试1.3 cpolar的安装和注册 2.本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3 Cpolar稳定隧道(本地设置) 3.公网访问测试 社交平台具有庞…

Go 语言学习总结(9)—— Go 与 Java 全面对比总结

基本语法格式 Golang: 编码风格相对统一,简单,没有太多的语法糖等,Java层次清晰,全面面向对象。 变量相关 变量的声明及使用 在Java或者PHP、Python中,声明了变量,可以不使用,也不报错。 p…

win11 新建markdown文件 添加到右键新建项 无反应(已解决)

需要操作 2 处注册表 1. win R输入【regedit】 定位路径 【计算机\HKEY_CLASSES_ROOT.md】 点击.md文件夹, 双击右侧(默认)项,将数值数据改为【Typora.md】 右键.md文件夹 > 新建 > 项,把新建的项命名为【ShellNew】 右键ShellNew > 新建 >…

基于Spring Boot+ Vue的健身房管理系统与实现

小熊学Java全能学面试指南:https://javaxiaobear.cn 摘要 随着健身行业的快速发展,健身房管理系统成为了提高管理效率和用户体验的重要工具。本论文旨在设计与实现一种基于前后端分离的健身房管理系统,通过前后端分离的架构模式,…

如何代码降重

目录 一、使用的相关工具二、冗余代码的分类和压缩策略2.1 无用代码2.2 重复代码2.3 相似代码 三、长久治理机制3.1 git-hooks 一、使用的相关工具 以下工具都有各自详细说明的文档。除非有必要,下文不再对其相关使用作详细说明。 仓库代码查重工具:http…

WebStorm 2023年下载、安装教程、亲测有效

文章目录 简介安装步骤常用快捷键 简介 WebStorm 是JetBrains公司旗下一款JavaScript 开发工具。已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的…

PostgreSQL 主从复制故障切换

文章目录 前言环境准备搭建主从节点配置主从节点从节点加入主节点查看主从信息 主从故障切换 前言 PostgreSQL的主从复制是一种非常简单且常用的高可用性和可扩展性解决方案,本质上是将主服务器的数据复制到一个或多个从服务器上,从而提高系统的性能和可…

会话控制学习

文章目录 介绍cookieexpress中使用cookie获取cookie session配置区别 介绍 cookie express中使用cookie 退出登录就是删除cookie 获取cookie 添加中间键后,直接获取 session 配置 区别

Linux 内核代码是 AMD GPU 驱动代码

导读Linux 内核代码是 AMD GPU 驱动代码 1/7 的 Linux 内核代码是 AMD GPU 驱动代码 随着开发中的 Linux 6.6 内核增加了对更多即将推出的 Radeon 图形处理器的支持,现在内核中 AMD GPU 驱动代码的行数已超过 500 万行。其中很大一部分是 AMD 在每一代新版本中不断…

Python的协程异步IO(asyncio)详解

一、协程简介 1.1 定义 协程不是系统级线程,很多时候协程被称为“轻量级线程”、“微线程”、“纤程(fiber)”等。简单来说可以认为协程是线程里不同的函数,这些函数之间可以相互快速切换。 协程和用户态线程非常接近,用户态线程之间的切换…

一文告诉你为什么时序场景下 TDengine 数据订阅比 Kafka 好

在 TDengine 3.0 中,我们对流式计算、数据订阅功能都进行了再升级,帮助用户极大简化了数据架构的复杂程度,降低整体运维成本。TDengine 提供的类似消息队列产品的数据订阅、消费接口,本质上是为了帮助应用实时获取写入 TDengine 的…

第二证券:a股注册制什么意思?

A股施行新的注册原则已经是大势所趋。那么什么是A股注册制?A股注册制和现行的核准制的差异在哪里?关于出资者来说,A股注册制带来了什么样的影响?这篇文章将从多个角度进行分析,为咱们答复疑问。 一、什么是A股注册制&…

[git] rebase 合并多个commit

一、未使用 rebase 的提交数量 上图中 可以看到 有四提交 二、使用rebase git rebase -i head~2表示合并 最后的两个提交, 也就是vv1 和 vv2 回车会弹出: 修改为 pick:保留该commit(缩写:p) reword:保留该commit…

《YOLOv5/YOLOv7/YOLOv8最新改进大作战》专栏介绍 CSDN独家改进创新实战 专栏目录

💡💡💡YOLOv5/YOLOv7/YOLOv8最新改进大作战,独家首发创新(原创),持续更新,适用于Yolov5、Yolov7、Yolov8等各个Yolo系列,专栏文章提供每一步步骤和源码,轻松带…

蓝牙资讯|2023年Q2中国可穿戴市场同比增长17%,蓝牙可穿戴发展迅猛

IDC 发布《中国可穿戴设备市场季度跟踪报告》显示,2023 年第二季度中国可穿戴设备市场出货量为 3,350 万台,同比增长 17.3%,是自 2022 年以来季度最大规模出货。 智能手表 Q2 出货量 942 万台,同比增长 11.5%。其中成人智能手表 4…

什么是好的企业文化?

企业文化可以归结为三个关键词:使命、愿景和价值观。使命就是公司为什么存在,愿景就是公司未来的目标,价值观就是公司内部共同的信仰和行为准则。 简单来说,企业文化就是一群人为了同一个目标而努力工作,不断追求梦想…

深度学习:从理论到实践,探索神经网络的奥秘

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 介绍 深度学习是机器学…

尚硅谷大数据项目《在线教育之实时数仓》笔记002

视频地址:尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第06章 数据仓库环境准备 P006 P007 P008 P009 P010 P011 P012 P013 P014 第06章 数据仓库环境准备 P006 P007 P008 http://node001:16010/master-status [atguigunode001 ~]$ …

低代码,向未来!云畅科技亮相2023世界计算大会

9月15日,2023世界计算大会在长沙北辰国际会议中心开幕,大会以“计算万物 湘约未来——计算产业新变革”为主题,由湖南省人民政府、工业和信息化部共同举办。 大会汇聚包括两院院士、国内外权威专家和知名企业家在内的150余位重要嘉宾&#xf…

武汉市中级工程师职称水平能力测试考试题型有哪些呢?

目前湖北中级职称评审,很多地方都需要组织水平能力测试,武汉市、襄阳、孝感、宜昌、荆州、鄂州、十堰等地级市都需要参加水平能力测试,但是水平能力测试每个地方要求又是不一样,目前湖北全省都没有统一的水平能力测试题库。 关于武…