10、Linux文本编辑器

news/2024/9/20 3:15:28/文章来源:https://www.cnblogs.com/lmydytd/p/18412613

文本编辑器

常见文本编辑器

Windows

  • Notepad(记事本)
  • Sublime
  • UltraEdit

Linux

  • VI/VIM
  • nano
  • Emacs
  • Sed
  • gedit
  • Kate

VI 和 VIM 的区别

  • VI
    • 全称:Visual Interface
    • 创建时间:1976年
    • 创建者:Bill Joy
  • VIM
    • 全称:VI IMproved,即 VI 的升级版
    • 创建时间:1991年
    • 创建者:Bram Moolenaar
    • 特点:兼容 VI 的命令,并增加了更多功能

VIM 的配置文件

  • 全局配置/etc/vimrc
  • 用户配置~/.vimrc
  • 详细的配置指南可以参考这篇文章。

VIM 的三种模式

  1. 命令模式:通过命令操作文本文件
  2. 编辑模式:对文本的内容进行编辑
  3. 底行模式:用于执行保存、退出等命令

模式切换

  • 命令模式进入编辑模式:iao
  • 编辑模式返回命令模式:Esc
  • 底行模式进入:Shift + :
    image

打开文件

vim 文件名
vim /etc/sysconfig/network-scripts/ifcfg-ens33
vim redis.conf

错误提示 E325: ATTENTION

  • 原因:发现与文件名相同的 swap 文件,表示编辑未结束
  • 解决办法:保存文本文件,或者删除 .swp 文件

光标移动操作

  • 方向键:
  • 跳到行首:HOME
  • 跳到行尾:END
  • 前进指定行数:n(数字)
  • 前进一屏:Ctrl + F
  • 后退一屏:Ctrl + B
  • 跳到文档末尾:Shift + GG
  • 跳到文档开头::1gg

搜索和替换操作

:%s/word1/word2/g  # 把文档中的 word1 替换为 word2

删除和复制操作

  • 复制光标所在行:yy
  • 粘贴到下一行/上一行:p / P
  • 删除光标前一个字符:X
  • 删除光标后一个字符:Del / x
  • 删除整行:dd
  • 删除光标下面 n 行:ndd
  • 重复上一次操作:.(点)
  • 撤销最近一次操作:u
  • 恢复最近一次撤销:Ctrl + R

编辑模式

  • a:在光标后插入文本
  • A:在行尾插入文本
  • i:在光标前插入文本
  • I:在行首插入文本
  • o:在光标所在行下插入一行
  • O:在光标所在行上插入一行
  • r:修改当前光标所在的字符
  • R:进入替换模式

撤销操作

  • 编辑模式下:Ctrl + U
  • 退出编辑模式:Esc

底行模式常用命令

  • 保存::w
  • 退出::q
  • 保存并退出::wq
  • 放弃修改并退出::q!
  • 放弃所有更改并重新编辑(不关闭)::e!
  • 显示行号::set nu

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

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

相关文章

vue2 + scss 全局引入 变量使用

百度以及时AI帮助说的配置方式都大差不差,但是我的总是报错,意思就是变量找不到,报错如下 For a guide and recipes on how to configure / customize this project,<br> 然后AI和文章写的vue.config.js的配置内容基本如下module.exports = {css: {loaderOptions: {scss:…

2024金砖大赛网络安全赛项区域选拔赛-简单的rce

1. Echo写入一句话木马蚁剑连接木马根目录下找到flag

Google Colab 简单使用

使用Google Colab需要谷歌账号和一点点魔法。注册好账号,找到我的云盘,可以点击右上角的log 跳转。我的云端银盘这里可以选择上传文件还是文件夹,还可以新建文件夹然后在这个文件夹中选择你要上传的文件。例如我这创建了一个train_test 的文件夹,然后上传了 test_ScVgIM0.z…

Go runtime 调度器精讲(四):运行 main goroutine

原创文章,欢迎转载,转载请注明出处,谢谢。0. 前言 皇天不负有心人,终于我们到了运行 main goroutine 环节了。让我们走起来,看看一个 goroutine 到底是怎么运行的。 1. 运行 goroutine 稍微回顾下前面的内容,第一讲 Go 程序初始化,介绍了 Go 程序是怎么进入到 runtime 的…

Python网页应用开发神器Dash 2.18.1稳定版本来啦

本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffery/dash-master大家好我是费老师,上周Dash发布了2.18.0新版本,并于今天发布了可稳定使用的2.18.1版本(自古.1版本最稳✌),今天的文章中就将针…

吊打面试官!从多维度理解架构

大家好,我是汤师爷~ 在工作当中,我们经常会听到以下说法:产品负责人说,现在的业务架构太复杂,需要仔细梳理下。 技术领导说,这个项目很复杂,需要做下系统架构方案评审。 研发经理说,这次秒杀活动访问量非常大,需要用到高并发架构方案。 一线研发说,互联网大厂都会用到…

数组的下标越界

1.数组下标 数组的下标通俗来讲是数组中数据的代号,例如a[0]=1,即数组下标0代表1 2.下标越界 假设创建的数组内存为3(a=new int[3]),则数组的下标为0,1,2. 如果多输出了下标3,则会显示下标越界。 1.正常数组的输出2.下标越界的输出(即提示你数组下标越界异常!) 3.数组…

转载:国产操作系统麒麟v10、UOS在线打开excel文件并动态赋值

在实际的开发过程中,经常会遇到数据库中的数据填充到excel生成一份正式文件的功能,PageOffice客户端控件支持在线预览Excel文件时,通过Workbook对象来实现对Excel文件的数据填充功能,如果只是简单的填充一下数据,那么通过调用Sheet对象的openCell方法获取到Cell对象并赋值…

构建 openEuler Embedded 24.03 LTS (Phytium BSP)

Ubuntu 24.04 构建 openEuler Embedded 24.03 LTS (Phytium BSP) 参考链接:Phytium-OpenEuler-Embedded-BSP - Gitee 1 介绍 本文档介绍如何在Ubuntu 24.04上构建openEuler Embedded 24.03 LTS (Phytium BSP)。对计算机配置有要求。 2 脚本 将以下内容复制到新文件oe_phy.sh,…

架构师备考的一些思考(四)

前言 对于数学,我们之前学的是对的,但不是真的,所以我们没有数学思维。 对于计算机,我们学校教的是对的,但不是真的,所以仅仅从学校学习知识的应届毕业生,不论985,211,本科,专科都一样,都是一张白纸,啥也不会。 案例分析 案例分析是5选3,第一题必答。问题一的类型 …

字符串-面试题

字符串的相关面试题String 的不可变性String底层是一个 final修饰的字符数组,当改变String的值时,会在常量池生成新的字符串,字符数组的地址指向常量池中新的字符串StringBuffer的扩容原理String、StringBuffer、StringBuilder三者对比Strings是不可变的字符序列,底层是一个…

单考一个OCP认证?还是OCP和OCM认证都要考?

​ Oracle的OCP认证是数据库行业非常经典的一个认证,从事数据库行业的人都建考一个 Oracle OCP 认证。 OCP认证内容包括: OCA部分:数据库基础知识、SQL 语言使用、基本的数据库管理技能等,如数据库安装与配置、理解数据库架构、管理数据库实例、备份和恢复,以及使用 SQL 进…