Linux:vi、vim介绍及功能(块选择、多文件编辑、多窗口功能、vim环境设置与记录)

一、vim介绍

vim 是进阶版的 vi ,vim 不但可以用不同颜色显示文字内容,还能够进行诸如 shell script, C program 等程序编辑功能,你可以将 vim 视为一种程序编辑器!

二、vi与vim

  • 在 Linux 的系统中使用文本编辑器来编辑你的 Linux 参数配置文件,可是一件很重要的事情!
    Linux distribution 各有其不同的附加软件,例如 RedHat Enterprise Linux 与 Fedora 的 ntsysv 与 setup 等,而 SuSE 则有 YAST 管理工具等等, 因此,如果你只会使用此种类型的软件来控制你的 Linux 系统时,当接管不同的 Linux distributions 时,呵呵!那可就苦恼了!
  • 在 Linux 的世界中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在,因此利用简单的文字编辑软件就能够修改设定了!
  • 什么是纯文本档?其实文件记录的就是 0 与 1 ,而我们透过编码系统来将这些 0 与1 转成我们认识的文字就是了。

三、为什么要学vim

  • 所有的 Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在;
  • 很多软件的编辑接口都会主动调用 vi (例如未来会谈到的 crontab, visudo, edquota 等指令);
  • vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计;
  • 因为程序简单,编辑速度相当快速。
  • 因为有太多 Linux 上面的指令都默认使用 vi 作为数据编辑的接口,所以你必须、一定要学会vi ,否则很多指令你根本就无法操作!

四、vim的拓展

  • vim 视作vi 的进阶版本, vim 可以用颜色或底线等方式来显示一些特殊的信息。
  • 使用 vim 去编辑一个 C 程序语言的文件,或者是我们后续会谈到的 shell script 脚本程序时,vim 会依据文件的扩展名或者是文件内的开头信息,判断该文件的内容而自动的调用该程序的语法判断式, 再以颜色来显示程序代码与一般信息。 也就是说,这个 vi是个『程序编辑器』啦!甚至一些 Linux 基础配置文件内的语法,都能够用 vim 来检查呢!

五、vim的功能

5.1 块选择(Visual Block)

块选择

  • 想把中间的“host1、host2……”等复制到每个net后面去,每一列的结果要是『 192.168.1.2host2.class.net host2 』这样的情况。图中文字链接为:http://linux.vbird.org/linux_basic/0310vi/hosts。
  • 在传统或现代的窗口型编辑器似乎不容易达到这个需求,但是咱们的 vim 是办的到的喔!那就使用区块选择(Visual Block) 吧!当按下 v 或者 V 或者 [Ctrl]+v 时, 这个时候光标移动过的地方就会开始反白,这三个按键的意义分别是:
    区块选择
  • 使用 vim test 来开启该文件,记得该文件请由上述的链接复制先先!
  • 将光标移动到第一列的 host 那个 h 上头,然后按下 [ctrl]-v ,左下角出现区块示意字样:
    在这里插入图片描述
  • 将光标移动到最底部,此时光标移动过的区域会反白!如下图所示:
    在这里插入图片描述
  • 此时你可以按下『 y 』来进行复制,当你按下 y 之后,反白的区块就会消失不见啰!
  • 最后,将光标移动到第一列的最右边,并且再用编辑模式向右按两个空格键,回到一般指令模式后, 再按下『 p 』,如下图所示:
    在这里插入图片描述

5.2 多文件编辑

