5.5、进入编辑模式
- 按i键进入编辑模式,左下角日式insert模式,或者按I,光标直接进入当前行的行首;
- 按o直接进入该行的下一行(新建一行);
- 按O直接在改行的上一行新建;
- 按a进入光标当前所在字符的后面开始编辑;
- 按A进入所在行的最后开始编辑;
5.6、vim命令模式
- 按/键输入字符,搜索,按n向下逐个查找,按N向上逐个查找
18 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
19 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
20 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
21 chrony:x:997:995::/var/lib/chrony:/sbin/nologin
22 geoclue:x:996:993:User for geoclue:/var/lib/geoclue:/sbin/nologin
23 rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
24 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
25 libstoragemgmt:x:995:992:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
26 abrt:x:173:173::/etc/abrt:/sbin/nologin
27 radvd:x:75:75:radvd user:/:/sbin/nologin
28 ntp:x:39:38::/etc/ntp:/sbin/nologin
29 saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
30 rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
31 pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
32 colord:x:993:989:User for colord:/var/lib/colord:/sbin/nologin
33 qemu:x:107:107:qemu user:/:/sbin/nologin
34 setroubleshoot:x:992:988::/var/lib/setroubleshoot:/sbin/nologin
35 rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
36 nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
37 gdm:x:42:42::/var/lib/gdm:/sbin/nologin
38 sssd:x:991:987:User for sssd:/:/sbin/nologin
39 unbound:x:990:986:Unbound DNS resolver:/etc/unbound:/sbin/nologin
40 gnome-initial-setup:x:989:984::/run/gnome-initial-setup/:/sbin/nologin
41 avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
42 tcpdump:x:72:72::/:/sbin/nologin
43 liyang:x:1000:1000:liyang:/home/liyang:/bin/bash
44 apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
45 mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
46 user1:x:1001:1001::/home/user1:/bin/bash
47 123:x:1002:1002::/home/123:/bin/bash
48 user5:x:1003:1003::/home/user5:/bin/bash
49 user2:x:1004:1004::/home/user2:/bin/bash
~
~
~
~
~
~
~
~
~
~
~
已查找到文件结尾,再从开头继续查找
- 按?+关键字搜索;
- :1,100s/if/liyang/g注释:全局1-100行把if替换为liyang;
- :1,100s/if/liyang/gc注释:全局1-100行逐个挑选是否把if替换为liyang;
- :w liyang.test.config :把该文件另存为liyang.test.config
- 删除字符:x,删除20个字符:20x
1. 1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
15 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
16 dbus:x:81:81:System message bus:/:/sbin/nologin
17 polkitd:x:998:997:User for polkitd:/:/sbin/nologin
18 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
19 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
20 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
21 chrony:x:997:995::/var/lib/chrony:/sbin/nologin
22 geoclue:x:996:993:User for geoclue:/var/lib/geoclue:/sbin/nologin
23 rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
24 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
25 libstoragemgmt:x:995:992:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
26 abrt:x:173:173::/etc/abrt:/sbin/nologin
27 radvd:x:75:75:radvd user:/:/sbin/nologin
28 ntp:x:38:38::/etc/ntp:/sbin/nologin
29 saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
30 rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
31 pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
32 colord:x:993:989:User for colord:/var/lib/colord:/sbin/nologin
33 qemu:x:107:107:qemu user:/:/sbin/nologin
34 setroubleshoot:x:992:988::/var/lib/setroubleshoot:/sbin/nologin
35 rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
36 nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
37 gdm:x:42:42::/var/lib/gdm:/sbin/nologin
38 sssd:x:991:987:User for sssd:/:/sbin/nologin
39 unbound:x:990:986:Unbound DNS resolver:/etc/unbound:/sbin/nologin
40 gnome-initial-setup:x:989:984::/run/gnome-initial-setup/:/sbin/nologin
41 avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
42 tcpdump:x:72:72::/:/sbin/nologin
43 liyang:x:1000:1000:liyang:/home/liyang:/bin/bash
44 apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
45 mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
46 user1:x:1001:1001::/home/user1:/bin/bash
47 123:x:1002:1002::/home/123:/bin/bash
48 user5:x:1003:1003::/home/user5:/bin/bash
49 user2:x:1004:1004::/home/user2:/bin/bash
~
~
~
~
~
~
~
~
~
~
~
:1.49s/user/liyang/g
- 全部替换输入:1,$s/user/liyang/g
- 脱义字符:1,$s//etc/hosts/liyang/g 把/后面的/etc/hosts脱义掉,让系统不能识别/etc/hosts,然后替换为liyang;
- 也可以这样:1,$s#/etc/hosts#liyang#g或者:1,$s@/etc/hosts@liyang@g
- 常规的保存退出:wq强制保存退出:wq!,不保存退出:q!
- :set nu显示行号;不显示行号:set nonu
- 不带高亮显示:nohl(no high light)
- :x和:wq相同(已经编辑过的文件),如果没有编辑文件使用:wq则会改变mtime,使用:x则不会改变mtime
5.7、vim实践
- cp /etc/dnsmasq.conf /tmp/1.txt\
- 向上下左右移动光标6个字符:6j向下、6k向上、6h向左、6l向右
- 向下翻两页Ctrl+f两次,向上翻两页Ctrl+b两次
- 把光标移动到第49行:49G
- 把光标移动到行尾:shift+4,移动到行首:0或者shift+6
- 把光标移动到文件的最后一行:G
- 把光标移动到文件的首行:gg
- 搜索文件中的“dnsmasq”?dnsmasq或者/dnsmasq按n向下
- 把第一行到第十行中出现的dnsmasq替换为dns::1.10s/dnsmasq/dns/g
- 还原上一步:u
- 把整个文件中的etc替换为cte::1,$s/ect/cte/g
扩展
- 1,注释所有的行:ctrl+v j/k+ shift +i
- 2,查看光标当前的man手册 shift+k
- 3,d+f+字符
- 4,选中面积 v+t+字符
- 5,在vim里面删除光标后的所有字符 shift+d
- 6,删除当前光标上的单词 d+i+w
- 7,选中当前光标上的单词 v+i+w
vim/vi加密
-
优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了;
-
缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除
-
vim 2.txt,按i编辑输入内容后,按esc:X(大写x),回车提示输入密码,再次输入密码,然后保存退出;
- [root@centos7 ~]# vim 2.txt 2. [root@centos7 ~]# cat 2.txt 3. VimCrypt~01!|VΟ{:寚®RM}ԕ³웵¬;~¦??& [root@centos7 ~]# Xshell 4. bash: Xshell: 未找到命令... 5. [root@centos7 ~]#