CentOS软件安装与vim使用操作

目录

CentOS软件安装

软件生态的概念

CentOS软件安装

CentOS软件卸载

CentOS查看软件包

rz和sz命令

vim多模式文本编辑器

[vim 的使用](#vim 的使用)

命令模式

输入模式

底线命令模式

[vim 按键说明](#vim 按键说明)

第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等

光标移动

搜索替换

删除、复制与贴上

第二部分:一般模式切换到编辑模式的可用的按钮说明

进入输入或取代的编辑模式

第三部分:一般模式切换到指令行模式的可用的按钮说明

指令行的储存、离开等指令

[vim 环境的变更](#vim 环境的变更)

额外补充(注释)

Vim的配置


CentOS软件安装

软件生态的概念

软件生态:一款操作系统是否可以在市场上有一席之地最主要看的还是操作系统的软件生态,软件生态包括:论坛、官方文档、软件体系......

CentOS软件安装

在CentOS下,使用yum指令进行软件安装,但是安装软件只能是root用户,如果普通用户想安装只可以使用sudo提权(前提是在sudoers文件中),例如安装tree命令:(root用户下)yum install -y tree

yum命令使用使用-y选项可以在安装软件的过程中不询问用户

CentOS软件卸载

软件卸载同软件安装,只有root用户和可以sudo提权的用户可以执行,例如卸载tree命令:(root用户下)yum remove tree

CentOS查看软件包

使用yum list可以罗列出远端服务器中可以下载的所有软件,结合管道和grep指令可以筛选出需要的软件,例如查找tree命令:yum list | grep tree

rz和sz命令

rzsz用于Windows机器和云服务器的Linux机器通过XShell传输文件,使用rz可以从Windows机器中选择文件发送给Linux机器,使用sz可以从Linux机器向Windows机器中发送文件

vim多模式文本编辑器

vim 的使用

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

命令模式

用户刚刚启动 vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符,比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是普通模式常用的几个命令:

  • i -- 切换到输入模式,在光标当前位置开始输入文本。

  • x -- 删除当前光标所在处的字符。

  • :shift+;) -- 切换到底线命令模式,以在最底一行输入命令。

  • a -- 进入插入模式,在光标下一个位置开始输入文本。

  • o --在当前行的下方插入一个新行,并进入插入模式。

  • O -- 在当前行的上方插入一个新行,并进入插入模式。

  • dd -- 剪切当前行。

  • yy -- 复制当前行。

  • p (小写) -- 粘贴剪贴板内容到光标下方。

  • P (大写)-- 粘贴剪贴板内容到光标上方。

  • u -- 撤销上一次操作。

  • Ctrl + r -- 重做上一次撤销的操作。

  • :w -- 保存文件。

  • :q -- 退出 Vim 编辑器。

  • :q! -- 强制退出Vim 编辑器,不保存修改。

若想要编辑文本,只需要启动Vim,进入了命令模式,按下i切换到输入模式即可。

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

输入模式

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

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合:输入字符

  • ENTER:回车键,换行

  • BACKSPACE:退格键,删除光标前一个字符

  • DEL:删除键,删除光标后一个字符

  • 方向键:在文本中移动光标

  • HOME 或者END:移动光标到行首/行尾

  • Page Up 或者Page Down:上/下翻页

  • Insert:切换光标为输入/替换模式,光标将变成竖线/下划线

  • ESC:退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有:

  • :w :保存文件。

  • :q :退出 Vim 编辑器。

  • :wq :保存文件并退出 Vim 编辑器。

  • :q! :强制退出Vim编辑器,不保存修改。

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

vim 按键说明

第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等

光标移动
移动光标的方法
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
Ctrl + f 屏幕『向下』移动一页,相当于 Page Down按键 (常用)
Ctrl + b 屏幕『向上』移动一页,相当于 Page Up 按键 (常用)
Ctrl + d 屏幕『向下』移动半页
Ctrl + u 屏幕『向上』移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n<space> 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。
0 或功能键Home 这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键End 移动到这一行的最后面字符处(常用)
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个档案的最后一行(常用)
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
gg 移动到这个档案的第一行,相当于 1G 啊! (常用)
n<Enter> n 为数字。光标向下移动 n 行(常用)

对于光标的移动,如果你将右手放在键盘上的话,你会发现hjkl是排列在一起的,因此可以使用这四个按钮来移动光标。如果想要进行多次移动的话,例如向下移动 30 行,可以使用30j30↓的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!

搜索替换
搜索替换
/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
?word 向光标之上寻找一个字符串名称为 word 的字符串。
n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:『:100,200s/vbird/VBIRD/g』。(常用)
:1,$s/word1/word2/g或:%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
:1,$s/word1/word2/gc或:%s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)

使用 /word 配合 nN 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!

删除、复制与贴上
删除、复制与贴上
x, X 在一行字当中,x 为向后删除一个字符 (相当于 del 按键), X 为向前删除一个字符(相当于 backspace 亦即是退格键) (常用)
nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
dd 剪切游标所在的那一整行(常用),用 p/P 可以粘贴。
ndd n 为数字。剪切光标所在的向下 n 行,例如 20dd 则是剪切 20 行(常用),用 p/P 可以粘贴。
d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除游标所在处,到该行的最后一个字符
d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
yy 复制游标所在的那一行(常用)
nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用)
J 将光标所在行与下一行的数据结合成同一行
c 重复删除多个数据,例如向下删除 10 行, 10cj
u 复原前一个动作。(常用)
Ctrl+r 重做上一个动作。(常用)
. 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』(需要注意会覆盖光标所在位置的内容) (常用)

