• 5.1 vim介绍

  • 5.2 vim颜色显示和移动光标

  • 5.3 vim一般模式下移动光标

  • 5.4 vim一般模式下复制、剪切和粘贴

5.1 vim介绍
  • vim 是 vi的一个升级版本

  • vim 是带有颜色显示的

  • 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 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 命令

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_vim_02

  •  一般模式

  • 一般模式做的有 比如DD命令 把一行删掉,还可以把其中某些行复制粘贴到其他行下面去,还没进入编辑模式之前可以做的一些操作

  •  编辑模式

  • 编辑模式 就是按完i之后,进入到编辑模式,可以针对这个文档进行操作,增加字符,删除字符,回车换行等等,进入编辑模式按i键或者a键

  •  命令模式

  • vi之前讲的 less去里面的/搜索,vim里面也可以,可以进行查找替换批量操作,比如把文档里面123,改为456 包括:wq 保存退出 这也是命令模式

  • 这些模式下有好多用法,这一章节主要针对这三个模式介绍vim的用法

5.2 vim颜色显示和移动光标
[root@aminglinux-01 ~]# vim /etc/passwd

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_vim_03

[root@aminglinux-01 ~]# vim /etc/passwd[root@aminglinux-01 ~]# cp /etc/passwd /tmp/[root@aminglinux-01 ~]# vim /tmp/passwd
  1. 把/etc/paasswd 拷贝到 /tmp/目录下再用vim打开/tmp/passwd文件颜色就没有了 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_颜色显示_04 /etc/下面的文件往往都是配置文件,在/etc/目录下就可以显示颜色,把它放到其他目地方它就不会显示颜色 这是它的一个特性

    5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_vim_05

[root@aminglinux-01 ~]# vim /etc/fstab
[root@aminglinux-01 ~]# cp /etc/fstab /tmp/
[root@aminglinux-01 ~]# vim /tmp/fstab

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_颜色显示_06

  1. 同样的/etc/目录 拷贝到/tmp/目录下fstab文件就有颜色显示,而passwd就没有颜色,因为fstab文件里面有以#开头的行 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_vim_07

  2. 下面来做一个实验 先用打开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 就可以把光标定位到刚刚位置的所在的上一行去,并且进入编辑模式

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_介绍_08 在前面俩行随便写点东西

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_vim_09

保存退出,然后再一次编辑它

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_vim_10 会发现确实也会有颜色,但是这颜色只在前面俩行出现,哪怕在中间插入也还是有颜色 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_vim_11 这个表示,其实这个文件本身,它并不是没有颜色,只不过咱们给它的内容不具备,它不具备显示颜色的条件。

给它改下名字

[root@aminglinux-01 ~]# mv /tmp/passwd /tmp/passwd.sh[root@aminglinux-01 ~]# vim /tmp/passwd.sh

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_介绍_12

改下名字会发现也有颜色,不仅仅跟第一行的内容有关系,也和文件的名字有关系,总之,vim显示颜色的条件很多,最终的结果也不太一样,大家不用纠结什么时候显示颜色,往往是根据文件的具体内容有关系 vim 有自己的配置文件,在vim /etc/vimrc下(这点做个了解) 可以通过vim /etc/vimrc 去编辑配置文件,当然也可以在用户自己的家目录下可以编辑

[root@aminglinux-01 ~]# vim /root/.vimrc

默认这个目录不存在,当遇到一些vim比较高级的用法的时候,搜文档文件,可以尝试在这个配置文件当中去配置。

5.3 一般模式下移动光标

  1. 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_介绍_13

首先拷贝一个文件

[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

这里的!$ 表示上一次命令的最后一次命令 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_颜色显示_14

在vim 里面 第一行 前面加上#!/bin/bash 表示他是一个shell 地下也会有颜色 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_颜色显示_15 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_vim_16

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_颜色显示_17

  • vim 进入文件配置内容后,方向键可以不用小键盘

  • h 向左 按数字10 再按h 就向左移动了10个字符,

  • 按l向右移动,同样按数字 9再按l 向右移动9个字符

  • 按j 向上 同样按数字 5再按j 向上移动9个字符

  • 按k 向下 同样按数字 5再按k向下移动5个字符

  • 上下左右 都是支持 数字 + 按键方向的

  • 空格键也是向右移动的 键位

  1. Ctrl + B 文本页面向前翻一页

  2. Ctrl + F 文本页面向后翻一页

  3. 数字0 shift+6 可以快速移动到本行的行首

  4. shift+4 可以快读移动到本行的行尾

  5. 快速移动到首行 按俩下 小gg 到首行 大写的 G 快速移动到 行尾

  6. nG 任意数字 + G 定位到移动到第n 行

5.4 一般模式下复制剪切黏贴

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴_介绍_18

  • dd删除、剪切光标所在的那一行

  • ndd 删除、剪切光标所在行之后的n行

  • yy复制光标所在行

  • nyy 从光标所在行开始,向下复制n行

  • p 从光标所在行开始,向下黏贴已经复制或者黏贴内容

  • 大写P 从光标所在行开始,向上黏贴已经复制或者黏贴内容

  • u 还原上一步操作,撤销的意思

  • Ctrl r 反着恢复

  • x表示向后删除一个字符,大写的X表示向前删除一个字符

  • nx 向后删除n个字符 -按v后 移动光标会选中指定字符,然后可以实现复制、黏贴等操作