Linux中,黑窗口使用vi编辑文件

news/2024/7/21 12:47:01 标签: linux, 运维, 服务器, vim

linux用的比较少,一般我只用来部署项目的时候安装环境和传文件,好多乱七八糟的命令,好多东西,不会啊啊啊啊啊啊啊。
这个改文件几百年才用一次,我只想编辑一下文件,百度搜出来一大堆命令,各种模式什么的,太多太专业了,不想看,看不懂,好烦啊啊啊啊啊啊啊啊。
图文记录一下我实操可行的小白专用文件内容修改方法。
话说,我觉得可以写个Linux的专栏了,Linux命令太多了,我很少用,每次用都记不住命令,谁懂啊:<

基本介绍

本文主要是vi编辑器的介绍,vi有个升级版本vim编辑器,大同小异

创建/编辑文件

命令:

vi 文件名

没有就是创建文件,有就是打开这个文件,文件可以是路径加文件名的形式
在这里插入图片描述
我先建立了一个文件夹testDir,在这个文件夹下建立test.txt文件,后续用该文件介绍。
回车创建并进入该文件(此时没有保存,你后续不进行保存操作,这个文件就不存在的!!!!)

在这里插入图片描述

刚进入是编辑不了的,因为vi是一款多模式编辑器,它下面有很多模式。
刚进入的模式叫命令行模式也叫一般模式,一般只用于查看、复制文件内容等。
进入编辑模式就可以对文件进行编辑操作

进入编辑模式

此时,按键盘上的 i 即可进入编辑模式
编辑模式中窗口下方是 INSERT
在这里插入图片描述
这个时候就可以进行编辑了,
在这里插入图片描述
此时我们编辑的内容是不会自动保存的,这个时候需要进入底线命令行模式进行保存操作

底线命令行模式

编辑模式是不能直接到底线命令行模式的,我们需要退回到一般模式。
这个时候按Eec键退回一般模式
在这里插入图片描述
注意,这时候窗口下方的 INSERT 消失了,代表在一般模式中。
一般模式可以输入 : (冒号),输入之后就代表进入底线命令行模式
底线命令行模式可以让我们使用命令来操作文档
(回车确认命令之后,可以再输入冒号,此时会重新进入底线命令行模式)

set number ------ 给文件添加行号
set nonumber ------取消行号
w ------ 保存
q ------ 退出
q! ------- 强制退出(如果你没有编辑这个文件的权限,就不能正常退出,强制退出之后可能修改的内容是失效的)

在这里插入图片描述
保存退出
在这里插入图片描述

命令模式其他符号命令(Esc):

忘记在哪里copy的了。。。。。
i 在当前字符前插入文本
I 在行首插入文本
a 在当前字符后添加文本
A 在行末添加文本
o 在当前行后面插入一空行
O 在当前行前面插入一空行
^ 行首,第一个不是空白字符的位置
$ 行尾
gg 文件顶部
G 文件末尾
数字gg 移动到 数字 对应行数
数字G 移动到 数字 对应行数
u 撤销上次命令
U 撤销当前用户的所有的编辑操作
Ctrl+r 恢复撤销的命令
Ctrl+b 向上翻页
Ctrl+f 向下翻页
Ctrl+g 显示光标所在位置的行号和文件的总行数
v 从光标位置开始按照正常模式选择文本
V 选中光标经过的完整行
x 删除光标所在字符,或者选中文字
dd 删除光标所在行,可以 ndd 删除多行
D 删除至行尾
yy 复制一行,可以 nyy 复制多行
p 粘贴
/str 查找 str
n 查找下一个(必须在查找状态下执行)
N 查找上一个(必须在查找状态下执行)
gUU 将当前行的字母全改成大写
guu 将当前行的字母全改成小写
gUw 将光标下的单词改成大写
guw 将光标下的单词改成小写
g~~ 行翻转(大小写互换)
ZZ 保存并退出
ZQ 不保存并退出# 末行模式(😃:
:数字 移动到 数字 对应行数
:%d 删除全部
:%s/旧文本/新文本/g 查找并替换
:%s/旧文本/新文本/gc 查找并替换,会有提示(y-替换;n-不替换;q-退出替换;l-最后一个,并把光标移动到行首)
:r 文件的路径及文件名 在当前文件中读入其他文件的内容
:r! 命令名 将某一命令的结果追加到当前行的下一行
:w 保存
:w 文件的路径及文件名 另存为其他文件
:q 退出,如果没有保存,不允许退出
:w! 强行保存
:q! 强行退出,不保存退出
:wq 保存并退出
:wq! 强制保存并退出
:x 保存并退出
:set nu 显示行号
:history 列出历史命令记录
:pwd 显示当前所在的路径


