六、vim编辑器的使用

news2024/11/18 19:48:07

1、编辑器

(1)编辑器就是一款软件。

(2)作用就是用来编辑文件,譬如编辑文字、编写代码。

(3)Windows中常用的编辑器,有自带的有记事本(notepad),比较好用的notepad++、VSCode等。

(4)Linux中常用的编辑器,自带的最古老的vi,比较好用的有vim。

(5)vi和vim的关系:vim是vi的升级版,推荐使用vim。

2、vim的安装。

(1)vim安装需要虚拟机linux可以上网。

(2)vim的安装需要root用户权限。

(3)默认安装的Linux需要设置root用户密码。

sudo passwd root    // 管理员密码更新

(4)vim安装命令。

apt-get install vim

(5)安装了vim后使用vi时,其实用的就是vim,vi被符号连接到了vim。

3、vim的使用

(1)使用vim来打开/创建一个文件: vim pathname

(2)基本上 vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)。 

3.1、命令模式

(1)用户刚启动vim,便进入了命令模式。此状态下敲击键盘动作会被vim识别为命令,而非输入字符,比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

(2)普通模式常用的命令:

  • i   -- 切换到输入模式,在光标当前位置开始输入文本
  • x  -- 删除当前光标所在处的字符。
  • :   -- 切换到底线命令模式,以在最低一行输入命令。
  • a  -- 进入插入模式,在光标下一个位置开始输入文本。
  • o  -- 在当前行的下方插入一个新行,并进入插入模式。
  • O  -- 在当前行的上方插入一个新行,并进入插入模式。
  • dd -- 删除当前行。
  • yy -- 复制当前行。
  • p -- 粘贴剪贴板内容到光标下方。
  • P -- 粘贴剪贴板内容到光标上方。
  • u -- 撤销上一次操作。
  • Ctrl + r -- 重做上一次撤销的操作。
  • :w -- 保存文件。
  • :q -- 退出 vi 编辑器。
  • :q! -- 强制退出vi 编辑器,不保存修改。

(3)若想要编辑文本,只需要启动vi,按下 i 切换到输入模式即可。

(4)命令模式只有一些最基本的命令,因此仍要依靠底线命令行模式输入更多命令。

3.2、输入模式

(1)在命令模式下按下 i 进入输入模式,使用 Esc 键可以返回到普通模式。

(2)在输入模式中,可以使用以下按键。

  • 字符按键以及Shift组合:输入字符。
  • Enter:回车键,换行。
  • Back Space:退格键,删除光标前一个字符。
  • Del:删除键,删除光标后一个字符。
  • 方向键:在文本中移动光标。
  • Home/End:移动光标到行首/行尾。
  • Page Up/Page Down:上/下翻页。
  • Insert:切换光标为输入/替换模式,光标变为竖线/下划线。
  • Esc:推出输入模式,切换到命令行模式。

3.3、命令行模式

(1)命令行模式又称为底线命令模式。

(2)在命令模式下按 : (英文冒号)就进入了底线命令模式。

(3)在底线命令模式中,基本的命令如下。

  • :w  -- 保存文件。
  • :q   -- 退出vi编辑器。  (没有修改退出)
  • :wq -- 保存文件并退出vi编辑器。
  • :q!  -- 强制推出vi编辑器,不保存修改。(修改了不想保存退出)

(3)按ESC键可随时退出底线命令模式。

3.4、vi三种模式的切换图

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

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

相关文章

进程管理死死的学

进程管理 文件属性 chattr【扩展】 chattr chattr i 文件名 # 添加权限 a 可追加,不可修改 i 只可查看 A 不修改访问时间 charrt -i 文件名 # 取消权限 -R 递归处理,将指令目录下的所有文件及子目录一并处理;lsattr 查看文件属性 lsattr …

具有高度的稳定性嵌入式ARM控制器BL304

嵌入式ARM控制器BL304系列是一款专为工业控制领域设计的坚固型工控设备。它采用NXP公司的处理器I.MX8M Mini四核64位处理器,搭配四核 Cortex-A53单核Cortex-M4构架,运行速度高达1.8GHz,具有高度的稳定性和可靠性。 处理器是嵌入式控制器的核心…

《Python趣味工具》——其他常见的RPG游戏梳理:

Hello,各位朋友们大家好!昨天我们一起制作了自己的第一个RPG游戏——《人生选择模拟器》,是不是还意犹未尽呢?哈哈,今天我们再来尝试做几款比较轻量级的小游戏吧! 文章目录 1. 猜单词游戏:2. 姻缘测试:3. …

高忆管理:大盘缩量震荡短期面临方向选择

大盘连续震荡格局,周四缩量小幅回调。 沪指当日低开震荡,盘中最低探至5日均线附近止跌,收盘跌幅有所收窄。深成指相同低开低走,盘中时刻短翻红后再度震荡回落。到收盘,沪指报收3119.88点,跌落0.55%&#x…

VScode远程连接主机

一、前期准备 1、Windows安装VSCode&#xff1b; 2、在VSCode中安装PHP Debug插件&#xff1b; 3、安装好Docker 4、在容器中安装Xdebug ①写一个展现phpinfo的php文件 <?php phpinfo(); ?>②在浏览器上打开该文件 ③复制所有信息丢到Xdebug: Installation instr…

骨传导耳机会影响听力吗?这是真的吗?

首先正常的使用骨传导耳机并不会影响我们的听力&#xff01;那是为什么呢&#xff1f;&#xff1f; 因为骨传导是一种声音传导方式&#xff0c;可以通过人的颅骨、骨迷路、内耳淋巴液传递、螺旋器、听神经、听觉中枢来传递声波。 相对于通过耳道声波的经典声音传导方式&#x…

