转文章

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

v 进入字符可视化模式
V 进入行可视化模式
Ctrl+v 进入块可视化模式

块选择 Ctrl+v

在表格中删除指定列非常有用

用 v 命令进入的字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。

用 V 命令进入的行可视化模式(Linewise visual mode)。文本选择是以行为单位的。

用 ctrl-V 进入的块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。

选择:
选中{}中间的内容,不包括{}
va{ 选中{}中间内容,包括{}
选中()中间内容
vi< 选中<>中间内容
vi[ 选中[]中间内容
vit 选中中间的内容
vi” 选中”"中间内容
vi’ 选中”中间的内容、
vis 选中一个句子
vib 选中一个block
viw 选中一个单词
vip 选中一个段落

G 从光标所在处选择到结尾

操作:

这时可以对所选的文本进行一些操作,

常用的(可视模式)命令有:

x或d 剪切(即删除,同时所选的文本进入剪贴板)

y 复制

r字符 所有字符替换为新字符

u U ~ 分别是所有字母变小写、变大写、反转大小写

“>”和“<" 将选中字符右移或左移 shiftwidth位置

当输入了命令以后,VIM 将回到普通模式,这时可以按 p 或 P 进行粘贴。普通模式下有关复制和粘贴的命令:

p或P 在当前位置粘贴剪贴板的内容,p 粘在光标所在字符后面,P 粘在前面。

d 与 D 的区别

d只删除选中的字符,而D删除选中字符所在行的所有字符, c 和 C , y 和 Y 同理

我们还可以利用可视化模式,来合并多行文本。 J 命令可以将高亮显示的文本内容合并为一行,同时以空格来分隔各行。如果不希望在行间插入空格,那么可以使用 gJ 命令。

使用 g? 命令,可以使用rot 13算法来加密高亮显示的文本。针对同一个文本再次执行加密命令,就可以进行文本解密。

在可视化模式下,按下 : 键就可以对选定范围进行操作。例如:我们先在可视化模式下选中文本,然后执行 :write block.txt 命令,就可以将文本块写入另一文件中。选择多行,然后执行 :sort 命令,则可以对选中的文本进行排序。

查看Visual Mode下的命令

:help v_, 例如使用 :help v_d 命令,可以得到关于在可视模式下进行删除操作的帮助信息。

vim 可视化模式(visual模式)的更多相关文章

  1. docker vim右键进入visual模式无法粘贴

    右键不能粘贴,反而进入了visual模式, vim版本:version 8.0.707 修改方法: vim /usr/share/vim/vim80/defaults.vim 第70行 在mouse= ...

  2. vim visual模式 复制

    按ESC再按“V”,进入visual模式 用键盘向左向右箭头选中要复制的文字,按两下"Y"键 再到要粘贴的地方,按“P”键即可. 转自: http://jingyan.baidu. ...

  3. 技巧:Vim 的纵向编辑模式【转】

    转自:https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/ 张 曜民 和 卢 丹2011 年 2 月 18 日发布 WeiboGoog ...

  4. 技巧:Vim 的纵向编辑模式

    https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/ 开始之前 人类大脑对文字的处理是平面式的,所以我们浏览文章.查找资料或者重构代码 ...

  5. 【转载】技巧:Vim 的纵向编辑模式

    如果要我选一个Vim中让我觉得Life Changing功能的话,我一定会选Vim的块编辑功能,也就是Ctrl+V,虽然还有些别的编辑器也有这功能,但目前为止,我从中受益颇大 原文地址:技巧:Vim ...

  6. 菜鸟vimer成长记——第2.2章、visual模式

    vi是没有可视模式的.然而大多数编辑软件都都是有可视模式.所以我猜测vim是几乎迫于无奈才有了visual模式. 个人建议,能不用就不用.这样能直接在头脑里处理好文本,锻炼文本处理能力,同时能转变过来 ...

  7. vi中使用鼠标右键插入时进入(insert)visual模式

    使用vim插入外面复制的内容时,用右键点击后,并未将内容粘贴进去,而是进入了(insert)visual模式,解决方法:先shift+enter进入普通模式输入 set mouse-=a然后再i进入i ...

  8. 逐步搭建Lamp环境之vim的三种模式以及基本命令

    在Linux中vim的三种模式分别为:命令模式.末行模式.编辑模式.以下是三者的关系图: 三种模式的彼此切换: 命令模式是vim中的默认模式. 命令模式切换至末行模式: 使用英文冒号(:). 末行模式 ...

  9. vim 的编辑模式 命令模式

    1.vim的编辑模式    进入编辑模式 按键: a  i  o a: 表示在光标当前的,后面开始插入,写数据 i : 则表示 前面 . o : 表面在光标当前的,下一行开始写入数据. O : 大写的 ...

随机推荐

  1. 【Java】SAX解析characters 错误截取问题的解决

    SAX解析characters 错误截取问题的解决 SAX characters bug_百度搜索 SAX解析characters 错误截取问题的解决 - CSDN博客 [Android]SAX解析之 ...

  2. Ubuntu14设置静态IP的地方

    sudo vim /etc/network/interfaces 修改如下部分: auto eth0iface eth0 inet staticaddress 192.168.0.117gateway ...

  3. CHtmlEditCtrl(1) : Use CHtmlEditCtrl to Create a Simple HTML Editor

    I needed a lightweight HTML editor to generate "rich text" emails, so I decided to explore ...

  4. 结构体指针之 段错误 具体解释(segmentation fault)

    一个网友问了我一个问题.一个C程序执行出现了段错误,这个问题非常好.非常多刚開始学习的人都easy犯这个错误,详细代码例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3 ...

  5. C++中public、protected、private的差别

    第一: private,public,protected的訪问范围:   private: 仅仅能由该类中的函数.其友元函数訪问,不能被不论什么其它訪问.该类的对象也不能訪问. protected: ...

  6. 用javascript请求动态页url返回更新

    例如我们用Ajax请求一个动态页返回的信息,或一个图片验证码请求一个*.ashx页面,第一次请求没问题,而第二次请求时,不变化,为啥? 因为第二次及以后请求的url与第一次是一样的,所以服务器(或是浏 ...

  7. WCF服务引用之后自动生成的泛型代理类名称太长的解决方案

    问题:WCF服务引用之后会将原来的泛型类自动生成一个代理类,但是有时候名称太长怎么办? 解决方案: 1.方案一: 调用客户端同样也引用这个泛型类的类库. 2.方案二: 找到这个泛型类,然后在上面的[D ...

  8. 跟我学AngularJS:全局变量设置之value vs constant vs rootscope vs 服务[转]

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文要讲讲Angular中value vs. constant以及全局变量的设置 本教程 ...

  9. TQ2440与西门子S7-200 PLC自由口通信实现过程中问题总结

    1.在win7上安装好PLC编程软件 STEP 7 MicroWIN 之后,无法实现编程软件与PLC的通信连接? 原因:STEP 7 MicroWIN 对win7支持不是很好 解决办法:在win7中安 ...

  10. Spring 基础概念——DI、IOC(一)

    一.IOC 控制反转 package com.qunar.studyspring.bean; import com.qunar.studyspring.dao.PersonDao; import co ...