5.1 vim介绍
5.2 vim颜色显示和移动光标
5.3 vim一般模式下移动光标
5.4 vim一般模式下复制、剪切和粘贴
5.1 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的用法
5.2 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文件吧这个文件做一个变更
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
[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后 移动光标会选中指定字符,然后可以实现复制、黏贴等操作
-
本文转自 ch71smas 51CTO博客,原文链接:http://blog.51cto.com/ch71smas/1958586