如何安装和使用纯文本编辑器 vi vim_vi 和 vim 重新安装

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

请注意,大多数的现代 Linux 发行版都集成了 vi 的变种——— vim(改进版 VIVi IMproved),相比于 vi,它有更多新功能。所以,我们会在本教程中交替使用 vi 和 vim。

如果你的发行版还没有安装 vim,你可以通过以下方法来安装:

  • •Ubuntu 及其衍生版:apt-get update && apt-get install vim
  • •以 Red-Hat 为基础的发行版:yum update && yum install vim
  • •openSUSE :zypper update && zypper install vim

我为什么要学习 vi

至少有以下两个理由:

  1. 因为它是 POSIX 标准的一部分,所以不管你使用什么发行版 vi 总是可用的。
  2. vi 基本不消耗多少系统资源,并且允许我们仅仅通过键盘来完成任何可能的任务。

此外,vi 有着非常丰富的内置帮助手册,程序打开后就可以通过 :“help” 命令来查看。这个内置帮助手册比 vi/vim 的 man 页面包含了更多信息。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

启动 vi

可以通过在命令提示符下输入 vi 来启动。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后按下字母 i,你就可以开始输入了。或者通过下面的方法来启动 vi:

1.# vi filename

这样会打开一个名为 filename 的缓存区(稍后会详细介绍缓存区),在你编辑完成之后就可以存储在磁盘中了。

理解 vi 的三个模式

1.命令command模式,vi 允许用户浏览该文件并输入由一个或多个字母组成的、简短的、大小写敏感的 vi 命令。这些命令的大部分都可以增加一个前缀数字表示执行次数。
比如:yy(或Y) 复制当前的整行,3yy(或3Y) 复制当前整行和下边紧接着的两行(总共3行)。通过 Esc 键可以随时进入命令模式(而不管当前工作在什么模式下)。事实上,在命令模式下,键盘上所有的输入都被解释为命令而非文本,这往往使得初学者困惑不已。

2.末行ex模式,我们可以处理文件(包括保存当前文件和运行外部程序)。我们必须在命令模式下输入一个冒号(:),才能进入这个模式,紧接着是要在末行模式下使用的命令。执行之后 vi 自动回到命令模式。

3.文本输入insert模式(通常在命令模式下使用字母 i 进入这个模式),我们可以随意输入文本。大多数的键入将以文本形式输出到屏幕(一个重要的例外是Esc键,它将退出文本编辑模式并回到命令模式)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

vi 命令

