vim的使用及基本操作

1.vim工作模式切换
问题
1)练习vim三种模式互相切换
2)用a切换到输入模式
3)用i切换到输入模式
4)用o切换到输入模式
5)分析下a、i、o三者区别
方案
Vim是Linux系统上最常用的命令行交互式文本编辑器,主要工作在三种模式:命令模式、输入模式、末行模式。
步骤
实现此案例需要按照如下步骤进行。
步骤一:用a切换到输入模式
将/etc/passwd文件拷贝到/opt下,对/opt/passwd文件操作。
命令操作如下所示:
[[email protected] ~]# cp /etc/passwd /opt/
[[email protected] ~]# ls /opt/
passwd
[[email protected] ~]# vim /opt/passwd
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync
shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
halt❌7:0:halt:/sbin:/sbin/halt
mail❌8:12:mail:/var/spool/mail:/sbin/nologin
uucp❌10:14:uucp:/var/spool/uucp:/sbin/nologin
operator❌11:0:operator:/root:/sbin/nologin
games❌12????games:/usr/games:/sbin/nologin
gopher❌13:30:gopher:/var/gopher:/sbin/nologin
ftp❌14:50:FTP User:/var/ftp:/sbin/nologin
……
“/opt/passwd” 33L,1578C 1,1 顶端
此时光标在首行的首字符,此模式是vim的命令模式,按键盘a键进入到输入模式。
如图-1所示:
vim的使用及基本操作
图-1
可以看到光标停在首行的第二个字符,并且最后一行显示“插入”字样。如果想返回命令模式,按ESC键即可。
步骤二:用i切换到输入模式
首先按ESC键退到命令模式,此时光标在首行的首字符,此模式是vim的命令模式,按键盘i键进入到输入模式。
如图-2所示:
vim的使用及基本操作
图-2
可以看到光标停在首行的第一个字符,并且最后一行显示“插入”字样。如果想返回命令模式,按ESC键即可。
步骤三:用o切换到输入模式
首先按ESC键退到命令模式, 此时光标在首行的首字符,此模式是vim的命令模式,按键盘o键进入到输入模式。
如图-3所示:
vim的使用及基本操作
图-3
可以看到光标停在第二行的第一个字符,是另起一行插入。并且最后一行显示“插入”字样。如果想返回命令模式,按ESC键即可。
步骤四:分析下a、i、o三者区别
总结:首先o键与a、i两者有明显的不同,是另起一行插入。而a键与i键区别是,都是在当前行插入;但插入的位置不同,按a键是在光标的右侧插入数据,按i键是在光标的左侧插入数据。
2.vim命令模式操作
问题
以下所有操作都在命令模式进行:
1)把/etc/passwd文件,拷贝到/opt命名为nsd.txt
2)对/opt/nsd.txt进行如下操作:
3)切换到最后一行
4)切换到第一行
5)删除第二行
6)复制第一行到最后一行
7)查找root字符串
方案
本题主要练习的是命令模式的常用操作,光标行间跳转,切换到最后一行可以在命令模式直接输入“G”。切换到第一行可以直接输入“1G”或“gg”。
删除光标所在行直接输入“dd”即可。
复制光标所在行直接输入“yy”即可。
粘贴时按“p”即可,是粘贴光标之后。
查找root字符串,输入“/root”即可。
步骤
实现此案例需要按照如下步骤进行。
步骤一:切换到最后一行
命令操作如下所示:
[[email protected] ~]# cp /etc/passwd /opt/nsd.txt
此时光标在首行的首字符,此模式是vim的命令模式。
如图-4所示:
vim的使用及基本操作
图-4
按键盘“G”键将光标切换到最后一行。
如图-5所示:
vim的使用及基本操作
图-5
步骤二:切换到第一行
此时光标在末行的首字符,此模式是vim的命令模式。
按键盘“gg”键将光标切换到第一行。如图-6所示:
vim的使用及基本操作
图-6
步骤三:删除第二行
此时光标在首行的首字符,此模式是vim的命令模式。
用键盘输入“2G”将光标切换到第二行。如图-7所示:
vim的使用及基本操作
图-7
用键盘输入“dd”,删除该行。如图-8所示:
vim的使用及基本操作
图-8
步骤四:复制第一行到最后一行
按键盘上方向键,将光标移动到第一行,此时光标在首行的首字符,此模式是vim的命令模式。
如图-9所示:
vim的使用及基本操作
图-9
用键盘输入“yy“复制第一行。然后,用键盘输入”G“切换到最后一行。如图-10所示:
vim的使用及基本操作
图-10
用键盘输入“p“键粘贴。如图-11所示:
vim的使用及基本操作
图-11
步骤五:查找root字符串
此时光标在首行的首字符,此模式是vim的命令模式。输入“/root”即可,会看到所有root会有颜色高亮显示。
如图-12所示:
vim的使用及基本操作
图-12
3.vim末行模式操作
问题
1)将 /etc/man.config 复制到/opt目录底下用vim对/opt/man.config操作
2)如何将 50 到 100 行之间的小写‘man’字串改为大写‘MAN’字串?
3)在vim编辑器中设置显示行号
方案
首先可以利用cp命令复制并改名。
在末行模式可以查找替换,首先输入“:”切换到末行模式。也可以规定查找哪替换些行。例如本题:50,100 s/man/MAN/g
显示行号只需在末行模式,输入“set nu”即可。
步骤
实现此案例需要按照如下步骤进行。
步骤一:复制/etc/man.config文件到/opt目录下,用vim编辑复制后的文件
命令操作如下所示:
[[email protected] ~]# cp /etc/man.config /opt/
man.config nsd.txt passwd
[[email protected] ~]#
步骤二:如何将 50 到 100 行之间的小写‘man’字串改为大写‘MAN’?
命令操作如下所示:
[[email protected] ~]# vim /opt/man.config
在末行模式执行指令:50,100 s/man/MAN/g,如图-13所示:
vim的使用及基本操作
图-13
可以看到替换结果“25次替换,共23行”,如图-14所示:
vim的使用及基本操作
图-14
步骤三:vim 中设定显示行号
执行末行模式指令:set nu,如图-15所示:
vim的使用及基本操作
图-15
4.使用.vimrc设置vim编辑器
问题
1)编辑配置文件,使得每次vim打开文件时
2)显示行号
3)自动缩进
4)一个tab等于4个空格键
方案
首先注意此配置文件默认是不存在的,需要手工创建。创建的位置在家目录,本题用户为root,其家目录为“/root”。建立的文件必须命名为“.vimrc”,需注意是以“.”开头的隐藏文件。
步骤
实现此案例需要按照如下步骤进行。
步骤一:编辑vim配置文件完成配置
命令操作如下所示:
[[email protected] ~]# vim ~/.vimrc
set nu //开启行号
set ai //开启自动缩进
set tabstop=4 //一个tab键等于4个空格键
……