第三章 —- 了解各种 Linux 文本编辑器

第三章 —- 了解各种 Linux 文本编辑器了解各种Linux文本编辑器了解Linux中不同类型的文本编辑器解释Vi文本编辑器常用命令了解Linux中不同类型的文本编辑器解释Vi文本编辑器viniit.txt:如果niit.txt文件存在,就进入命令模式:如果不存在,就先创建,再进入命令模式命令模式:按键ESC,由输入模式进入命令模式特点:在文件的最下方,什么都不显示或者显示文件基本信息输入模式:按键aAiLoOrR,由命令模式进入输入模式特点:在文件的最下方出现–INSERT–

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

了解 Linux 中不同类型的文本编辑器

文本编辑器是一种应用程序软件,通常与操作系统捆绑在一起

编辑器的功能

  1. 创建文件
  2. 打开文件
  3. 复制和黏贴文本
  4. 搜索文本
  5. 处理数据

适用于 Linux 的编辑器

  • Vi(可视化编辑器)
  • Vim(可视化编辑器增强版)
  • Emacs(编辑宏编辑器)
  • Sed(流行编辑器)
  • Ed(行为编辑器)
  • Red(受限的 Ed 编辑器)
  • Joe(Joe’s Own 的编辑器)
  • Rjoe(受限的 Joe 编辑器)
  • Pico(pine composer)
  • Jstar(与 WordStar 兼容的 joe 编辑器版本)

解释 Vi 文本编辑器

可以使用各种命令在 vim 编辑器中执行操作,这些命令可以分为以下类别

  • 常用命令
  • 光标移动命令
  • 高级读取和保存命令
  • 插入和替换命令
  • 词移动命令
  • 删除和修改命令
  • 复制行的命令
  • 样式查找命令

开始使用 Vi

vi niit.txt
:如果 niit.txt 文件存在,就进入命令模式
:如果不存在,就先创建,再进入命令模式
命令模式:按键 ESC,由输入模式进入命令模式
特点:在文件的最下方,什么都不显示或者显示文件基本信息
在这里插入图片描述

输入模式:按键 a A i L o O r R,由命令模式进入输入模式
特点:在文件的最下方出现 --INSERT-- --REPALCE--
在这里插入图片描述
a:在光标下一个字符之前插入文本
A:在光标所在的航模插入文本
i:在光标上一个字符之前插入文本
I:在光标的行首插入文本
o:在光标所在的行下插入一行文本
O:在光标所在的行上插入一行文本
r:修改当前光标所在的字符
R:替换文本

退出模式:按键 shift + :,由命令模式进入退出模式
特点:文件的最下方出现 :
w:保存
q:退出
! :强制
wq:保存且退出
在这里插入图片描述

常用命令

命令 操作
h 将光标移动到上一个字符
l 将光标移动到下一个字符
k 将光标上移动一行
j 将光标下移动一行
x 删除当前光标位置
dd 删除行
:e < filename > + Enter 打开特定文件,如果文件不存在就创建打开,如果存在就打开
:w < filename > + Enter 写入不同文件,如果文件不存在就创建打开,并且将 niit.txt 内容复制到 qdu.txt 中,如果存在,将 niit.txt 内容覆盖到 qdu.txt 中的文本内容
:w! < filename > + Enter 强制写入另一个文件
:wq + Enter 保存所有更改并退出
:w + Enter 保存文件
:q! + Enter 不保存更改退出

Vi 中的光标移动命令

命令 操作
Ctrl + d 或者 D 向下滚动半个屏幕
Ctrl + u 或者 U 向上滚动半个屏幕
Ctrl + F 向前翻一页
Ctrl + B 向后翻一页
nG 移动到第 n 行
0 移动到首行
$ 移动到行尾
H 移动到屏幕的第一行
M 移动到屏幕的中间行
L 移动到屏幕的最后一行

插入和替换命令

命令 操作
a 附加于当前字符后
A 附加于行末
i 在当前字符前插入
I 在行首插入
o 在下面插入空白行并允许插入
O 在上面插入空白行并允许插入
rx 用字符 x 代替当前字符

Linux 还支持在键入单词的初始字符时自动显示该单词(如果该单词已经存在与文件中)Ctrl + p 完成

单吃移动命令

命令 操作
W or w 移动到下一个词
B or b 移动到上一个词
E or e 移动到词尾

删除和修改命令

命令 操作
dw 删除词
dd 删除行
cw 更改词
cc 更改当前行
x 删除当前光标位置的字符
j 连接行
u 撤销上次更改
U 撤销当前行的所有更改
.(dot) 重复上次更改

