文本编辑器专辑之—Vim

    xiaoxiao2025-03-06  43

    文章目录

    一、打开文件二、命令模式 三、拓展命令模式

    一、打开文件

    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页尾 整行移动(光标所在行) zt 顶 zz中 zb底部

    三、拓展命令模式

    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

    最新回复(0)