文本编辑器专辑之—Vim

一、打开文件

1.Vim +N 文件:打开文件后光标处于第N行

[root@CentOS7 data]# cp /etc/passwd /data/passwd.bak
[root@CentOS7 data]# vim +10 /data/passwd.bak

跳转到文章末尾:G

在这里插入图片描述

2.只读形式打开,不能强制保存!

[root@CentOS7 data]# vim -m passwd.bak

在这里插入图片描述

3.比较两个文件:

[root@CentOS7 data]# vim -d passwd.bak test.txt

2 files to edit
退出::qall
在这里插入图片描述

4.打开二进制文件

[root@CentOS7 data]# dd if=/dev/zero of=/data/binary bs=1 count=3
3+0 records in
3+0 records out
3 bytes (3 B) copied, 0.000531175 s, 5.6 kB/s
[root@CentOS7 data]# ll
total 12
-rw-r--r--. 1 root root    3 May 16 08:04 binary
-rw-r--r--. 1 root root 2304 May 11 14:18 passwd.bak
-rw-r--r--. 1 root root   37 May 16 07:45 test.txt
[root@CentOS7 data]# cat binary 
[root@CentOS7 data]# hexdump -C binary 
00000000  00 00 00                                          |...|
00000003
[root@CentOS7 data]#vim -b binary

在这里插入图片描述
在这里插入图片描述

  • 转换可读的16进制

转换可读的16进制

:%!xxd

在这里插入图片描述
在这里插入图片描述

  • 修改为ABC的16进制,并转回二进制保存退出:
    在这里插入图片描述
    在这里插入图片描述

二、命令模式

1.进入插入模式:
O:光标上方
o光标下方
A光标所在行尾
a光标右移1个字符
I光标所在行行首输入
i光标处输入
在这里插入图片描述

2.直接退出:用于进入不想编辑直接退出

快捷键:
ZZ保存退出
ZQ不保存退出

---------------------------------跳转---------------------------------
3.光标移动快捷键: h左j下k上l右 (跳多行: 数字N + h左j下k上l右)
行首0 行尾$ 非空白行首^

4.单词间跳转快捷键:
w:下一个单词
b:前一个单词首
e:单词尾

5.数字N +快捷键
(1).句间移动:
(2)段落间移动:{}
---------------------------------跳转---------------------------------

------------------------------------------------------------------
6.复制:
复制整行yy
复制多行N yy
粘贴P下一行 p上一行
复制到第一个X字符yt X
------------------------------------------------------------------

------------------------------------------------------------------
7.删除:
删除整行dd
删除多行N dd
删除到第一个X字符dt X
------------------------------------------------------------------

---------------------------------修改--------------------------------
8.字符编辑
x 删除字符 (删除多个:数字N x)
xp 交换前后字符位置
~ 转换大小写
J 删除行后换行符
r 替换字符
R 切换replace模式
在这里插入图片描述

---------------------------------修改--------------------------------

---------------------------------查看--------------------------------
/ 查找字符:向尾
查找字符:向首

取消高亮:扩展命令模式下:nohlsearch(简写:noh
----------------------------------查看-------------------------------

-----------------------------------撤销------------------------------
撤销最近更改: u**
撤销多次修改:N u
撤销光标所在行的所有操作:U
------------------------------------撤销------------------------------------

----------------------------------重做-------------------------------
重做前一次撤销的操作Ctrl r
----------------------------------重做-------------------------------

----------------------------------重复-------------------------------
重做前一个操作 .
重做前一个操作多次N .
---------------------------------重复--------------------------------

-------------------------------多剪切板------------------------------
共a-z 26个剪切板,10个数字寄存器(0-9):
“ay “ap
“by “bp
“cy “cp
“dy “dp
--------------------------------多剪切板-----------------------------

---------------------------------标记--------------------------------
26个字母均可做标记:m a-z
跳转到某个标记:’ a-z
跳转到未标记位置提示:
在这里插入图片描述

-------------------------------标记----------------------------------

--------------------------------记录宏-------------------------------
录制:q 宏名称
停止录制:q
执行:@ 宏名称
重新执行上次执行宏:@@
-------------------------------记录宏--------------------------------

2.当前页面跳转
H页首 M页中 L页尾
整行移动(光标所在行
ztzzzb底部

三、拓展命令模式

1.w保存
2.wq 保存退出
3.x 保存退出
4.q 退出
5.q! 不存退出
6.r 文件名:读文件到当前文件中

:r /etc/issue

在这里插入图片描述
在这里插入图片描述
7.另存为 w 文件名

:w passold.bak

在这里插入图片描述
在这里插入图片描述
8.不退出vim情况执行命令:!命令

:! ls /boot/

在这里插入图片描述
在这里插入图片描述

9.把命令结果放入vim文件中,结果插入到光标所在行的下一行:r! 命令

:r! hostname

在这里插入图片描述
在这里插入图片描述
10.地址定界(跳转)
: N 跳转到第N行
:N + M 从N行到M行
.当前行
$最后一行
%全文=1,$

11.查找替换-区分大小写

:s 分隔符 要查找内容 分隔符 替换为的内容 分隔符

全局搜索:%s分隔符 要查找内容 分隔符 替换为的内容 分隔符

替换光标所在行查找到的内容:s #roo#admin#
在这里插入图片描述
如果光标所在行未找到关键词则报错提示
在这里插入图片描述
目标:替换所有查找到的内容 实际:仍然是替换光标所在行,需要加全局搜索%s
:s#root#admin#g
在这里插入图片描述

:%s#root#admin#g  

在这里插入图片描述

12.多窗口
(1)多文件分割:

vim –o 文件1  文件2    水平分割
vim –O 文件1  文件2		垂直分割

窗口切换快捷键:Ctrl ww
两个都保存退出:wqall

示例:vim -O test.txt binary
在这里插入图片描述

(2)单文件分割:

Ctrl w s   水平
Ctrl w v   垂直
Ctrl w q	取消相邻窗口
Ctrl w o	取消全部窗口

保存退出:wqall

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章