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.bak3.比较两个文件:
[root@CentOS7 data]# vim -d passwd.bak test.txt2 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/issue7.另存为 w 文件名
:w passold.bak8.不退出vim情况执行命令:!命令
:! ls /boot/
9.把命令结果放入vim文件中,结果插入到光标所在行的下一行:r! 命令
:r! hostname10.地址定界(跳转) : N 跳转到第N行 :N + M 从N行到M行 .当前行 $最后一行 %全文=1,$
11.查找替换-区分大小写
:s 分隔符 要查找内容 分隔符 替换为的内容 分隔符全局搜索:%s分隔符 要查找内容 分隔符 替换为的内容 分隔符
替换光标所在行查找到的内容:s #roo#admin# 如果光标所在行未找到关键词则报错提示 目标:替换所有查找到的内容 实际:仍然是替换光标所在行,需要加全局搜索%s :s#root#admin#g
:%s#root#admin#g12.多窗口 (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