Mysql批量插入大量数据的方法

使用存储过程进行插入&#xff0c; 在navicate中示例如下&#xff1a; 输入需要的参数点击完成 在begin end中输入代码&#xff0c;示例代码如下 CREATE DEFINERskip-grants userskip-grants host PROCEDURE batch_insert() BEGINdeclare i int default 0; set i0;while i<1…

探秘C语言扫雷游戏实现技巧

本篇博客会讲解&#xff0c;如何使用C语言实现扫雷小游戏。 0.思路及准备工作 使用2个二维数组mine和show&#xff0c;分别来存储雷的位置信息和排查出来的雷的信息&#xff0c;前者隐藏&#xff0c;后者展示给玩家。假设盘面大小是99&#xff0c;这2个二维数组都要开大一圈…

解码注意力Attention机制:从技术解析到PyTorch实战

目录 引言历史背景重要性 二、注意力机制基础概念定义组件 注意力机制的分类举例说明 三、注意力机制的数学模型基础数学表达式注意力函数计算权重 数学意义举例解析 四、注意力网络在NLP中的应用机器翻译代码示例 文本摘要代码示例 命名实体识别&#xff08;NER&#xff09;代…

通过starrocks jdbc外表查询sqlserver

1.sqlserver环境准备&#xff0c;使用docker环境&#xff0c;可以参考使用flink sqlserver cdc 同步数据到StarRocks_gongxiucheng的博客-CSDN博客 部署获得sqlserver环境&#xff1b; 2.获取starrocks环境&#xff0c;也可以通过docker部署&#xff0c;参考&#xff1a;使用…

openlayers-15-坐标添加带箭头的线

ol的官网示例中有绘制带箭头的线的demo&#xff0c;那个是交互式绘制&#xff0c;而不是根据经纬度坐标添加&#xff0c;在其基础上稍作修改&#xff0c;即可转为通过经纬度添加带箭头的线的功能&#xff0c;线和箭头的粗细大小样式都可以自定义 代码如下 <!DOCTYPE HTML P…

Mybatis 动态SQL – 使用if, where标签动态生成条件语句

前面几篇我们介绍了使用Mybatis进行数据的增删改查&#xff0c;并且也了解了如何在Mybatis中使用JDK的日志系统打印日志&#xff1b;本篇我们继续介绍如何使用Mybatis提供的if,where标签动态生成条件语句。 如果您对数据的增删改查和Mybatis集成JDK日志系统不太了解&#xff0…

iOS开发Swift-7-得分,问题序号,约束对象,提示框,类方法与静态方法-趣味问答App

1.根据用户回答计算得分 ViewController.swift: import UIKitclass ViewController: UIViewController {var questionIndex 0var score 0IBOutlet weak var questionLabel: UILabel!IBOutlet weak var scoreLabel: UILabel!override func viewDidLoad() {super.viewDidLoad()…

QGIS合并矢量图层后layer属性显示不全 | QGIS踩坑实录

省流 QGIS【合并矢量图层】&#xff0c;自动生成layer字段时&#xff0c;遇到图层名中的“.”等不支持的字符会自动截断 问题描述 使用QGIS的【合并矢量图层】功能时&#xff0c;在合并结果中&#xff0c;QGIS会自动添加一个layer字段&#xff0c;用来记录当前数据是来自合并…

CPSC上月召回案例涉及多款常见产品有哪些?

CPSC上月召回案例涉及多款常见产品有哪些&#xff1f; ​每年的夏末秋初为美国产品热销节日&#xff08;感恩节、万圣节、黑五&#xff09;的备货期&#xff0c;卖家在大量备货的同时&#xff0c;务必保障自身产品通过相关安全测试&#xff0c;以免造成不必要的损失&#xff0…

字节美团题库之重排链表

文章目录 题目详情题目分析完整实现Java代码总结 题目详情 注&#xff1a;面试真实遇到&#xff0c;对于面试遇到算法时要冷静分析 LCR 026 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为&am…

ChatGPT数据分析及作图插件推荐-Code Interpreter

今天打开chatGPT时发现一个重磅更新&#xff01;code interpreter插件可以使用了。 去查看openai官网&#xff0c;发现从2023.7.6号&#xff08;前天&#xff09;开始&#xff0c;code interpreter插件已经面向所有chatGPT plus用户开放了。 为什么说code interpreter插件是一…

国产工业软件的挑战与机遇:风口是否还在燃烧?

随着智能制造与数字化转型等新型工业理念的推广&#xff0c;工业软件在工业领域中的地位日益重要。在这个过程中&#xff0c;国产工业软件也迎来了新的发展机遇。然而&#xff0c;对于国产工业软件而言&#xff0c;是否存在着发展的“风口”&#xff1f;今天&#xff0c;我们将…

使用 SQL 的方式查询消息队列数据以及踩坑指南

Pulsar-sql.png 背景 为了让业务团队可以更好的跟踪自己消息的生产和消费状态&#xff0c;需要一个类似于表格视图的消息列表&#xff0c;用户可以直观的看到发送的消息&#xff1b;同时点击详情后也能查到消息的整个轨迹。 消息列表 点击详情后查看轨迹 原理介绍 由于 Pulsar …

双轨制的发展,弊端和前景

双轨制是一种经济体制&#xff0c;指两种不同的规则或机制并行运行&#xff0c;以适应不同的市场或客户需求。双轨制最早出现在中国的改革开放中&#xff0c;是从计划经济向市场经济过渡的一种渐进式改革方式。 双轨制的发展可以分为三个阶段&#xff1a; 第一阶段&#xff08;…