目录
vim编辑器
什么是vim
vim是Linux系统中一个强大的文本编辑器
vim功能比vi强大
为什么要使用vim
- 编辑配置文件
- 写脚本
- 批量修改
- 查找内容
- 与语法检测高亮显示
vim的三种工作模式
命令模式(普通模式)
最开始使用vim命令打开文件时,即进入命令模式
- 跳转光标
G:(shift + g)将光标快速跳转到文件的末尾
gg:将光标跳转到文件的开头
Ngg:N代表阿拉伯数字,将光标跳转到第N行
^:将光标跳转到行首
$:将光标跳转到行末
- 复制粘贴
yy:复制光标所在行的内容
Nyy:(yNy)N代表阿拉伯数字,复制光标所在行及后N行内容
p:将复制的内容,粘贴到光标所在行的下一行
P:将复制的内容,粘贴到光标所在行的上一行
- 删除剪切
dd:剪切,删除光标所在的行
Ndd:dNd 剪切,删除光标所在行及后N行内容
dG:删除光标所在行到文件末尾所有行的内容
D:将光标所在字符删除一直删到行末
x:剪切,删除光标所在字符
X:剪切,删除光标所在字符的前一个字符
- 撤销替换
r:替换光标所在字符
R:批量替换字符,替换光标所在字符及后面所有字符,直到按esc结束
u:撤销上一步操作
Ctrl+r:恢复撤销
- 保持退出
ZZ:(shift+zz) 保存并退出
编辑模式 (输入模式)
从命令模式切换到编辑模式
# 进入编辑模式的标识,左下角--INSERT--
a:在光标所在字符之后,进入编辑模式
A:将光标跳转到行末,并进入编辑模式
o:在光标所在行的下一行(另起一行)进入编辑模式
O:在光标所在行的上一行,进入编辑模式
i:在光标所在字符之前,进入编辑模式
I:将光标移动到行首,并进入编辑模式
s:删除光标所在字符,并进入编辑模式
S:删除光标所在行一整行内容,并进入编辑模式
从编辑模式切换回命令模式
Esc
末行模式
- 文件的保持退出
# 进入末行模式,只能从命令模式进入末行模式
方式一 输入 :
方式二 输入 \
:w # write 写入,保存
:q # quit 退出
:x # 保存并退出
:wq # 保存并退出
:w! # 强制保存
:q! # 强制退出
:wq! # 强制保存并退出
- 跳转行号
# 命令模式中,跳转行号 Ngg
# 末行模式:
:N N代表阿拉伯数字,将光标跳转到指定的行
- 内容的查找和替换
# 内容查找
/xxxx:查找想要查找的字符串,输入回车后会高亮显示
按n:向下查找下一个字符串
按N:向上查找上一个字符串
# 内容替换
:%s#xxx#xxx#g
%:代替所有行
s:查找并替换
###:代表分割符
g:global 全局(默认只替换第一行内容)
# 注意:分隔符可以随意使用,建议原内容和新内容里,不包括你写的分隔符即可
- 末行模式报错
# 文件内容修改后,不保存想退出 :q,必须加!退出
# 针对root用户,只读文件无法修改,保存退出需要加! :wq!
# 无法打开这个文件
E212: Unable to open and write files
- 末行模式其它功能
# 显示行号
:set number # 简写: :set nu
# 自动缩进
:set autoindent # 简写: :set ai
# 不区分大小写
:set ignorecase # 简写: :set io
# 查看文件中的结尾和制表符,等特殊符号
:set list
# 取消设置
:set nonu
:set noai
:set noio
:set nolist
vim视图模式
视图模式,是属于命令模式之下的一种模式
- 块视图模式
ctrl + v:进入可视块视图模式
-- VISUAL BLOCK --
# 按光标删除选中的所有字符 x
# 批量修改文件(添加注释)
1)按ctrl + v 进入可视块视图模式
2)移动光标
- 1.按下键
- 2.Ngg
- 3.G
3)按 I(shift + i) 进入编辑模式
4)输入 “#”
5)按Esc退出编辑模式
- 行视图模式
shift + v:进入行视图模式
Vim扩展选项
# 文件对比命令:diff (不推荐)
# 文件对比命令:vimdiff (推荐)
# vim 同时编辑多个文件
-o:水平分割
-O:垂直分割
# ctrl + ww 切换文件
# 编辑文件指定的行
vim + N :N代表阿拉伯数字
3.30练习题
(要求写出步骤,如果有不懂得,为什么不看看zls的博客呢)
1.请把/etc/passwd 复制到/root/目录下,并重命名为test.txt
[root@localhost ~]# cp /etc/passwd /root/test.txt
2.用vim打开test.txt并设置行号
[root@localhost ~]# vim /root/test.txt
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
@
:set nu 1,1
3.分别向下、向上翻两页
ctrl+f向下,ctrl+b向上
4..把光标移动到第10行
10gg
5.让光标移动到行末,再移动到行首
shift+4($)行末
shift+6(^)行首
6.移动到test.txt文件的最后一行
G
7.搜索文件中出现的 root 并数一下一共出现多少个,不区分大小写搜索
[root@localhost ~]# grep -i -o 'root' /root/test.txt |sort|uniq -c
4 root
8.把从第一行到第三行出现的root 替换成--alex--
[root@localhost ~]# vim passwd
1 --alex--:x:0:0:--alex--:/--alex--:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
:%s#root#--alex--#g
9.还原上一步操作
u
[root@localhost ~]# vim /root/test.txt
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
10.复制第2行并粘贴到11行下面,再还原一下
2gg
yy
11gg
p
u
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 bin:x:1:1:bin:/bin:/sbin/nologin
13 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
11.把光标移动到20行,删除本行,再还原
20gg
dd
u
15 dbus:x:81:81:System message bus:/:/sbin/nologin
16 polkitd:x:999:998:User for polkitd:/:/sbin/nologin
17 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nolog in
18 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
~
~
按p或u都能还原
12..删除从5行到10行的所有内容,再还原
5gg
6dd
按p或u都能还原
12.复制从11行到15行的内容并粘贴到8行上面···
11gg
5yy
8gg
P
13.把13行到18行的内容移动文件的尾部
13gg
6dd
G
p
14.光标移动到首行,把/sbin/nologin改成/bin/bash
gg
R
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/bin/bash
15.在第一行下面插入新的一行,并输入"# Hello Word!"
gg
0
# Hello Word!
16.保存文档并退出
esc
shift+zz
18.如何查看磁盘的block
df -h
19.如何查看磁盘的inode
df -i
选择题
20.用命令ls -l显示出来文件txt的描述如下所示,由此可知文件的类型为( A )
-rw-r--r--. 1 root root 970 Nov 5 2018 yum.conf
A.普通文件
B.硬链接
C.符号链接
D.目录
21.用命令ls -l显示出来文件txt的描述如下所示,由此可知文件的类型为( D )
drwxr-xr-x. 2 root root 187 Nov 5 2018 yum.repos.d
A.普通文件
B.硬链接
C.符号链接
D.目录
23.用命令ls -l显示出来文件txt的描述如下所示,由此可知文件的类型为( C )
lrwxrwxrwx. 1 root root 14 Mar 25 20:05 system-release -> centos-release
A.普通文件
B.硬链接
C.符号链接
D.目录
24.下面哪个Linux命令可以一次显示一页内容?( C )
A. pause
B. cat
C. more
D. grep
25.用"rm -i"系统会提示什么来让你确认( B )
A.命令行的每个选项
B.是否真的删除
C.是否有写的权限
D.文件的位置
标签:bin,sbin,nologin,模式,vim,编辑器,root,光标 From: https://www.cnblogs.com/LZA1218/p/16769909.html