精华内容
下载资源
问答
  • Vim 可视模式.pdf

    2021-08-26 16:43:35
    Vim 可视模式.pdf
  • VIM:正常模式、插入模式、命令模式、可视模式

    写在前面

    退出VIM

    指令描述
    :q直接退出(无更改)
    :wq保存退出
    :q!放弃修改,强行退出

    后台运行VIM

    后台运行:ctrl + z
    切换到前台fg [num]
    num为后台运行编号,不写默认为最后一个后台运行的vim

    模式

    模式英文名描述
    命令模式command-mode用于输入指令,如:保存、运行、切换标签、切割屏幕等
    插入模式insert-mode也即编辑模式,用于编辑文本
    可视模式visual-mode相当于高亮选取文本后的正常模式
    正常模式normal-mode用于查看文本,也可复制、粘贴、撤销、重做等

    这里写图片描述

    其它模式=>正常模式

    esc

    正常模式=>插入模式

    指令描述
    a光标所在下一个位置插入
    A光标所在行末尾插入
    s删除光标所在字符并插入
    S删除光标所在行并插入
    o光标所在下一行插入
    O光标所在上一行插入
    i光标所在位置插入
    I光标所在行首插入
    R光标所在位置替换
    cw删除光标所在位置到单词末尾并插入
    ch(c+左箭头)删除上一个字符插入
    cj(c+下箭头)删除当前行和下一行插入
    ck(c+上箭头)删除当前行和上一行插入
    cl(c+右箭头)删除下一个字符插入
    其它未尽指令其它

    正常模式=>命令模式

    :

    正常模式=>可视模式

    指令描述
    v可视模式
    ctrl+v可视块模式
    shift+v可视行模式

    可视块模式有一个我非常喜欢的使用方式:多选注释
    加注释
    - 光标置于行首
    - ctrl + v,进入可视块模式
    - 移动光标,选中的位置会有高亮显示
    - shift + i,进入 insert 模式
    - 输入//
    - esc
    解注释
    - 光标置于行首
    - ctrl + v,进入可视块模式
    - 移动光标,选中的位置会有高亮显示
    - 按d

    展开全文
  • Vim 可视模式

    2017-11-07 21:43:29
    v 符号可视模式V 行可视模式Ctrl-V列可视模式插入文本"I{string}<Esc> # 在选中的每一行前统一插入 "A{string}<Esc> # 在选中的每一行尾统一插入 "{string}<Esc> # 在选中列中统一插入,如果没有字符则忽略修改文本...

    v 符号可视模式

    V 行可视模式

    Ctrl-V列可视模式

    插入文本

    "I{string}<Esc> # 在选中的每一行前统一插入
    "A{string}<Esc> # 在选中的每一行尾统一插入
    "{string}<Esc> # 在选中列中统一插入,如果没有字符则忽略

    修改文本

    "c{string}<Esc> # 在选中列中统一修改,如果没有字符则忽略
    展开全文
  • Vim技巧之四大模式_可视模式

    万次阅读 多人点赞 2015-07-20 00:15:02
    Vim技巧之四大模式_可视模式 什么是可视模式 如何选中一块区域 如何快速选中目标区域 如何重复选择目标区域 如何在选中中切换选择模式 如何对选中的区域进行操作 可视命令的重复 最好使用操作符命令而不是可视命令...

    Vim技巧之四大模式_可视模式

    在前面的两篇文章《Vim技巧之四大模式_插入模式》《 Vim技巧之四大模式_普通模式》我们已经介绍了插入模式普通模式里面的技巧,下面我们将继续介绍四大模式之一的可视模式

    什么是可视模式?

    可视模式简单来说就是选中一块编辑区域,然后在上面执行一些操作,比如删除,替换,改变大小写等。

    如何选中一块区域?

    Vim里面有三种激活可视模式,并选择一块区域的方法,他们分别是:

    模式类型激活方式选择效果
    字符文本v(小写)逐个字符选择文本
    行文本V(大写)逐行选择文本
    块文本<C-v>按照块的方式选择文本

    这上面说的什么字符文本行文本块文本指的是什么意思啊?其实就是一种控制选择粒度的方案,字符文本的选择粒度是一个字符,行文本的选择粒度是一行文本,如果你想只选中一行里面的几个连续字符,那么使用行文本就不太适合了,因为行文本的选择粒度是以行为最小单位的,每次最少都要选中一行内容,如果你想选中多行文本,那么使用字符文本明显是不合适的,因为太低效了。而块文本就是功能最强大的选择模式了,它可以完全无视行的存在,可以在文本中按照需要的区域自由选择。

    举个栗子:注意左下角的不同选择模式的提示

    字符文本的选择,移动到H,点击v开始选择,我们选中Hello World这几个字符

    Alt text


    行文本的选择,点击V开始,我们选中头两行文本

    Alt text


    块文本的选择,点击<C-v>开始,我们选中一块文本

    Alt text

    如何快速选中目标区域

    我们在普通模式博客中已经介绍了许多快速移动光标的命令,比如h,j,k,l,可以在四个方向移动光标,也可以用f{char}来跳转到某个字符上面,之后再用;,来重复跳转,或者用查找命令/target来进行光标的快速移动,再用n/N进行重复,还有许多这样的移动光标的命令,幸运的是,在可视模式下面,这些快速移动光标的命令我们都可以用

    举个栗子:

    比如在下面的栗子里面,我们要从25行字符c开始,一直选中直到行尾

    首先点击v切换到字符模式,键入fc,接着可以直接按$,这时光标会跳到行尾,字符c到行尾之间的内容就被选中了

    Alt text


    如果我们要选择Hello World这个字符串呢?

    我们可以直接fH,然后vi"就可以选中双引号"里面的内容了

    Alt text

    这样的用法还有很多,读者可以自我领会

    大家有没有发现在使用可视模式的时候,一旦切换到可视模式以后,选中的区域是由两个端点来界定的(一个在左上角,一个在右下角),我们在默认情况下只可以控制右下角的端点,但是有些时候发现我们需要调整左上角的端点,这时我们可以使用o按键来在左上角和右下角之间进行切换。

    举个栗子:

    假如我们在块选择模式下面已经选中了下面的区域

    Alt text

    现在我们需要将选择区域向左再扩充一点,可以点击o按键,再用移动光标的命令进行移动

    Alt text

    如何重复选择目标区域

    我们可以使用gv命令来重新选中之前可视模式选中的目标区域,但是如果之前的选中的区域文本被删除,那么gv命令就会表现的有点神经了

    举个栗子:

    假如我们选中字符串"Hello World",然后再将"Hello World"删除,如果我们再次调用gv命令,那么选中的区域不再是之前的"Hello World",而是相同字符宽度的内容

    Alt text

    删除"Hello World"gv选中的区域

    Alt text

    不仅如此,就算这行文本的列数有所偏移,比如将文本多缩进了几行,再次gv发现也是不对的

    Alt text

    所以,博主个人估计Vim底层的实现可能是记住目标区域的起始行和行数起始列和列数,键入gv以后就根据之前保存行列信息进行还原

    于是博主再次做实验,将上下两行进行调换,再次gv

    Alt text

    发现和预期的一样。

    如何在选中中切换选择模式

    可视模式有一个好处就是我们可以在三种选择模式之间进行随意的切换,比如在行文本模式下面希望进行更加细粒度的选择,我们可以直接按v切换到字符模式,同理可以得到在某一选择模式中切换到任意其他两种模式的方法。博主不再这里赘述

    如何对选中的区域进行操作?

    我们选中一块区域,最直接的目的就是对这块区域进行操作,比如删除,调换大小写,改变文本等等。那么要如何对选中的区域进行操作呢?在文章的上一节中我们提到可以在可视模式中使用普通模式的跳转命令,没错,在可视模式中也可以使用普通模式模式下的修改命令。

    命令命令效果
    d删除选中文本
    c修改选中文本
    r替换选中文本
    I在选中文本前插入
    A在选中文本后插入
    gu选中区域转为小写
    gU选中区域转为大写
    g~大小写互调
    >向右缩进一个单位
    <向左缩进一个单位

    比较常用的就是上面的几个。

    下面我们来举几个栗子:

    栗子一:

    假设现在我们有下面一个C++文件

    Alt text

    main函数的头三行代码忘了加;号了,现在我们要用可视模式为这三行代码加上分号

    首先<C-v>开启块选择模式,然后点击jj$号选择到行末尾,选中区域如下所示

    Alt text

    再用A在选中的区域后面添加文本;,虽然在编辑的过程中只有一行文本看上去添加了分号,如下图
    Alt text

    但是只用按下<Esc>,剩下的其余选中行也会自动添加分号,这里与其他编辑器稍有不同,新手应注意

    Alt text


    栗子二:

    下面是一个打开四个文件标识符的栗子

    Alt text

    如果我们已经将四个文件file1,file2,file3,file4移动到了新的目录/tmp/fileDir里面,于是我们要将testDir目录改为fileDir目录

    <C-v>进入块选择模式,并选中testDir区域,如下图

    Alt text

    点击c对选中区域进行替换,并输入fileDir

    Alt text

    跟之前的栗子一样,只有一行文本发生改变,点击<Esc>使改变作用于全部选中区域

    Alt text

    可视命令的重复

    说到重复,首先想到的肯定是.命令啦,可是这个重复命令可不一般,首先来看几个栗子:

    字符文本模式栗子:

    首先在字符文本模式下选中27行的open单词,并用g~命令来将open转为大写

    Alt text

    注意这里我们选中的是四个字符,之后我们将光标向右移动几位,移动到单词fileDir的开头,我们点击.重复上一个可视命令

    得到下面的结果:

    Alt text

    我们惊奇的发现OPEN并没有转为预期的转为小写,而是fileDir的前四个字符变成了大写


    行文本模式栗子:

    V27行选中,并用g~进行大小写转换

    Alt text

    现在跳转到31行,单击.重复命令

    Alt text

    发现31行的全部文本全都进行大小写互换


    块文本模式栗子:

    点击<C-v>进入块文本选择模式,随便选中一块区域,如下图

    Alt text

    g~进行大小写互换

    Alt text

    现在我们将光标下移一行,并将光标移到图示位置

    Alt text

    此时点击.,发现有下面的效果

    Alt text

    我们发现从光标开始的右下角的一个矩形范围被调换了大小写,该矩形范围的大小与上次可视模式选中的区域大小一样

    于是博主总结了一下,不同的选择模式有不同的重复效果

    选择模式重复效果
    字符文本选择模式(Visual)从当前光标开始,作用范围是上次操作的字符数
    行文本选择模式(Visual line)从当前行开始,作用范围是上次操作的行数
    块文本选择模式(Visual Block)从当前光标开始,作用范围是以当前光标为左上端点的上次操作的块范围

    最好使用操作符命令而不是可视命令

    为什么这么讲呢?比如在字符文本选择模式里面,如果我们要进行重复,那么重复的范围是通过上一次操作的字符数决定的,其中与上一次操作相同的字符数就是一个很大的限制条件,必须这次操作的字符数与上次操作的字符数相同我们才可以放心的使用重复操作。

    举个栗子:

    我们要将27-29printf打印的内容全都转为大写

    Alt text

    27行,我们采用vi"选中引号内的东西,U将选中的内容转化为大写

    如果我们下移一行,用.重复上次操作,得到

    Alt text

    发现只作用了前两个字符,后面的llo还是小写

    不能重复上次的操作,难道还需要手动再来一遍?其实并不需要,我们只用使用普通模式下面的操作符命令就可以啦

    上面的栗子我们可以用操作符命令更好的实现需求

    使用gUi",将"内的内容转化为大写,然后j.就可以重复上一行的操作啦

    Alt text

    展开全文
  • vim可视模式&块操作

    2020-07-20 15:10:39
    一、三种进入可视模式的方法 1、按小写v进入可视模式,可以按单个字符选择内容,移动光标选择 2、按大写V进入可视模式,立刻选中光标所在行,按单行符选择内容,移动光标可以选择 3、按Ctrl+V进入可视模式中的列块...

    一、三种进入可视模式的方法

    1、按小写v进入可视模式,可以按单个字符选择内容,移动光标选择

    在这里插入图片描述

    2、按大写V进入可视模式,立刻选中光标所在行,按单行符选择内容,移动光标可以选择

    在这里插入图片描述

    3、按Ctrl+V进入可视模式中的列块模式,可以在列方向上选择单个字符,移动光标可以选择

    在这里插入图片描述
    启动列块模式后,进行某操作时就相当于对选中的块中的所有行都进行操作,例如在上图选中的每一行mkdir后插入//
    在这里插入图片描述
    过程是先选中,然后按I进入insert模式,添加//之后按esc

    展开全文
  • vim你不知道的可视模式

    千次阅读 2019-05-30 00:37:12
    这篇文章主要是围绕Vim的可视模式写的,当然也有一些自己总结的vim操作。 1、如何进入可视模式? ​ 对于其他模式,大家都应该很熟悉 但是,我感觉对命令行模式里面的可视化模式是我不太关注的。 今天主要围绕这...
  • 可视模式 1、可视模式命令简介 在普通模式下输入 v(小写),进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下v后就会取消选取。 在普通模式下输入 Shift+v(小写),进入行选择模式,按下...
  • imenu.vim:用于在可视模式下创建菜单的插件
  • 可视模式 技巧20 深入理解可视模式 “选区”操作 ​ Vim的可视模式允许我们在自己选中的一个文本区域上进行操作,普通模式中的许多操作命令都可以在可视模式中生效,但是也存在一些操作上的细微变化。插入模式中有...
  • [VIM]可视模式下的几个命令

    千次阅读 2015-08-14 19:10:18
    [VIM]可视模式下的几个命令 Vim的可视模式允许我们选中一块文本区域 并在其上操作。 Vim 有三个可视模式,分别用于操作字符文本,行文本和块文本。 在可视模式下,很多普通模式的命令也完成相同的功能。 ...
  • VI 基本可视模式

    千次阅读 2012-09-12 12:30:47
    可视模式让你可以选择文件的一部分内容,以便作比如删除,复制等工作。 进入可视模式 v 用v命令进入可视模式。当光标移动时,就能看到有一些文本被高亮显示了,它们就是被选中的内容。 三种可视模式 v 一个...
  • 可视模式 按方向键也可以实现选中: 文本模式编辑 AIOS aios 末行模式 跳转到第10行 替换当前行的字符串 :s/tom/jack/g 替换所有的目标字符串 :%s/tom/jack/g #不加/g将只会替换每行的第一个字符串 只替换...
  • 然后再次进入可视模式选中一个单词hello按下p进行替换.可是下次再选中一个单词按下p时候怎么粘贴出来的是hello啊.. 例子: 1.i have a dream 2.look deam 3.good deem 我在可视模式下复制了第一行的dream .然后在可视...
  • 通过动作,文本对象或可视模式轻松更改单词大小写。 该插件的主要灵感来自Tim Pope的 ,旨在改善其外壳功能,以更好地与Vim的编辑理念融合。 目录 安装 您最喜欢的插件管理器都可以安装vim-caser 。 无论是病原菌...
  • VIM可视模式插入一列

    千次阅读 2015-05-12 23:21:30
    按键CTRL-V进入可视模式 选择一列 按键I(shift + i) 输入要插入的字符 按键ESC 一列被插入
  • linux vim的可视模式

    2011-04-21 10:37:36
    vim 工具我们大家用的都很多,写...就是他的可视模式。。。 先抓两个图 给大家 1.所有行前面都有注释 2.进入可视模式选中头行 3.按d键删除 esc保存 怎么样 这个可视模式是不是很不错 很过瘾? ...
  • 在vim的命令行中输入:help mouse 就可以找到答案,查看鼠标的配置方案...vi的三种模式:命令模式,插入模式,可视模式.鼠标可以用于启动各种模式: The mouse can be enabled for different modes: n Normal mode v Vis...
  • Vim (五) 三种可视模式

    千次阅读 2015-01-18 11:29:29
    Vim 有三种可视模式,面向字符的,面向行的,和面向列块的。 可视模式的作用,是让我们选中一块区域,并且在该区域上进行操作。
  • vim真正的高阶用法(可视模式,末行模式,编辑模式) vim作为一个强大的,可靠性,效率性极高的文本编辑器,深受使用Linux系统的用户的喜欢,可以毫不夸张的说,不会使用vim文本编辑器,纵使sed,awk,grep三剑客...
  • 配置好vim后,打开一个文件,鼠标选中文本时,选中的内容变成可视模式可视模式,不能将选中内容复制到剪切板 2、解决方法 在用户根目录下,打开 .vimrc ~$ vi .vimrc 将set mouse=a 删除或注释掉 3、我的...
  • vim-visual-increment:visual-increment.vim-使用CTRL + AX通过可视模式创建数字或字母的递增序列
  • 1. 进入可视模式的方法 (1)处理列,将光标移动到想要修改的列(的开始或终止区域),ctrl + v,与行的位置无关, (2)处理行,将光标移动到想要修改的行(的开始或终止区域),shift + v,与列的位置无关。 2. ...
  • Vim中的可视模式以及其在 emacs evil中的等效方式一直是我高频使用的一个功能,如果后期决定使用VS Code来作为我自己最主要使用的编辑器,那么这个功能还是得找到一个替代的功能。  正好,最初的文档中就介绍了...
  • vim之插入模式与可视模式(五)

    千次阅读 2018-05-30 22:54:49
    进入插入模式
  • vim可视模式下快速批量的添加注释

    千次阅读 2019-08-17 19:42:07
    有时间我们在工作中碰到需要批量化的为配置文件添加注释,如果一行一行的添加很费时费力,但是我们可以利用vim编辑器的可视模式下快速的实现批量化的添加注释。 我这里以/etc/passwd 文件为例子演示快速在行首...
  • vim基本可视模式

    千次阅读 2013-01-29 16:25:30
    Visual模式 v 与V的区别。 v从当前字符开始选,以后每次选中一行,但第一次选择的是从当前字符开始的行。而V从当前行开始选择,直到光标结束之处。 块选择Ctrl+v 在表格中删除指定列非常有用 查看Visual Mode下...
  • vim可视模式,块功能

    千次阅读 2012-08-19 22:56:25
     以前觉得vim的visual模式根本就没什么用。那是因为我根本就没用过。随着使用vim的时间越来越长,产生了很多想法,很多想用命令实现的都实现不了。下面结合块使用,可以使编辑变得简单很多。  今天发现的vim ...
  • 网上找了好久,终于在https://www.jianshu.com/p/80d4f25d47d1找到解决方法,怕万一以后找不到了,这里记录一下。 解决方法 编辑 vim 的默认配置文件 vim /usr/share/vim/vim80/defaults.vim ...
  • 命令模式:n跳转进入2.txt :n!=>强制转换不保存 进入vim后,打开新文件 命令行模式下: 命令 说明 :e 3.txt 打开新文件3.txt :e! 4.txt 新打开4.txt,放弃正在编写的文件 :e# 打开前一个文件 :ls 列出以前编

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 230,511
精华内容 92,204
关键字:

可视模式