vim的visual模式
在可视化模式下,可以对一个文本块的整体进行操作。例如,首先高亮选中一部分文本,然后用d命令删除这个文本块。可视化模式的好处在于,你可以在做改动之前,就看到操作将影响的文本。可视化模式可以分为以下三种:
- 用
v命令进入的字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。 - 用
V命令进入的行可视化模式(Linewise visual mode)。文本选择是以行为单位的。 - 用
ctrl-V进入的块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。(注意:在Windows中,ctrl-V可能已经被影射为粘贴操作,可以使用ctrl-Q进入块可视化模式。)
切换可视化模式
通过输入相应的可视化命令,就可以切换到不同的可视化模式。例如现在字符可视化模式下,如果想要切换到块可视化模式,那么只需要输入ctrl-V即可。当然,我们也可以先用ESC关闭当前的可视化模式,然后再进入其它可视化模式。
在可视化模式下选择
使用命令v进入字符可视化模式。在此模式下,用命令移动光标,光标起始位置和当前位置之间的文本将会以高亮显示。这时就可以对这些高亮显示的文本进行整体的操作。例如:在字符可视化模式中,首先用6l命令选中光标右侧的6个字符,然后输入d命令删除高亮显示的文本。

使用命令V进入行可视化模式。在此模式下,我们使用2j命令,就可以选中当前行及其随后2行。

使用命令ctrl-Q进入块可视化模式。在此模式下,我们使用2l命令向右移动,然后使用3j命令向下移动,就可以选中4行2列的文本块。

命令gv可以重复前一次可视化模式时选中的文本。如果已经在可视化模式下,执行该命令会选中前一次选择的文本。如果重复行执gv命令,就会在当前选中的文本和前一次选中的文本之间进行切换。
在可视化模式下移动
如果你已经在可视化模式下选择了若干文本,并且希望移动到已选择文本的另一结尾处,那么可以使用o命令。

如果你使用的是块可视化模式,那么已选择的区域将有四个角落。o命令只能移动到对面的一个角落,这时你可以使用O命令移动到同一行的另一个角落。