下面列出常用的 vi 命令。文件编辑的命令可以通过添加叹号的命令强制执行(如,:q! 命令强制退出编辑器而不保存文件)。
h 或 ←  光标左移一个字符
j 或 ↓ 光标下移一行
k 或 ↑  光标上移一行
l (小写字母 L) 或 →  光标右移一个字符
H  光标移至屏幕顶行
L 光标移至屏幕末行
G 光标移至文件末行
w  光标右移一个词
b  光标左移一个词
0 (数字零)  光标移至行首
^  光标移至当前行第一个非空格字符
** ∗ ∗  光标移至当前行行尾 ∗ ∗ C t r l − B ∗ ∗  向后翻页 ∗ ∗ C t r l − F ∗ ∗  向前翻页 ∗ ∗ i ∗ ∗  在光标所在位置插入文本 ∗ ∗ I ( 大写字母 i ) ∗ ∗  在当前行首插入文本 ∗ ∗ J ( 大写字母 j ) ∗ ∗  将下一行与当前行合并(下一行上移到当前行) ∗ ∗ a ∗ ∗  在光标所在位置后追加文本 ∗ ∗ o ( 小写字母 O ) ∗ ∗ 在当前行下边插入空白行 ∗ ∗ O ( 大写字母 O ) ∗ ∗ 在当前行上边插入空白行 ∗ ∗ r ∗ ∗  替换光标所在位置的一个字符 ∗ ∗ R ∗ ∗  从光标所在位置开始覆盖插入文本 ∗ ∗ x ∗ ∗  删除光标所在位置的字符 ∗ ∗ X ∗ ∗  立即删除光标所在位置之前(左边)的一个字符 ∗ ∗ d d ∗ ∗ 剪切当前整行文本(为了之后进行粘贴) ∗ ∗ D ∗ ∗ 剪切光标所在位置到行末的文本(该命令等效于 d **  光标移至当前行行尾 **Ctrl-B**  向后翻页 **Ctrl-F**  向前翻页 **i**  在光标所在位置插入文本 **I (大写字母 i)**  在当前行首插入文本 **J (大写字母 j)**  将下一行与当前行合并(下一行上移到当前行) **a**  在光标所在位置后追加文本 **o (小写字母 O)** 在当前行下边插入空白行 **O (大写字母 O)** 在当前行上边插入空白行 **r**  替换光标所在位置的一个字符 **R**  从光标所在位置开始覆盖插入文本 **x**  删除光标所在位置的字符 **X**  立即删除光标所在位置之前(左边)的一个字符 **dd** 剪切当前整行文本(为了之后进行粘贴) **D** 剪切光标所在位置到行末的文本(该命令等效于 d  光标移至当前行行尾CtrlB 向后翻页CtrlF 向前翻页i 在光标所在位置插入文本I(大写字母i) 在当前行首插入文本J(大写字母j) 将下一行与当前行合并(下一行上移到当前行)a 在光标所在位置后追加文本o(小写字母O)在当前行下边插入空白行O(大写字母O)在当前行上边插入空白行r 替换光标所在位置的一个字符R 从光标所在位置开始覆盖插入文本x 删除光标所在位置的字符X 立即删除光标所在位置之前(左边)的一个字符dd剪切当前整行文本(为了之后进行粘贴)D剪切光标所在位置到行末的文本(该命令等效于d
yX  给出一个移动命令 X (如 h、j、H、L 等),复制适当数量的字符、单词或者从光标开始到一定数量的行
yy 或 Y  复制当前整行
p  粘贴在光标所在位置之后(下一行)
P 粘贴在光标所在位置之前(上一行)
. (句点) 重复最后一个命令
u  撤销最后一个命令
U 撤销最后一行的最后一个命令,只有光标仍在最后一行才能执行。
n 在查找中跳到下一个匹配项
N  在查找中跳到前一个匹配项
:n 下一个文件,编辑多个指定文件时,该命令加载下一个文件。
:e file  加载新文件来替代当前文件
:r file 将新文件的内容插入到光标所在位置的下一行
:q  退出并放弃更改
:w file  将当期打开的缓存区保存为file。如果是追加到已存在的文件中,则使用 :w >> file 命令
:wq  保存当前文件的内容并退出。等效于 x! 和 ZZ
:r! command  执行 command 命令,并将命令的输出插入到光标所在位置的下一行

vi 选项

下列选项可以让你在运行 Vim 的时候很方便(需要写入到" ~/.vimrc" 文件):

1.# echo set number >> ~/.vimrc
2.# echo syntax on >> ~/.vimrc
3.# echo set tabstop=4 >> ~/.vimrc
4.# echo set autoindent >> ~/.vimrc

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • •set number 当 vi 打开或新建文件时,显示行号。
  • •syntax on 打开语法高亮(对应多个文件扩展名),以便源码文件和配置文件更具可读性。
  • •set tabstop=4 设置制表符间距为 4 个空格(默认为 8)。
  • •set autoindent 将前一行的缩进应用于下一行。

查找和替换

vi 具有通过查找将光标移动到(在单独一行或者整个文件中的)指定位置。它还可自动或者通过用户确认来执行文本替换。

a) 在行内查找。f 命令在当前行查找指定字符,并将光标移动到指定字符出现的位置。

例如,命令 fh 会在本行中将光标移动到字母h下一次出现的位置。注意,字母 f 和你要查找的字符都不会出现在屏幕上,但是当你按下回车的时候,要查找的字符会被高亮显示。

比如,以下是在命令模式按下 f4 之后的结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

b) 在整个文件内查找。使用 / 命令,紧接着需要查找的单词或短语。这个查找可以通过使用 n 命令或者 N 重复查找上一个查找的字符串。以下是在命令模式键入 /Jane 的查找结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

c) vi 通过使用命令来完成多行或者整个文件的替换操作(类似于 sed)。我们可以使用以下命令,使得整个文件中的单词 “old” 替换为 “young”。

1.:%s/old/young/g

注意:冒号位于命令的最前面。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

冒号 (😃 进入末行模式,在本例中 s 表示替换,% 是从第一行到最后一行的表示方式(也可以使用 nm 表示范围,即第 n 行到第 m 行),old 是查找模式,young 是用来替换的文本,g 表示在每个查找出来的字符串都进行替换。

另外,在命令最后增加一个 c,可以在每一个匹配项替换前进行确认。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-FWBG8FFV-1713235180424)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值