http://www.niftyadmin.cn/n/5440217.html

相关文章

OpenGL学习笔记【1】——简介

一、OpenGL概念 OpenGL (Open Graphics Library&#xff0c;译名&#xff1a;开放式图形库开放式图形库) 是一种用于渲染 2D 和 3D 图形的跨语言、跨平台的编程接口(API)。 二、OpenGL跨语言 OpenGL 是一个 C 语言库&#xff0c;因此理解 C 语言&#xff08;或 C&#xff09;的…

【2024】网络安全(黑客)自学笔记

前言 网络安全是一个大的概念&#xff0c;里面包含了许多方向&#xff0c;不同的方向需要学习的内容也不一样。 算上从学校开始学习&#xff0c;已经在网安这条路上走了10年了&#xff0c;无论是以前在学校做安全研究&#xff0c;还是毕业后在百度、360从事内核安全产品和二进…

震惊!!!原来这就是事务!

震惊!!!原来这就是事务! 一:引入二:回滚机制1:回滚的概念2:日志: 三:事务的基本特性1:原子性2:一致性3:持久性4:隔离性(重中之重)1:概念:2:脏读问题:3:不可重复读问题:3:幻读问题 一:引入 在日常开发中,很多操作并不是一个SQL就能完成的,往往需要多个SQL配合完成.当执行多个SQ…

unordered_map和unordered_set实现(底层封装哈希表)

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 前言 在看这篇文章前&#xff0c;建议先了解哈希表的实现&#xff1a;哈希表模拟实现 如果说你对哈希表的实现很清楚&#xff0c;那么可以直接往下看&#xff0c;但是本篇文章对unordered_map和unordered_set的封装使用的哈…

vue将中国标准时间转成年月日

vue将中国标准时间转成年月日 datesWed Mar 20 2024 00:00:00 GMT0800 (中国标准时间) const date new Date(dates);const year date.getFullYear();const month (date.getMonth() 1).toString().padStart(2, 0);const day date.getDate().toString().padStart(2, 0);thi…

零基础入门多媒体音频(4)-GENIVIProjectAudioManager总览

GENIVI Project的AudioManager是一个专门设计用于汽车信息娱乐系统的音频管理解决方案。它负责管理和控制车辆内的音频源和音频路径&#xff0c;确保各种音频信号能够正确、高效地在车辆的音响系统中传输和播放。 AudioManager的核心功能包括音频源的管理、音频路径的控制以及音…

安装snap再安装flutter再安装localsend@Ubuntu(FreeBSD下未成功)

Localsend介绍 localsend是一个跨平台的文件传送软件&#xff0c;可以在Windows、MacOS、Linux、Android和IOS下互相传送文件&#xff0c;只要在同一个局域网即可。 localsend官网&#xff1a;LocalSend 尝试安装localsend&#xff0c;发现需要使用flutter&#xff0c; 安装f…

伦敦金是合法的吗

作为国际黄金市场的代表&#xff0c;“伦敦金”这一术语频繁出现在各类财经报道与投资者交流之中&#xff0c;其合法性始终是投资者关注的核心问题。本文将以“伦敦金是合法的吗&#xff1f;”为主题&#xff0c;全方位剖析伦敦金在全球范围及中国境内的法律地位和投资环境。 “…