在可视化模式下编辑
在可视化模式下,我们可以进行各种编辑操作。如d命令可以删除高亮显示的文本,而D命令则会删除一行,即使这一行中只有部分文本是高亮显示的。类似的,y命令将复制高亮显示的文本,而Y命令会复制整行。c命令可以将高亮显示的文本删除并进入编辑模式,而C命令会删除一行文本并进入编辑状态。
针对高亮显示的文本块,我们可以用命令~进行大小写转换。用命令>增加缩进,或用命令<减少缩进。
我们还可以利用可视化模式,来合并多行文本。J命令可以将高亮显示的文本内容合并为一行,同时以空格来分隔各行。如果不希望在行间插入空格,那么可以使用gJ命令。
使用g?命令,可以使用rot 13算法来加密高亮显示的文本。针对同一个文本再次执行加密命令,就可以进行文本解密。
在可视化模式下,按下:键就可以对选定范围进行操作。例如:我们先在可视化模式下选中文本,然后执行:write block.txt命令,就可以将文本块写入另一文件中。选择多行,然后执行:sort命令,则可以对选中的文本进行排序。
如果想要查看可视化相关的帮助信息,可以在所希望帮助的名称前加v_前缀。例如使用:help v_d命令,可以得到关于在可视模式下进行删除操作的帮助信息。
退出可视化模式
当我们想要退出可视化模式时,可以按ESC键或ctrl+c键。
v |
进入字符可视化模式 |
V |
进入行可视化模式 |
ctrl-V |
进入块可视化模式 |
ctrl-Q |
|
gv |
选中前一次可视化模式时选择的文本 |
o |
光标移动到选中文本的另一结尾 |
O |
光标移动到选中文本的另一角落 |
vim的visual模式的更多相关文章
- vim insert VISUAL模式无法右键复制问题(转)
转自:https://blog.csdn.net/coder_oyang/article/details/89096219 vim中使用鼠标右键粘贴,失败.vim的模式: 网上解法: 1. 普通模式下 ...
- vim 可视化模式(visual模式)
转文章 为了便于选取文本,VIM 引入了可视(Visual)模式. 要选取一段文本,首先将光标移到段首,在普通模式下按 v 进入可视模式,然后把光标移到段末. 需要注意,光标所在字符是包含在选区中的 ...
- vim的visual可视模式(转载)
转自:http://www.cnblogs.com/chenyadong/archive/2011/08/30/2159809.html 为了便于选取文本,VIM 引入了可视(Visual)模式.要选 ...
- docker vim右键进入visual模式无法粘贴
右键不能粘贴,反而进入了visual模式, vim版本:version 8.0.707 修改方法: vim /usr/share/vim/vim80/defaults.vim 第70行 在mouse= ...
- vim visual模式 复制
按ESC再按“V”,进入visual模式 用键盘向左向右箭头选中要复制的文字,按两下"Y"键 再到要粘贴的地方,按“P”键即可. 转自: http://jingyan.baidu. ...
- 菜鸟vimer成长记——第2.2章、visual模式
vi是没有可视模式的.然而大多数编辑软件都都是有可视模式.所以我猜测vim是几乎迫于无奈才有了visual模式. 个人建议,能不用就不用.这样能直接在头脑里处理好文本,锻炼文本处理能力,同时能转变过来 ...
- 【vim】插入模式与常用编辑操作
vim不像很多编辑器那样一启动便可以直接编辑文本,需要在普通模式按下i, a等键才会进入插入模式进行文本编辑. 如何进入插入模式 以下的命令都会让vim从普通模式切换到插入模式,但命令执行后的字符插入 ...
- VS下使用VIM, Visual Studio 安装 VSvim插件 配置 及使用
简介 VIM是一款很高效的编辑工具,所幸的是VS2012以后支持VIM的插件:VsVim.下面介绍插件的安装.配置及简单使用. 1. 下载安装 去官网下载,双击直接安装后,重新打开VS. https: ...
- vi中使用鼠标右键插入时进入(insert)visual模式
使用vim插入外面复制的内容时,用右键点击后,并未将内容粘贴进去,而是进入了(insert)visual模式,解决方法:先shift+enter进入普通模式输入 set mouse-=a然后再i进入i ...
随机推荐
- JAVA学习3:Eclipse中集成Tomcat
问题: 很多时候在Eclipse中启动Tmocat后,不能访问本机的localhost:8080主页,并且其他项目也不能访问. 原因: 打开Tomcat下的webapp后也找补到项目目录,这是因为Ec ...
- Robot Framework环境搭建(问题总结)
Robot Framework+python+wxpython+robotframework-ride+library环境搭建问题总结 因为robotframework的兼容性问题要求很严格,小编在环 ...
- 微服务~Consul服务注册与发现
服务发现是基于微服务架构的关键原则之一.尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱.Consul通过HTTP API和DNS提供服务发现服务.Spring Cloud Consul利 ...
- 转 shell中$(( )) 与 $( ) 还有${ }的区别
原文 http://blog.zol.com.cn/2322/article_2321763.html $( ) 与 ` ` (反引号)在 bash shell 中,$( ) 与 ` ` (反引号) ...
- js需要清楚的内存模型
原型 原型重写 原型继承 组合方式实现继承 函数作用域链
- Android JPush极光推送应用
JPush纠结了5-6个小时,一直报下面的错误,纠结! [AndroidUtil] AndroidManifest.xml missing required intent filter for Pus ...
- unity下载资源存储-生成md5
IEnumerator GetText() { using (UnityWebRequest request = UnityWebRequest.Get("localhost:80/txt/ ...
- 【c++】iostreeam中的类为何不可以直接定义一个无参对象呢
缘起 #include <iostream> #include <fstream> #include <sstream> using namespace std; ...
- Java入门系列-13-String 和 StringBuffer
这篇文章带你学会字符串的日常操作 String类 字符串在日常生活中无处不在,所以掌握字符串的使用至关重要. 使用 String 对象存储字符串,String 类位于 java.lang 包中,jav ...
- sublime text 3 PHP 所需插件
1. PHP代码语法验证插件:SublimeLinter 2.Bracket Highlighter 用于匹配括号,引号和html标签.对于很长的代码很有用.安装好之后,不需要设置插件会自动生效 3. ...