用vim创建两个文件test和rhce,分别在两个文件里输入如下图的文字
test
rhcetest
test rhce
将rhce里的文字复制到test里面去,在 vi 内可以使用 :r filename 来读入某个文件的内容, 不过,这样毕竟是将整个文件读入!如果我只是想要部分内容呢?
这个时候多文件同时编辑就很有用了。可以使用 vim 后面同时接好几个文件来同时开启喔!相关的按键有:
在这里插入图片描述
将test内的前四列复制到你的rhce文件内,

  • 通过『 vim test rhce 』指令来使用一个 vim 开启两个文件;
  • 在 vim 中先使用『 :files 』察看一下编辑的文件数据有啥?结果如下所示。 至于下图的最后一列显示的是『按下任意键』就会回到 vim 的一般指令模式中!
    在这里插入图片描述
  • 在第一列输入『 4yy 』复制四列;
  • 在 vim 的环境下输入『 :n 』会来到第二个编辑的文件,亦即 /etc/hosts 内;
  • 在 /etc/hosts 下按『 G 』到最后一列,再输入『 p 』贴上;
  • 按下多次的『 u 』可以还原原本的文件数据;
  • 最终按下『 :q 』来离开 vim 的多文件编辑!

5.3 多窗口功能

两个情况:

  1. 有一个文件非常的大,查阅到后面的数据时,想要『对照』前面的数据, 是否需要使用 [ctrl]+f 与[ctrl]+b (或 pageup, pagedown 功能键) 来跑前跑后查阅?
  2. 有两个需要对照着看的文件,不想使用前一小节提到的多文件编辑功能;
  • 在一般窗口接口下的编辑软件大多有『分区窗口』或者是『冻结窗口』的功能来将一个文件分区成多个窗口的显示(例如excel), 那么 vim 能不能达到这个功能啊?
  • 可以啊!但是如何分区窗口并放入文件呢?在命令行模式输入『:sp {filename}』即可!那个 filename 可有可无, 如果想要在新窗口启动另一个文件,就加入文件名,否则仅输入 :sp 时, 出现的则是同一个文件在两个窗口间!下图是三个文件同时打开。
    在这里插入图片描述
    两个文件同时在一个屏幕上面显示,你还可以利用『[ctrl]+w+↑』及『[ctrl]+w+↓』 在两个窗口之间移动呢!这样的话,复制啊、查阅啊等等的,就变的很简单。分区指令:
    在这里插入图片描述在这里插入图片描述

5.4 vim环境设置与记录:~/.vimrc与 ~/.viminfo

  • 以 vim 软件来搜寻一个文件内部的某个字符串时,这个字符串会被反白, 而下次我们再次以 vim 编辑这个文件时,该搜寻的字符串反白情况还是存在呢!甚至于在编辑其他文件时, 如果其他文件内也存在这个字符串,竟然还是主动白!另外,当我们重复编辑同一个文件时,当第二次进入该文件时,光标竟然就在上次离开的那一列上头呢!
  • 这是因为我们的 vim 会主动的将你曾经做过的行为登录下来, 那个记录动作的文件就是: ~/.viminfo !如果你曾经使用过 vim, 那你的主目录应该会存在这个文件才对。这个文件是自动产生的, 你不必自行建立。而你在 vim 里头所做过的动作,就可以在这个文件内部查询到。
  • 每个 distributions 对 vim 的预设环境都不太相同,举例来说,某些版本在搜寻到关键词时并不会高亮度反白, 有些版本则会主动的帮你进行缩排的行为。但这些其实都可以自行设定的,那就是 vim 的环境设定啰~ vim 的环境设定参数有很多,如果你想要知道目前的设定值,可以在一般指令模式时输入『 :set all 』 来查阅。
  • 整体vim 的设定值一般是放置在 /etc/vimrc 这个文件中,不过,不建议你修改他! 你可以修改 ~/.vimrc 这个文件 (预设不存在,请你自行手动建立!),将你所希望的设定值写入!
[webber@study ~]$  vim ~/.vimrc"这个文件的双引号 (") 是批注
set hlsearch "高亮度反白
set backspace=2 "可随时用退格键删除
set autoindent "自动缩排
set ruler "可显示最后一列的状态
set showmode "左下角那一列的状态
set nu "可以在每一列的最前面显示行号啦!
set bg=dark "显示不同的底色色调
syntax on "进行语法检验,颜色显示。

okk,关于vim就先介绍这么多啦加油!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

濯一一

你的鼓励:我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值