复制行的命令

命令 操作
yiw 复制当前单词
yw 复制当前光标位置到词末
yy 复制当前行
P 将拉出的文本放置在当前光标之后。此命令类似于 Windows 中的黏贴操作
p 将拉出的文本放置在当前光标位置前

搜索命令

/:向下搜索
?:向上搜索

命令 操作
/<word> 搜索整个单词
n 搜索下一个出现的位置
N 搜索上一个出现的位置

搜索时,默认是区分大小写的,
:set ic:不区分大小写
:set noic:关闭不区分大小写(开启区分大小写)

样式查找指令

命令 操作
fx 在当前行上的当前光标位置后查找字符 x
Fx 在当前行的当前光标位置前查找字符 x
/pattern + Enter 查找包含的给定样式的下一行
?pattern + Enter 查找包含的给定样式的上一行

配置 Vi、

  • set
  • map
  • ab

set 命令

vi 编辑器的环境是通过其变量设置俩定义的。
set 命令用于指定 vi 编辑器环境的环境变量值。
set 命令接受 vi 编辑器环境变量并将它们的值作为参数,相应地更改编辑器的行为。

命令 功能
:set nu 显示行号
:set ic 关闭区分大小写功能(默认是区分大小写)

map 命令

map 命名的语法是:
:map < 快捷键 > < 快捷键所映射的按键序列 >

ab 命令

ab 命令,可以将特定字符串的缩写
ab minglde语法是
:ab < string > < string >

例如:将字符串 Hello World 缩写为 hw
:ab hw Hello World
取消缩写命令
:unab hw
查看使用 ab 命令创建的缩写列表
:ab

解释 Vim 编辑器

Vim 是 Vi 的改进版本,Vim 几乎包含了 Vi 的所有命令请添加图片描述
并不是所有的 Unix 和 Linux 变体,都安装 Vim
如我们使用的变体没有安装 Vim,则需要我们自行安装
但是 Unix 和 Linux 的所有变体,都安装了vi

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164523.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • web前端node.js常用命令

    web前端node.js常用命令1、npm install moduleNames:安装Node模块安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。node的安装分为全局模式

    2022年7月1日
    17
  • 一致性哈希算法实现(一致性哈希与哈希的异同)

    1、使用哈希算法有什么问题?假设有一个由A、B、C三个节点组成的KV服务,每个节点存放不同的KV数据。通过哈希算法,每个key都可以寻址到对应的服务器,比如,查询key是key-01,计算公式为hash(key-01)%3,经过计算寻址到了编号为1的服务器节点A但如果服务器数量发生变化,基于新的服务器数量来执行哈希算法的时候,就会出现路由寻址失败的情况,Proxy无法找到之前寻址到的那个服务器节点假如3个节点不能满足业务需求了,这时增加了一个节点,节点的数量从3变化为4,那么之前的hash(key

    2022年4月14日
    41
  • Hello CTP(一)——期货基础知识

    Hello CTP(一)——期货基础知识一、期货基础1、期货合约期货合约是指由期货交易所统一制定的、规定在将来某一特定的时间和地点交割一定数量和质量商品的标准化合约。期货合约是买方同意在一段指定时间后按特定价格接收某种资产,卖方同意在一段指定时间后按特定价格交付某种资产的协议。双方同意将来交易时使用的价格称为期货价格。双方将来必须进行交易的指定日期称为结算日或交割日。双方同意交换的资产称为标的。期货交易所严格区分平仓和平今,当天建仓只能用平今指令才能平掉。郑商所和大商所不做区分,大商所平今单不收手续费,鼓励作短线。2、开仓平仓

    2022年5月12日
    34
  • Android布局详解之二:LinearLayout

    Android布局详解之二:LinearLayout原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6702312线性布局。这个布局简单的说,就是所有控件都依次排序,谁也不会覆盖谁。线性布局需要定义一个方向,横向(android:orientation

    2022年5月5日
    31
  • HtmlAgilityPack 总结(一)

    HtmlAgilityPack 总结(一)一个解析html的C#类库HtmlAgilityPack,今天终于有时间整理一下,并把Demo分享一下。HtmlAgilityPack是一个基于.Net的、第三方免费开源的微型类库,主要用于在服务器端解析html文档(在B/S结构的程序中客户端可以用Javascript、jquery解析html)。截止到本文发表时,HtmlAgilityPack的最新版本为1.4.6。下载地址:ht

    2022年7月15日
    11
  • LAMP环境跟LNMP环境有什么不同,主要用什么地方

    LAMP环境跟LNMP环境有什么不同,主要用什么地方

    2021年9月24日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号