5.1 vim介绍
5.2 vim颜色显示和移动光标
5.3 vim一般模式下移动光标
5.4 vim一般模式下复制、剪切和粘贴
vim 是 vi的一个升级版本
vim 是带有颜色显示的
再试下vim 命令
[root@aminglinux-01 ~]# vi /etc/passwd[root@aminglinux-01 ~]# vim /etc/passwd-bash: vim: 未找到命令 [root@aminglinux-01 ~]# yum install -y vim-enhanced
运行yum install -y vim-enhanced 命令
一般模式
一般模式做的有 比如DD命令 把一行删掉,还可以把其中某些行复制粘贴到其他行下面去,还没进入编辑模式之前可以做的一些操作
编辑模式
编辑模式 就是按完i之后,进入到编辑模式,可以针对这个文档进行操作,增加字符,删除字符,回车换行等等,进入编辑模式按i键或者a键
命令模式
vi之前讲的 less去里面的/搜索,vim里面也可以,可以进行查找替换批量操作,比如把文档里面123,改为456 包括:wq 保存退出 这也是命令模式
这些模式下有好多用法,这一章节主要针对这三个模式介绍vim的用法
[root@aminglinux-01 ~]# vim /etc/passwd
[root@aminglinux-01 ~]# vim /etc/passwd[root@aminglinux-01 ~]# cp /etc/passwd /tmp/[root@aminglinux-01 ~]# vim /tmp/passwd
把/etc/paasswd 拷贝到 /tmp/目录下再用vim打开/tmp/passwd文件颜色就没有了 /etc/下面的文件往往都是配置文件,在/etc/目录下就可以显示颜色,把它放到其他目地方它就不会显示颜色 这是它的一个特性
[root@aminglinux-01 ~]# vim /etc/fstab [root@aminglinux-01 ~]# cp /etc/fstab /tmp/ [root@aminglinux-01 ~]# vim /tmp/fstab
同样的/etc/目录 拷贝到/tmp/目录下fstab文件就有颜色显示,而passwd就没有颜色,因为fstab文件里面有以#开头的行
下面来做一个实验 先用打开vim/tmp/passwd文件吧这个文件做一个变更
[root@aminglinux-01 ~]# vim /tmp/passwd root:x:0:0:root:/root:/bin/bashbin:x:1:1: bin:/bin:/sbin/nologindaemon:x:2:2: daemon:/sbin:/sbin/nologinadm:x:3:4: adm:/var/adm:/sbin/nologinlp:x:4:7: lp:/var/spool/lpd:/sbin/nologinsync:x:5:0: sync:/sbin:/bin/syncshutdown:x:6:0: shutdown:/sbin:/sbin/shutdownhalt:x:7:0: halt:/sbin:/sbin/haltmail:x:8:12: mail:/var/spool/mail:/sbin/nologinoperator:x:11:0: operator:/root:/sbin/nologingames:x:12:100: games:/usr/games:/sbin/nologinftp:x:14:50: FTP User:/var/ftp:/sbin/nologinnobody:x:99:99: Nobody:/:/sbin/nologinsystemd-bus-proxy:x:999:997: systemd Bus Proxy:/:/sbin/nologinsystemd-network:x:192:192: systemd Network Management:/:/sbin/nologindbus:x:81:81: System message bus:/:/sbin/nologin polkitd:x:998:996:User for polkitd:/:/sbin/nologin tss:x:59:59: Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74: Privilege-separated SSH:/var/empty/sshd:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologinaming:x:1000:1005::/home/aming:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash user2:x:1002:1002::/home/user2:/bin/bash user3:x:1004:1005::/home/user3:/bin/bash user4:x:1006:1005::/home/aming111:/sbin/nologinuser5:x:1007:1007::/home/user5:/bin/bash user6:x:1008:1010::/home/user6:/bin/bash
敲2个小g 把光标挪到最上面去,再按大写的O 就可以把光标定位到刚刚位置的所在的上一行去,并且进入编辑模式
在前面俩行随便写点东西
保存退出,然后再一次编辑它
会发现确实也会有颜色,但是这颜色只在前面俩行出现,哪怕在中间插入也还是有颜色 这个表示,其实这个文件本身,它并不是没有颜色,只不过咱们给它的内容不具备,它不具备显示颜色的条件。
给它改下名字
[root@aminglinux-01 ~]# mv /tmp/passwd /tmp/passwd.sh[root@aminglinux-01 ~]# vim /tmp/passwd.sh
改下名字会发现也有颜色,不仅仅跟第一行的内容有关系,也和文件的名字有关系,总之,vim显示颜色的条件很多,最终的结果也不太一样,大家不用纠结什么时候显示颜色,往往是根据文件的具体内容有关系 vim 有自己的配置文件,在vim /etc/vimrc下(这点做个了解) 可以通过vim /etc/vimrc 去编辑配置文件,当然也可以在用户自己的家目录下可以编辑
[root@aminglinux-01 ~]# vim /root/.vimrc
默认这个目录不存在,当遇到一些vim比较高级的用法的时候,搜文档文件,可以尝试在这个配置文件当中去配置。
5.3 一般模式下移动光标
首先拷贝一个文件
[root@aminglinux-01 ~]# cp /etc/dnsmasq.conf /tmp/1.txt [root@aminglinux-01 ~]# vim /tmp/1.txt# Configuration file for dnsmasq. ## Format is one option per line, legal options are the same# as the long options legal on the command line. See # "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details. # Listen on this specific port instead of the standard DNS port # (53). Setting this to zero completely disables DNS function, # leaving only DHCP and/or TFTP. #port=5353# The following two options make you a better netizen, since they # tell dnsmasq to filter out queries which the public DNS cannot # answer, and which load the servers (especially the root servers) # unnecessarily. If you have a dial-on-demand link they also stop # these requests from bringing up the link unnecessarily. # Never forward plain names (without a dot or domain part)#domain-needed # Never forward addresses in the non-routed address spaces.#bogus-priv # Uncomment this to filter useless windows-originated DNS requests# which can trigger dial-on-demand links needlessly. # Note that (amongst other things) this blocks all SRV requests, # so don't use it if you use eg Kerberos, SIP, XMMP or Google-talk. # This option only affects forwarding, SRV records originating for
如果想让它显示颜色,把名字改下
[root@aminglinux-01 ~]# vim /tmp/1.txt [root@aminglinux-01 ~]# mv /tmp/1.txt /tmp/xxx.conf [root@aminglinux-01 ~]# vim !$vim /tmp/xxx.conf
这里的!$ 表示上一次命令的最后一次命令
在vim 里面 第一行 前面加上#!/bin/bash 表示他是一个shell 地下也会有颜色
vim 进入文件配置内容后,方向键可以不用小键盘
h 向左 按数字10 再按h 就向左移动了10个字符,
按l向右移动,同样按数字 9再按l 向右移动9个字符
按j 向上 同样按数字 5再按j 向上移动9个字符
按k 向下 同样按数字 5再按k向下移动5个字符
上下左右 都是支持 数字 + 按键方向的
空格键也是向右移动的 键位
Ctrl + B 文本页面向前翻一页
Ctrl + F 文本页面向后翻一页
数字0 shift+6 可以快速移动到本行的行首
shift+4 可以快读移动到本行的行尾
快速移动到首行 按俩下 小gg 到首行 大写的 G 快速移动到 行尾
nG 任意数字 + G 定位到移动到第n 行
5.4 一般模式下复制剪切黏贴
dd删除、剪切光标所在的那一行
ndd 删除、剪切光标所在行之后的n行
yy复制光标所在行
nyy 从光标所在行开始,向下复制n行
p 从光标所在行开始,向下黏贴已经复制或者黏贴内容
大写P 从光标所在行开始,向上黏贴已经复制或者黏贴内容
u 还原上一步操作,撤销的意思
Ctrl r 反着恢复
x表示向后删除一个字符,大写的X表示向前删除一个字符
nx 向后删除n个字符 -按v后 移动光标会选中指定字符,然后可以实现复制、黏贴等操作