且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-10-04 13:07:15

  • 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一般模式下复制、剪切和粘贴

  •  一般模式

  • 一般模式做的有 比如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一般模式下复制、剪切和粘贴

[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一般模式下复制、剪切和粘贴 /etc/下面的文件往往都是配置文件,在/etc/目录下就可以显示颜色,把它放到其他目地方它就不会显示颜色 这是它的一个特性

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

[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一般模式下复制、剪切和粘贴

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

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

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

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

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

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

给它改下名字

[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一般模式下复制、剪切和粘贴

改下名字会发现也有颜色,不仅仅跟第一行的内容有关系,也和文件的名字有关系,总之,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一般模式下复制、剪切和粘贴

首先拷贝一个文件

[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一般模式下复制、剪切和粘贴

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

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

  • 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一般模式下复制、剪切和粘贴

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

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

  • yy复制光标所在行

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

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

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

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

  • Ctrl r 反着恢复

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

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

  • 本文转自   ch71smas   51CTO博客,原文链接:http://blog.51cto.com/ch71smas/1958586