相信大家都使用过带图形界面的操作系统中的文字编辑器,用户可以使用鼠标来选择要操作的文本,非常方便。在 Vim 编辑器中也有类似的功能,但不是通过鼠标,而是通过键盘来选择要操作的文本。

在 Vim 中,如果想选中目标文本,就需要调整 Vim 进入可视化模式,如表 1 所示,通过在 Vim 命令模式下键入不同的键,可以进入不同的可视化模式。

命令 功能
v(小写) 又称字符可视化模式,此模式下目标文本的选择是以字符为单位的,也就是说,该模式下要一个字符一个字符的选中要操作的文本。
V(大写) 又称行可视化模式,此模式化目标文本的选择是以行为单位的,也就是说,该模式化可以一行一行的选中要操作的文本。
Ctrl+v(组合键) 又称块可视化模式,该模式下可以选中文本中的一个矩形区域作为目标文本,以按下 Ctrl+v 位置作为矩形的一角,光标移动的终点位置作为它的对角。

以字符可视化模式为例,Vim 成功进入该模式的标志是窗口底部出现 --VISUAL-- 标志,如图 2 所示。



图 2 Vim成功进入字符可视化模式

相应地,进入行可视化模式的标志是图 2 标记处显示 --VISUAL LINE--;进入块可视化模式的标志是图 2 标记处显示 --VISUAL BLOCK--。

需要注意的是,当选中文本并做完相应操作(例如选中文件并按 p 键将其复制到剪贴板中)后,Vim 会自动从可视化模式转换为命令模式。当然,也可以再次按 v(或者 V、Ctrl+v)手动退出可视化模式。

另外值得一提的是,之前所学的在 Vim 命令模式下编辑文本的很多命令,在可视化模式下仍然可以使用。表 3 中罗列出了常用的几个可以在可视化模式下使用的命令。

命令 功能
d 删除选中的部分文本。
D 删除选中部分所在的行,和 d 不同之处在于,即使选中文本中有些字符所在的行没有都选中,删除时也会一并删除。
y 将选中部分复制到剪贴板中。
p(小写) 将剪贴板中的内容粘贴到光标之后。
P(大写) 将剪贴板中的内容粘贴到光标之前。
u(小写) 将选中部分中的大写字符全部改为小写字符。
U(大写) 将选中部分中的小写字符全部改为大写字符。
> 将选中部分右移(缩进)一个 tab 键规定的长度(CentOS 6.x 中,一个tab键默认相当于 8 个空白字符的长度)。
< 将选中部分左移一个 tab 键规定的长度(CentOS 6.x 中,一个tab键默认相当于 8 个空白字符的长度)。

5.7 Linux Vim可视化模式的更多相关文章

  1. vim 可视化模式(visual模式)

    转文章 为了便于选取文本,VIM 引入了可视(Visual)模式. 要选取一段文本,首先将光标移到段首,在普通模式下按 v 进入可视模式,然后把光标移到段末. 需要注意,光标所在字符是包含在选区中的 ...

  2. vim可视化模式

    进入:v 移动光标选中 c剪切.y复制(自动退出v模式,进入插入模式) p粘贴

  3. vim可视化&Linux系统安全最小化原则& su & sudo

    一.vim在可视化模式下编辑 crl+v,会变成-- VISUAL BLOCK --,然后用上下左右键去选中. 多行注释: ESC进入命令行模式; Ctrl+v进入VISUAL BLOCK模式 上下左 ...

  4. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  5. linux vim 基本操作

    (一定要在英文输入法的状态下才有效)vi:实际上linux 上的 vi 不是真正的 vi,而是 vim;纯的 vi只在某些 unix 系统上还存在纯 的vi里面不支持退格键盘了,当按退格键盘以后,不是 ...

  6. linux VIM基本命令

    linux VIM命令: vim 在命令行中输入vim,进入vim编辑器 Esc 退出i(插入)命令进行其他命令使用 :sh 进入shell命令行,运行完命令后ctrl+d退出又一次进入vim编辑继续 ...

  7. Linux的bond模式绑定及模式区别

    [Linux的bond模式配置] 原理: 多块网卡虚拟成一张,实现冗余:多张网卡对外显示一张,具有同一个IP: 工作在网卡是混杂模式的情况下: 对于多物理网卡的 Bond 网卡而言,其中一块物理网卡会 ...

  8. linux磁盘分区模式

    linux磁盘分区模式 模式一:MBR 1)主分区不超过四个 2)单个分区容量最大2TB 模式二:GPT 1)主分区个数"几乎"没有限制(原因:在GPT的分区表中最多可以支持128 ...

  9. VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程

    VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...

  10. Linux vim(4)

    vim相对于vi做了很多的提升: -VIM支持多集撤销 -VIM可以跨平台运行 —VIM支持语法高亮 -VIM支持图形界面 vim三大模式: command mode vi进入时的默认模式 esc进入 ...

随机推荐

  1. SMU Spring 2023 Contest Round 2(待补

    M. Different Billing #include <map> #include <set> #include <cmath> #include <q ...

  2. springcloud经验

    >  码云地址:https://gitee.com/lpxs/lp-springcloud.git >  有问题可以多沟通:136358344@qq.com. 架构演化的步骤 在确定使用S ...

  3. 痞子衡嵌入式:英飞凌MirrorBit工艺NOR Flash的扇区架构设计

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是英飞凌MirrorBit工艺NOR Flash的扇区架构设计. NOR Flash 大家都很熟悉,其内部按组织从小到大分为 Page(12 ...

  4. Python 潮流周刊#65:CSV 有点糟糕(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  5. 掌握Java面向对象OOP篇(一)

    掌握面向对象OOP篇(一) 边学边记 -- OOP(Object Orientated Programing) 1. 为什么要引入面向对象? 原因:封装.继承.多态 举个例子理解面向对象代码的好处: ...

  6. luoguP3330 [ZJOI2011] 看电影--组合数学--高精度

    \(luoguP3330\) [ZJOI2011] 看电影 废了老命想题解 $$luogu$$ $$HZOI$$ 题意 到了难得的假期,小白班上组织大家去看电影.但由于假期里看电影的人太多,很难做到让 ...

  7. java_父类子类

    private 只有自身能访问自身 自身 同包子 不同包子类 同包类 其他类 可以访问 不能继承 不能继承 不能访问 不能访问 package/friendly/default == 不写 自身 同包 ...

  8. Qt 中实现异步散列器

    [写在前面] 在很多工作中,我们需要计算数据或者文件的散列值,例如登录或下载文件. 而在 Qt 中,负责这项工作的类为 QCryptographicHash. 关于 QCryptographicHas ...

  9. webpack笔记-webpack初识与构建工具发展(一)

    为什么需要构建工具? 转换 ES6 语法 转换 JSX CSS 前缀补全/预处理器 压缩混淆 图片压缩 前端构建演变之路 ant + YUI Tool grunt gulp.fis3 webpack. ...

  10. 工具 – Prettier、ESLint、Stylelint

    前言 以前在 Webpack 学习笔记 有稍微介绍过它们.这篇是单独整理版. 参考 一文彻底读懂ESLint 你的ESLint真的需要Prettier吗? 搞懂eslint和prettier等的关系 ...