其他命令模式
可视化模式
在末行有 --VISUAL--
指示,表示在可视化模式
可选择的文本块
v 面向字符, --VISUAL--
V 面向整行,--VISUAL LINE--
Ctrl + v 面向块, --VISUAL BLOCK--
在可视化模式下,可结合移动键使用,如:w ) } 箭头等
选中的文本会突出显示,且可被删除,复制,变更,过滤,搜索,替换等
范例
#在文件每一行的行首插入#,操作步骤如下:
1. 将光标移动到第一行的行首
2. 输入Ctrl + v 进入可视化模式
3. 输入G 跳到最后一行,选中每一行的第一个字符
4. 输入I 切换至插入模式
5. 输入#
6. 按ESC 键退出当前模式
#在指定的块位置插入相同的内容
1. 光标定位到要操作的地方
2. Ctrl + v 进入可视化模式,选取这一列操作多少行
3. 输入I(Shift + i)
4. 输入要插入的内容
5. 按ESC 键
多文件模式
同时编辑多个文件的命令格式
vim FILENAME1,FILENAME2,FILENAME3...
但屏幕同时只能显示一个正在编辑的文件,故需要在多个文件中进行切换,切换的方式如下
#文件切换命令
:next 切换到下一个文件
:prev 切换到上一个文件
:first 切换到第一个文件
:last 切换到最后一个文件
#保存退出
:wall 保存所有
:qall 不保存退出
:wqall 保存并退出所有
多窗口模式
分屏(默认为多文件)的命令格式
vim -o|-O FILE1 FILE2...
参数选项说明:
-o 水平或上下分割
-O 垂直或左右分割
#屏幕切换的命令
Ctrl + w
#单文件分屏屏幕切换的命令
Ctrl + w + s split,水平分割,上下分屏
Ctrl + w + v vertical,垂直分割,左右分屏
Ctrl + w + q 取消相邻窗口
Ctrl + w + o 取消全部窗口
#保存退出
:wqall 保存所有并退出
vim的寄存器
在使用vim 过程中,复制粘帖时,是将内容存放到寄存器中,该寄存器属于匿名寄存器。除此之外还有26个命令寄存器和1个无名寄存器,常存放不同的剪贴板内容,可在同一个主机的不同会话(终端窗口)间共享
寄存器名称a,b,…z 格式:"寄存器
放在数字和命令之间
范例
3"tty 复制3行到t 寄存器中,末行显示【3 lines yanked into "t】
"tp 将t 寄存器内容粘帖
未指定,将使用无命名寄存器
有10个数字寄存器,用0,1,…9 表示,0存放最近复制内容,1存放最近删除内容。当性的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享
标记和宏
ma 将当前位置标记为a,26个字母均可做标记,mb,mc等
'a 跳转到a 标记的位置,实用的文档内标记方法,文档中跳跃编辑时很有用
qa 录制宏a,a 为宏的名称,末行提示:recording @a
q 停止录制宏
@a 执行宏a
@@ 重新执行上次执行的宏
编辑二进制文件
#1.以二进制方式打开文件
vim -b binaryfile
#2.扩展命令(末行命令)模式下,利用xxd 命令转换为可读的十六进制
:%!xxd
#3.切换至插入模式下,编辑二进制文件
#4.切换至扩展命令(末行命令)模式下,利用xxd命令转换回二进制
:%!xxd -r
#保存退出