vi与vim

news/2025/1/16 20:00:25/

目录

  • 1. vi与vim
  • 1.2 vi 的使用
    • 1.1.0 简易执行范例
    • 1.1.1 终端查看vim的简单手册
    • 1.1.2 案例练习
    • 1.1.3 vim的缓存、恢复与打开时的警告信息

1. vi与vim

vim是高级版的vi,vim不但可用不同颜色显示文字内容,还能进行诸如shell脚本、C语言等程序编辑
在Linux系统中使用文本编辑器编辑Linux参数配置文件是很重要的事情,绝大多数配置文件都以ASCII的纯文本形式(文件记录的是0和1)存在

学习 vim 的原因:

  • 所有的UNIX-like系统都会内置vi文本编辑器
  • 许多软件的编辑接口都会主动调用vi
  • vim具有程序编辑能力,可主动地以字体颜色辨别语法地正确性,方便程序设计
  • 程序简单,编辑速度相当快速

vim官网:http://www.vim.org

1.2 vi 的使用

vi 共分为3种模式:

  • 一般命令模式(Command mode)
  • 编辑模式(Insert mode)
  • 命令行模式(Command-line mode)

1.1.0 简易执行范例

使用 vi 建立一个名为 welcome.txt 的文件

1.使用【vim filename】进入一般命令模式
(这里在终端界面)

[dmtsai@study ~] vim welcome.txt

(这里在vim环境)


2.按【i】进入编辑模式,开始编辑文字

在这里插入图片描述

3.按下【ESC】键回到一般命令模式

4.进入命令行模式(按[shift]+ : 或 / 或 ?)文件保存并退出vim环境
输入【:wq】即可保存退出【保存(write)并退出(quit)】


保存退出 vim 环境后,回到终端界面

[dmtsai@study ~] ls -l welcome.txt
-rw-r--r--  1  dmtsai dmtsai  10  Feb 11 11:42 welcome.txt

1.1.1 终端查看vim的简单手册

vim学习书籍推荐:http://iccf-holland.org/click5.html

[dmtsai@study ~] vimtutor #查看vim的简单入门


按【shift】+【:】后输入 help user-manual会出现VIM USER MANUAL

1.1.2 案例练习

使用 man_db.conf 来做练习

1.请在【/tmp】这个目录下建立一个名为 vimtest 的目录

[dmtsai@study ~] mkdir /tmp/vimtest

2.进入 vimtest 目录中

[dmtsai@study ~] cd /tmp/vimtest

3.将【/etc/man_db.conf】复制到本目录( . )下

[dmtsai@study vimtest] cp /etc/man_db.conf .

4.使用vim打开本目录下的 man_db.conf 这个文件
(进入vim环境)

[dmtsai@study vimtest] vim man_db.conf

5.在vim中设置行号

按【shift】+【:】后输入set nu 则会显示行号
在这里插入图片描述


6.移动到第43行,向右移动59个字符

直接按【43G】,再按下【59→】


7.移动到第1行,并向下查找一下 “gzip” 字符串

直接按【1G】或【gg】后,直接输入【/gzip】


8.将第29到第41行之间的【小写man字符】改为大写MAN字符】,并一个一个确定是否需要修改?如果在确定过程中一直按【y】结果会在最后一行出现改变了几个man?

【shift】+【:】后直接输入【29,41s/man/MAN/gc】即可,若一直按【y】最终会出现【13次替换,共13行】的说明


9.修改完后,需要全部恢复为原内容,有哪些方法?

  • 一直按【u】恢复到原始状态
  • 【shift】+【:】后输入【q!】(q!为强制退出)之后,再重新读取一次该文件

10.复制第66行到第71行这6行内容,并且粘贴到最后一行

直接输入【66G】然后再【6yy】之后,最后一行会出现【复制了6行】的说明字样,按下【G】到最后一行,再按【p】粘贴6行


11.删除第113行到128行之间的数据

因为第113行到128行之间共16行,因此【113G】→【16dd】就能删除16行


12.将此文件man_db.conf 另存为一个 文件名为 man.test.config 的文件

【shift】+【:】后直接输入【w man.test.config】


13.去到第25行,并且删除15个字符

直接输入【25G】后,再输入【15x】即可删除15个字符


14.在第1行新增1行,该内容输入内容【I’m an idiot】

直接输入【1G】去到第一行,然后按下大写【O】新增一行且在插入模式;输入内容【I’m an idiot】后,按下【ESC】回到一般命令模式


