【面试合集】说说 linux 系统下 文本编辑常用的命令有哪些?

面试官:说说 linux 系统下 文本编辑常用的命令有哪些?

一、是什么

Vim是从 vi 发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方

vim 可以说是程序开发者的一项很好用的工具

二、使用

基本上 vi/vim 共分为三种模式,分别是:

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 底线命令模式(Last line mode)

命令模式

Vim 的默认模式,在这个模式下,你不能输入文本,但是可以让我们在文本间移动,删除一行文本,复制黏贴文本,跳转到指定行,撤销操作,等等

移动光标

常用的命令如下:

  • h 向左移动一个字符
  • j 向下移动一个字符
  • k 向上移动一个字符
  • i 向右移动一个字符

或者使用方向键进行控制

如果想要向下移动n行,可通过使用 “nj” 或 “n↓” 的组合按键

搜索

常见的命令如下:

  • /word:向光标之下寻找一个名称为 word 的字符

  • ?word:向光标之上寻找一个字符串名称为 word 的字符串

  • n:代表重复前一个搜寻的动作,即再次执行上一次的操作

  • N:反向进行前一个搜索动作

删除、复制、粘贴

常用的命令如下:

  • x:向后删除一个字符
  • X:向前删除一个字符
  • nc:n 为数字,连续向后删除 n 个字符
  • dd:删除游标所在的那一整行
  • d0:删除游标所在处,到该行的最前面一个字符
  • d$删除游标所在处,到该行的最后一个字符
  • ndd:除光标所在的向下 n 行
  • yy:复制游标所在的那一行
  • y0:复制光标所在的那个字符到该行行首的所有数据
  • y$:复制光标所在的那个字符到该行行尾的所有数据
  • p:已复制的数据在光标下一行贴上
  • P:已复制的数据在光标上一行贴上
  • nc:重复删除n行数据

输入模式

命令模式通过输入大小写iao可以切换到输入模式,如下:

  • i:从目前光标所在处输入
  • I:在目前所在行的第一个非空格符处开始输入
  • a:从目前光标所在的下一个字符处开始输入
  • A:从光标所在行的最后一个字符处开始输入
  • o:在目前光标所在的下一行处输入新的一行
  • O:目前光标所在的上一行处输入新的一行

输入模式我们熟悉的文本编辑器的模式,就是可以输入任何你想输入的内容

如果想从插入模式回到命令模式,使用按下键盘左上角的ESC

底线命令模式

这个模式下可以运行一些命令例如“退出”,“保存”,等动作,为了进入底线命令模式,首先要进入命令模式,再按下冒号键:

常见的命令如下:

  • w:将编辑的数据写入硬盘档案中
  • w!:若文件属性为『只读』时,强制写入该档案
  • q:未修改,直接退出
  • q!:修改过但不存储
  • wq:储存后离开

参考文献

常见的命令如下:

  • w:将编辑的数据写入硬盘档案中
  • w!:若文件属性为『只读』时,强制写入该档案
  • q:未修改,直接退出
  • q!:修改过但不存储
  • wq:储存后离开

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK之Filebeat输出日志格式设置及输出字段过滤和修改

一、Filebeat输出日志格式设置 1.1 编辑vim filebeat.yml文件,修改输出格式设置 # output to console output.console:codec.format: string: %{[@timestamp]} %{[message]}pretty: true### 1.2 测试 执行 ./filebeat -e 可以看到/tmp/access.log(目前文件里只有140.77.188…

指针取值运算符*和++运算符的优先级

参考文章: C语言中 和 * 的优先级_c玉莹 和*优先级-CSDN博客 写的不详细,或者有不对。 具体说,*和是同等优先级,是对的。但是,在实际组合时,是看哪个和变量结合近,就优先执行哪个。如果一样…

Transformer原理与代码实现

Transformer原理与代码实现 概览 一、嵌入层 Embedding 二、位置编码 Positional Encoding 三、(整合)Transformer嵌入层 Transformer Embedding 四、带缩放的点积注意力机制 Scaled Dot-Product Attention 五、多头注意力 Multi-Head Attention 六…

SSH数据流量监控

简介 检查网络连接的数据传输情况有以下一些实际意义: 安全监控:检查数据传输情况可以帮助你识别异常活动或潜在的安全威胁。如果发现大量不寻常的数据传输活动,可能表示有未经授权的访问或恶意行为。通过监控数据传输,可以及时发…

微信小程序(七)navigator点击效果

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.默认效果 2.无效果 3.激活效果 源码&#xff1a; index.wxml //如果 <navigator url"/pages/logs/logs">跳转到log页面&#xff08;默认&#xff09; </navigator><navigator url"/pa…

CSS实现平行四边形

1、为什么实现平行四边形 在日常开发过程中&#xff0c;有些时候我们可以会遇到一种情况&#xff0c;如可视化大屏中要求我们横线实现对应的进度条&#xff0c;但进度条的内容是由无数个平行四边形组装类似于进度条的形式&#xff0c;那么我们就需要使用CSS来进行对应的实现。 …

【Redis】持久化机制

前言 Redis的数据全部存储在内存&#xff0c;如果机器突然宕机&#xff0c;那么数据就会全部丢失&#xff0c;因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失&#xff0c;这种机制就是 Redis 的持久化机制。Redis为我们提供了两种持久化方案&#xff0c;一种是基于…

MAC iterm 显示git分支名

要在Mac上的iTerm中显示Git分支名&#xff0c;您需要使用一个名为“Oh My Zsh”的插件。Oh My Zsh是一个流行的Zsh框架&#xff0c;它提供了许多有用的功能和插件&#xff0c;包括在终端中显示Git分支名。 以下是在iTerm中显示Git分支名的步骤&#xff1a; 1、安装Oh My Zsh&…

IntelliJ IDEA 中输出乱码解决

最近tomcat突然在控制台输出乱码&#xff0c;各种乱码问题&#xff0c;查阅大量的资料&#xff0c;最终得以解决. IDEA控制台输出乱码 问题一&#xff1a;idea中tomcat控制台输出乱码 运行本地的tomcat\bin\start.bat文件页面显示正常 在idea中显示乱码 解决&#xff1a; 根…

Java异常处理--自定义异常类及课后练习

文章目录 一、自定义异常&#xff08;1&#xff09;为什么需要自定义异常类&#xff08;2&#xff09;自定义异常类的定义及使用1、如何自定义异常类2、如何使用自定义异常类3、代码及总结3.1 代码3.2 总结 &#xff08;3&#xff09;注意点 二、练习&#xff08;1&#xff09;…

性能测试jmeter

参考up主 啥时当叫兽的个人空间-啥时当叫兽个人主页-哔哩哔哩视频 IMBA_RAILGUN的个人空间-IMBA_RAILGUN个人主页-哔哩哔哩视频 大丫头胖的个人空间-大丫头胖个人主页-哔哩哔哩视频 选的这些怎么添加 在一个列表里面 方法调用${__time(YMD)} 两个下划线&#xff0c;后跟函数…

基于 UniAPP 社区论坛项目多端开发实战

社区论坛项目多端开发实战 基于 UniAPP 社区论坛项目多端开发实战一、项目准备1.1 ThinkSNS 简介及相关文档1.2 使用 UniAPP 构建项目1.3 构建项目文件结构1.4 配置页面 TabBar 导航1.5 使用 npm 引入 uView UI 插件库 二、首页功能实现2.1 首页 header 广告位轮播图功能实现2.…