第四章 VI(visual interface可视化界面)和VIM(visual interface improved视觉界面改进)编辑器
学习目标
1 了解什么 是VI和VIM 编辑器
2 熟练VIM编辑器一般模式的常见操作
3 熟练VIM编辑器编辑模式的的进入和推出方式
4 熟练VIM编辑器命令模式的常见命令
第一节 什么是VI和VIM编辑器
vi是Unix(uniplexed information and computering system单路信息处理系统)和类Unix操作系统中出现的通用的文本编辑器。vim是从vi发展出来的一个性能更强大的文本编辑器,可以主动的以字体颜色辨别语法的正确性,方便程序设计,vim和vi编辑器完全兼容。使用:vi xxx文件 或者vim xxx文件,简单来说,就是用来编辑文件的一个工具,类似于我们再Windows上的一些文本编辑工具,只不过,这里是命令行形式的,不是图形用户界面形式的.接下来我们就准备一个文件,使用VIM对文件进行修改
复制一个系统的配置文件到Root目录下,用以练习vim命令
ctrl + l 或者 输入clear 表示清空屏幕
ctrl + c 是一个非常常用的快捷键组合,其作用是发送一个中断信号(SIGINT)给当前运行的程序。大多数程序在接收到此信号后,都会立即终止执行。因此,Ctrl+C常被用于终止正在运行的程序或命令。如果你输入了一大串字符但不想运行,或者想要提前终止正在运行的程序,可以按Ctrl+C组合键。此时,光标将跳入下一行,而在刚刚的光标处会留下一个^C的标记。除了Ctrl+C外,Linux中还有许多其他常用的快捷键,如Ctrl+D用于退出终端,Ctrl+Z用于暂停当前进程等。这些快捷键可以帮助用户更高效地操作Linux系统。在Linux系统中,SIGINT信号(也称为Ctrl+C信号)用于终止一个进程的执行。当用户按下Ctrl+C组合键时,系统会向当前前台进程组发送SIGINT信号。该信号可以用于终止正在运行的程序,保护当前运行的应用程序。
SIGINT 的英文全称是“Software Signal Interrupt ”。然而,在Unix和类Unix系统(如Linux)的上下文中,当我们谈论“SIGINT”时,我们更多地是指一个特定的信号,它是由终端驱动程序在用户按下Ctrl+C时发送给前台进程组的。在这种情况下,“SIGINT”可以被理解为“Signal Interrupt ”的缩写,指的是一个中断信号,用于请求进程终止其当前操作。 这个信号可以被进程捕获并处理,通常是为了执行一些清理工作然后优雅地退出,或者完全忽略该信号。如果进程没有为SIGINT信号设置自定义处理函数,那么接收到该信号后,进程会执行默认的行为,即终止进程。需要注意的是,尽管“Software Signal Interrupt ”是SIGINT的一种可能的解释,但在Unix和类Unix系统的实际使用中,“Signal Interrupt ”是更常用和更准确的描述。也可以解释为 “Signals Intelligence” 信号情报。
[root@192 ~]# cp /etc/smartmontools/smartd.conf /root
[root@192 ~]# cd /root/
Linux系统上没有文件后缀名这一概念
可以通过vim这个命令创建一个文本文件,并使用vim编辑器打开
vim helloword.mp3
第二节 VIM的一般模式
默认模式,在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
1.删除和复制操作
dd(delete line删除行)(delete the entire line where the cursor is located)
dnd(n是要删除的行数)
u(undo撤销)
expurgate(小x删除 delete character删除字符,删除当前光标下的字符。大X删除当前光标前面的一个字符)
yy(yank yank line复制当前行)
put(paste粘贴)
delete word(删除当前光标所在的词)
yank word(复制当前光标所在的词)
2.光标移动操作(必须按住shift键不丢)(g表示 global 全局)
数字+shift+g(必须按住shift不丢再按小g)相当于数字+大G
第三节 VIM的编辑模式
在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下**『Esc』**这个按键即可退出编辑模式。
i(insert)
I(Insert beginning of current line)
a(append追加)
A(Append at end of line行尾追加)
o(open below向下打开)
O(Open above向上打开)
第四节 VIM的命令模式
可以进行存盘、退出、显示行号、搜索、批量替换等操作。要在一般模式下输入" / “或 " : " 或者”?"可进入命令模式,当命令执行前按esc或者命令执行完毕,自动回到一般模式
:w(write写入,将当前编辑的内容保存到文件中)
:q(quit退出)
:!(bang感叹号,用于执行外部命令,比如 :!ls 会列出当前目录的文件列表)
/(forward search向前搜索,next查找下一个)
:noh(no highlighting取消高亮显示)
:set nu(set number显示行号)
:set no number(关闭显示行号)
:%s(substitute替换,global全局的)
- 模式间的切换
如果一般模式非正常退出,如使用ctrl+z退出,再次编辑会提示交换文件". .swp",文件存在,并给出相应的处理方式选项,如果不删除交换文件,每次编辑都会提示,这时可以删除交换文件,通过命令: rm -f '.swp’ 即可
rm -f(remove -force)可以删除一个或多个文件,强制执行删除操作,而不会提示任何确认信息。
swap file 交换文件