15.保存退出

【shift】+【:】后直接输入【wq】


1.1.3 vim的缓存、恢复与打开时的警告信息

当你的系统因某些原因而导致类似宕机的情况,可以通过某些机制来恢复未被保存的数据
vim就是通过缓存来恢复

以【/tmp/vitest/man_db.conf】这个配置文件为例:

[root@study ~] cd /tmp/vitest
[root@study vitest] vim man_db.conf 
#进入vim界面,然后按下【ctrl】+z 使得vim进入后台运行
[root@study vitest] ls -al #列出目录vitest中的文件
...
# 含有文件man_db.conf和缓存文件man_db.conf.swp
...
[root@study vitest] kill -9 %1 # 杀死进程,模拟vim停止工作 %1表示目前这个界面占整体文件的1%
[root@study vitest] ls -al .man_db.conf.swp
-rw-r--r--  1  dmtsai  dmtsai  16384  Jul  6  23:54  .man_db.conf.swp #缓存文件依然存在
[root@study vitest] vim man_db.conf 
E352: ATTENTION #错误代码
...
...
Swap file ".man_db.conf.swp" already exists!
(O)pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort
  • ( O )pen Read-Only:打开缓存文件为只读文件
  • ( E )dit anyway:编辑缓存文件,并不会加载缓存的内容
  • ( R )ecover:加载缓存内容,用于恢复之前未保存的工作,保存退出vim后手动删除缓存
  • ( D )elete it:确定缓存无用,打开文件前将其删除
  • ( Q )uit:退出vim
  • ( A )bort:忽略此次编辑操作

http://www.ppmy.cn/news/634259.html

相关文章

VI简介

有一个古老的笑话,说是一个在纽约的游客向行人打听这座城市中著名古典音乐场馆的方向: 游客: 请问一下,我怎样去卡内基音乐大厅? 行人: 练习,练习,练习! 学习 Linux 命令行,就像要成为一名造诣很深的钢琴家一样,它不是我们一下午就能学会的技能。这需要 经历几年的勤…

人工智能火爆 国内这几家计算机视觉公司值得关注

 人工智能自降生以来就仿佛自带光环、备受瞩目。尤其是今年,国务院印发的《新一代人工智能发展规划》中提出,到2030年使中国人工智能理论、技术与应用总体达到世界领先水平,成为世界主要人工智能创新中心&#xff0c…

Tesla 和 GeForce 之间的区别

Tesla 和 GeForce 之间的区别 对于消费级用户来说, GPU 就是玩游戏。对于专业人员来说, GPU 是计算工具。 NVIDIA 针对消费级用户设计 GeForce 系列产品, 针对专业领域企业级用户设计 Tesla 和 Quadro 系列产品。 俗话说一分钱一分货、贵有贵…

alert实用的提示框(可点击关闭,自动消失,悬浮于右上角)

【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】【创作不易,点个赞就是对我最大的支持】 前言 仅作为学习笔记,供大家参考 总结的不错的话,记得点赞收藏关注哦! 目录 …

用双眼无法扑捉 索尼Z2的细节改动

身为索尼商品的爱好者,期待了已久的索尼Z2总算诞生了。可是在其他爱好者看来,自个期待已久的索尼Z2在外形以及其他方面与之前的同款比较如同并没有太大的改动。可是我却发现了索尼Z2的某些不同之处,这些改动仅从外观很难看得出来,…

z3 android os,终用上Android 6.0 索尼Z2/Z3系统升级

压力触控可弯折 索尼最新概念手机汇总 此前有关于索尼Z6的配置信息曝光,传闻该机将搭载高通最强悍的骁龙820处理器,采用5.2或5.3英寸显示屏,内置4GB大内存,拥有2500万像素摄像头,并且将运行Android 6.0操作系统。当然索尼的设计能力完全不会仅限于此,网络中还有其他更科幻…

机械革命Z2如何Ubuntu安装

机械革命Z2如何Ubuntu安装 准备:一个4G大的U盘下载了Ubuntu系统 1.首先要进入BIOS(F2),关闭Security Boot,设置U盘启动第一启动顺序。 2. 这个时候将选项移动到此处不要按回车!!!…

力扣 404. 左叶子之和

题目来源:https://leetcode.cn/problems/sum-of-left-leaves/description/ C题解1:递归法,前序遍历。 1. 确定输入参数:当前节点,左叶子的和; 2. 确定终止条件:空节点时返回; 3. …