vi和vim的区别
vi编辑器是Linux最基本的文本编辑工具。
vim具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计。
vim 就是vi的升级版
vi是所有UNIX系统都会提供的屏幕编辑器,也有的称为多模式编辑器,它提供了一个视窗设备,通过它可以编辑文件,而vim则是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。下面则是vim相较于vi的一些优越性
1、多级撤销
在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消
2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
4、可视化操作
vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容
vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。
注:coding是编码的意思,decoding是解码的意思
三种模式的切换图
注意:在命令行模式下,修改了文件但是不想保存可以使用 :q! 强制退出,没有修改文件使用 :q 退出即可,
修改了文件并且想要保存可以使用 :wq 保存并退出; wq! 用于将修改强制写入只读文件
备注: vim 还可以用来新建文件~😙
三种模式的详解
一般模式
以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标
(建议使用 h(向左移动)/l(向右移动)/j(向下移动)/k(向上移动)
),你可以使用『删除字符』或『删除整行』来处理
档案内容, 也可以使用『复制、贴上』来处理你的文件数据
编辑/插入模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A, r,
R』等任何一个字母之后才会进入编辑模式。
注意了!通常在 Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编
辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式
退出编辑模式
按Esc 键
R 表示替换; u 表示撤销; ctrl + l 和 clear 可以清屏
Ctrl-f 向后滚动一页 Ctrl-b 向前滚动一页
指令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中,可以提供
你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
基本练习
- 拷贝当前行, 拷贝当前行向下的5行,并粘贴
注意: yy 拷贝当前光标所处的那一行, p 是在当前光标所在那行的下一行进行粘贴
5yy 表示拷贝包括当前光标行的向下五行,然后 p 是在当前光标所在的那行的下一行进行粘贴 - 删除当前行, 删除当前行向下的5行
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中,可以提供
你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
1
dd 删除当前光标所在行, 5dd 表示删除包括当前光标所在行的下五行
3)在文件中查找某个单词
指令模式下直接输入 /关键字 ,回车查找,然后输入 n 显示下一个匹配的单词
4)行号的显示和取消
指令模式下,使用 :set nu 显示行号;使用 :set nonu 取消行号显示
5)编辑 /etc/profile 文件,使用快捷键到达文档的最末行 [G] 和最首行 [gg] (普通模式下)
6)在一个文件中输入 hello ,然后又撤销这个动作 u (正常模式下)
7)编辑 /etc/profile 文件,并将光标移动到 20行
首先需要设置行号: :set nu
然后在正常模式下输入 20 ,然后输入 shift + g (其实就是在上一步完成后直接输入 20 和 shift +
g )