Linux的Vim编辑器
Vim的基本使用
在Linux中,很多时候需要使用编辑器来修改文件,使用最多的编辑器就是vim,用法如下。
vim /path/file
如果这个文件不存在,则会在内存中创建出来,与在 Windows中单击【开始】→【所有程序】→【记事本】的功能相同,只是在内存中打开,并没有存储在硬盘上。如果文件存在,则把此文件打开。
环境准备的命令如下。
[root@rh1 ~]# head /etc/passwd > aa.txt
先创建一个测试文件aa.txt,这里的意思是把/etc/passswd前10行的内容写入 aa.txt中。然后执行vim aa.txt命令打开此文件
[root@rh1 ~]# vim aa.txt
此时会发现按【Enter】键不会产生空白行,按【Backspace】键也不会删除任何字符,即现在无法编辑。这里就涉及了vim的三种模式。
Vim几种模式的切换
1.插入模式
用vim打开文件时,是在命令模式下,如果想修改文件内容,需要进入插入模式(也称为编辑模式)。从命令模式切换到插人模式,有6个常见的字符。
(1)i:从当前光标所在字符处插入。
(2)a:从当前光标的后一个字符处插入。
(3)o:在当前行的下一行产生一个空白行并进入插入模式。
(4)I:光标跳到本行的开头,并进入插入模式。
(5)A:光标跳到本行的结束,并进入插入模式。
(6)O:在当前行的上一行产生一个空白行并进入插入模式。
以看到,光标仍然是在r上面的(这就叫作从当前光标所在字符插人),左下角显示为“插入”或“insert”,此时就进入插入模式了。
用上、下、左、右键调整光标到合适的位置之后,把光标放在r的位置。按【 i 】键进入插入模式。
修改完成之后需要对文件进行保存,在插入模式下是无法保存的,必须进入末行模式才可
以。需要按【Esc】键退回到命令模式,然后从命令模式进入末行模式
2.末行模式
从命令模式进入末行模式有两种方式。
1./ 关键字
这种一般用于在文件中查询所有的关键字,如果想忽略大小写可以用
“/关键字\c”。
例如,在passwd中查询所有的root,先按【/】键,然后在后面输入“root”
此刻会高亮显示所有的关键字root,不过可以看到ROOT和Root并没有高亮显示出来,因为在 Linux中是严格区分大小写的,如果想忽略大小写,可以写成/root\c
但是此时被高亮显示:如果想去掉,可以随意输入一个字符串, 然后按【Enter】键
2.1.命令模式下按冒号
在命令模式下按冒号。这里可以执行各种操作,总结如下。
(1) 保存但不退出::w
(2) 保存退出::wq
(3)保存退出::x(小写)。
(4)另存为::w /path/new-name。
(5)加载其他文件::r /path/text-file。
(6)显示行号::set nu,如图5-11所示。
(7)去除行号::set nonu。
(8)切换行::数字,这样光标可以快速切换到指定的行。
(9)替换操作:语法如下。
:s/old/new/
3.命令模式
要想从末行模式切换到命令模式,只要按两次【Esc】键即可
一开始在命令模式下无法做具体的操作(无法删除,按【Enter】键也没用),其实在命令模式下也可以微许多操作。
3.1复制行
nyy (n为数字)表示从当前行开始,一共复制n行。
如图所示,把光标调整到第6行,此时按【3yy】键,就会把6、7、8三行复制下来。
3.2粘贴行
整光标到指定的行之后,按【p】键执行粘贴操作。例如,这里在第10行即 shutdown那行按【p】键,
自行按【u】键撤销
3.3剪切行
ndd (n为数字)表示从当前行开始,一共剪切n行,用法与nyy类似。
但是如果不按【p】键粘贴,则这几行就是删除的意思。
如果想把从当前行开始到最后一行全部删除,可以按【dG】键或随便按一个比较大的数字,然后按【dd】键,如【9999dd】。
3.4删除字符
在光标所在的字符位置按【x】键,就可以删除此字符。如果想删除当前光标往后所有的字符,可以按一个比较大的数字,然后按【x】键,如【9999x】。
3.5定位行
按【nG】键(n为数字),光标跳到第n行。如果想切换到最后一行,直接按【G】键。如果想跳到第一行,直接按【gg】键。(6)替换。
3.6替换
如果想替换当前光标的字符,先按【r】键,然后按所要替换的字符就可以了。
按小写的【r】键只是做一次替换,如果想再替换其他字符,还需要按【r】键才行。如果想一直处于替换状态,则需要按大写的【R】键,这样当替换当前字符之后,光标会跳到下一个字符并处于替换状态,我们可以通过调整光标来替换所要替换的字符,直到按【Esc】键结束
3.7撤销
如果编辑错了,可以按【u】键撤销,类似于 Word中的撤销操作。
3.8前进。
键,这样当替换当前字符之后,光标会跳到下一个字符并处于替换状态,我们可以通过调整光标来替换所要替换的字符,直到按【Esc】键结束
3.7撤销
如果编辑错了,可以按【u】键撤销,类似于 Word中的撤销操作。
3.8前进。
前进符,按【Ctrl+R】组合键 。