Questions tagged «visual-mode»

可视模式是为操作员选择一段文本的灵活便捷的方法。

1
选择模式是什么,何时与选择模式相关?
我无意中gh以正常模式按下并开始选择,因此我查找了文档并找到了:h Select-mode。 据我了解,选择模式与视觉模式很接近,除了: 输入一个可打印的字符,<CR>或者<BS>将删除选择,开始插入模式,然后用输入替换选择。 hjkl 其他正常或视觉模式的移动将不会扩展选择范围,除非它们带有前缀 <Shift> <CTRL-O>和<CTRL-G>将切换到视觉模式。 该文档还说明了以下内容,如果我理解正确,则意味着可以进行按行选择,然后按特征进行处理: 在“选择”模式下使用运算符并且选择是按行选择时,将对选定的行进行操作,但与按字符选择一样。例如,当删除整行时,可以稍后将其粘贴到一行的中间。 我有点困惑,因为我不明白为什么要创建此模式:我所看到的就是它不如可视模式方便,并且不提供更多功能。 另外,我所做的所有搜索都给出了在可视模式下进行选择的结果,但不考虑选择模式。 所以我的问题是: 为什么创建选择模式? 与可视模式相比,它有什么优势? 使用选择模式更有趣的用例是什么? MetaNote我不知道哪个标签与此问题相关,请根据需要随时重新标签。

10
如何注释掉在可视模式下选择的一组行?
如何在可视模式下选择多行注释掉?如何使它特定于语言? 例如,如果选择了前四行: def foo(a,b): for each in (a,b): print each return a+b print "2" 命令/宏的操作应导致以下结果(在python中): #def foo(a,b): # for each in (a,b): # print each # return a+b print "2"

1
向另一个方向扩展视觉选择
有时我选择了带有的视觉选择,例如,Vjjjjj只是后来才意识到我应该从更高的位置开始选择。但是,按k只是减小选择范围的下限,而不是将整个选择向上移动一行。 这是可视化效果(ha,ha),其中粗体线是我选择的线: 不要选择此行 不要选择此行 选择此行! 选择此行! <-我按V这里... 选择此行! 选择此行! 选择此行! 选择此行! <-...并移至此处。但是我应该开始 不要选择此行选择高一行! 不要选择此行 如何通过在另一个方向上移动其起点来扩展视觉选择?如果无法做到这一点,是否有任何方法可以在我的.vimrc文件中添加一个映射使我能够这样做?

3
如何仅在视觉选择内替换?
如何使vim 仅替换视觉选择中的字符,而不替换行中的其他字符?例: 线: int arr[] = { 00 01 02 03 04 05 05 /* ... lots more like this*/}; 视觉选择: { 00 01 02 03 04 05 05 /*... lots more like this*/} 命令: :'<,'>s/\ /\,0x/g 预期: int arr[] = {0x00,0x01,0x02,0x03 /* and so on*/}; 但是,执行这些操作后,实际结果是: int,0xarr[],0x=,0x{0x00,0x01,0x02,0x03 /* and …

2
如何在可视模式下阻止替换代码?
我有一个要替换前两个字符的项目列表: a) item 1 b) item 2 c) item 3 最快的方法是什么: * item 1 * item 2 * item 3 我有一种使用可视模式的方法(Ctr-v,jjj,但是需要执行两个替换命令。irc,可以使用1个命令完成此替换)

7
移动文本块的更快方法
这是我通常复制一段文本或代码的方式: 用可视模式(V)选择块,然后用删除 d; 或者,如果仅是一行,则使用 dd。 转到我想要的文字是,我太傻记住的区别p和P,所以我得到的时间的50%这一权利。(如果我弄错了:请重试一次)。 有时,缩进需要调整,因此我V再次进入可视模式 并重新选择相同的块,然后使用>或 <修复它。 有没有更简单的方法?在某些编辑器中,我看到您可以“拾取”一段文本,然后四处移动;这是Emacs的示例(但我在其他编辑器中也看到了此示例): 也许还有另一种(甚至更好)的方法?


8
快速计算一列数字的总数
我正在写一个降价表,看起来像这样: | 13/05/15 | 09:30-16:00 | 6.5 | | 14/05/15 | 10:00-16:30 | 6.5 | | 16/05/15 | 15:30-01:00 | 9.5 | | 21/05/15 | 09:00-16:30 | 7.5 | | 22/05/15 | 08:30-17:00 | 8.5 | | 28/05/15 | 09:30-15:30 | 6 | | 02/06/15 | 09:00-20:00 | 11 | …

1
折叠所选行
如何折叠和展开在可视模式下选择的线条? 可以说我有三个段落,我想将前两个或最后两个折叠成一行: Test ==== Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias.. Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido …

2
如何部分替换所选文本块中的文本?
为我的问题找到一个好标题并不容易。 我知道要在文本块前面插入: Ctrl- v 选择行 I 键入文本 ESC 现在,我想这样做,但也可以替换块选择中的一部分。目前我正在做两次手术 Ctrl- v 选择块 x 返回开始 接下来是我上面提到的顺序。 是否可以通过仅选择一次(Ctrl- v)块来组合这两个操作? 这是一个小例子: 我想转换以下块 1 text 2 text 3 text 4 text 5 text 进入 new text new text new text new text new text 只做一次“手术”。



3
如何获得视觉上的vimscript选择?
如果在插入vimrc之前要测试几行vimscript,是否可以直观地进行选择,然后提供它们? 我努力了 进行视觉选择v,然后进行动作进行选择等,然后 :'<,'>so 但是vim给出了一个错误 不允许范围 也 :'<,'>w | so 给 采用 !写部分缓冲区 如何获得视觉选择的vimscript?

4
如何实现选择不同行长的不同文本?
假设我有以下文本: aaa-dd-e:“ aaa”, bb-x:“ bb”, c-9:“ c” 我想做如下选择: aaa-dd-e:“ aaa”, bb-x:“ bb”, c-9:“ c” 我尝试使用cv创建可视块,但是在第一列上创建选择并按“ f:”(我的意思是在上面的每一行上将选择扩展到冒号)之后,我得到的是: aaa-dd-e:“ aaa bb-x”,:“ bb”, c-9:“ c” 选择将在第一个冒号处停止并创建一个矩形。

1
如何用外部命令修改视觉选择的块?
我有一个由两个垂直部分组成的文件。在左侧,数据已经被格式化,我不想更改它。我只想在右侧格式化数据。说我有一个像这样的文件 foo=bar baz # Neato Junk quux=xyzzy # Bilbo Baggins Ring 还有更多类似的内容 我只想修改“#”字符右侧的文本。我使用以下表达式选择了所需的文本: gg /# ctrl-v G $ 但是,如果我随后尝试对其进行修改(例如使用:'<,'>!column -t),则实际上它会修改每一行的整体。仅用于修改视觉选择的零件的正确表达是什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.