这个 u 与 Ctrl+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦!

第二部分:一般模式切换到编辑模式的可用的按钮说明

进入输入或取代的编辑模式
选择两个中的一个即可 进入输入或取代的编辑模式
i, I 进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
a, A 进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
o, O 进入输入模式(Insert mode):这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!(常用)
r, R 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
Esc 退出编辑模式,回到一般模式中(常用)

上面这些按键(除了Esc按键),在vim画面的左下角处会出现『--INSERT--』或『--REPLACE--』的字样。 由名称就知道该动作了吧!!特别注意的是,上面也提过了,想要在档案里面输入字符时, 一定要在左下角处看到INSERTREPLACE才能输入

第三部分:一般模式切换到指令行模式的可用的按钮说明

指令行的储存、离开等指令
指令行的储存、离开等指令
:w 将编辑的数据写入硬盘档案中(常用)
:w! 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ 这是大写的 Z 喔!如果修改过,保存当前文件,然后退出!效果等同于(保存并退出)
ZQ 不保存,强制退出。效果等同于:q!。
:w filename 将编辑的数据储存成另一个档案(类似另存新档)
:r filename 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w filename 将 n1 到 n2 的内容储存成 filename 这个档案。
:! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!

需要注意,那个惊叹号 (!) 在 vim 当中,常常具有『强制』的意思

vim 环境的变更
vim 环境的变更
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!

特别注意,在vim中,数字是很有意义的!数字通常代表重复做几次的意思!也有可能是代表去到第几个什么什么的意思。

举例来说,要删除50行,则是用50dd,数字加在动作之前,如我要向下移动 20 行呢?那就是20j或者是20↓即可。

额外补充(注释)

vim下快速进行注释的方法:

  1. Ctrl+v:切换到Visual Mode,使用jk选择需要注释的行(或者使用数字选择,方式见前面操作)

  2. shift+i:切换到Insert Mode

  3. 输入行注释符,例如//

  4. 连续按下两次Esc

vim下快速取消注释的方法:

  1. Ctrl+v:切换到Visual Mode,使用hl选择需要一个需要取消的注释,再使用jk选择行(或者使用数字选择)

  2. 输入dd删除即可

Vim的配置

vim配置需要用到.vimrc文件,该文件放置在用户的家户目录下,也可以放置在/etc/vimrc作为系统级配置,常见的配置有:

bash 复制代码
 设置语法高亮: syntax on
 显示行号: set nu
 设置缩进的空格数为4: set shiftwidth=4
相关推荐
FoldWinCard1 天前
D5 Linux 网络及端口命令
linux·运维·服务器
零涂毕业设计1 天前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud1231 天前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质1 天前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
SakitamaX1 天前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.1 天前
Linux系统管理
linux·运维
阿龙的工作记录1 天前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录
代码村新手1 天前
Linux的基本指令
linux·运维·服务器
hkj88081 天前
Ubuntu 切换java版本
java·linux·ubuntu
AAA@峥1 天前
CentOS7 源码编译安装 MySQL5.7|SQL 基础操作 + 备份恢复完整实战
运维·数据库·sql·centos