如何在Vim中标记(向后、向前)一个代码块?

mwg9r5ms  于 2022-11-11  发布在  其他
关注(0)|答案(8)|浏览(170)

如何在Vim上从右到左标记一个代码块?

j9per5c4

j9per5c41#

简短答案:

  • V通过↓选择行,然后〉

对于3个选项卡:

  • V,3,然后〉

我最喜欢的方法是选择你的代码块(通常使用[V] visual line模式),然后按〉或如果你想多次使用Tab键,2〉或3〉来重复它。
如果你没有足够的标签(或标签太多),然后键入“gv”重新选择你的选择,然后再试一次。
要移动代码块,请使用[V] visual line模式选择它,然后按“d”。这是“剪切”操作。
然后将光标移到你想要它去的地方,按“p”键。这就是“粘贴”操作。
您也可以尝试使用[V] visual line模式选择代码块,然后按“=",从而自动切换代码块。

ct2axkht

ct2axkht2#

页面 " Indenting source code " 应该 会 给 你 你 需要 的 所有 信息 。

brvekthn

brvekthn3#

要缩进包含光标的内部块,请执行以下操作:>iB要缩进包含括起的大括号的内部块,请执行以下操作:>aB
您可以将'〉'替换为'〈'以左缩进。
若要自动缩进,请按==(或如果已突出显示文本,则按=)。

d7v8vwbk

d7v8vwbk4#

我使用了一个方便的视觉模式的重Map,允许在保持文本选中的同时多次缩进文本。类似于一些IDE让你选择并点击Tab(或shift-tab)来缩进。
将以下内容添加到.vimrc

" Pressing < or > will let you indent/unident selected lines
vnoremap < <gv
vnoremap > >gv

你也可以使用==让vim自动尝试并确定正确的缩进。它可以在任何行上工作,只要把光标放在那里并按下==,或者你可以做一些花哨的事情,比如选择整个文件并按下==来修复所有的缩进(在所见即所得编辑器生成的html上效果很好)。

ssm49v7z

ssm49v7z5#

在命令模式下:

与任何其他命令一样,您可以预先挂起要应用的行数:
2+2+〉
将“制表符”设为第22行。
如果要“重新制表”,请按。

dddzy1tm

dddzy1tm6#

(from learnbyexample.github.io
“v”-可视地选择当前字符,使用任意运动命令扩展选择
例如,v进入可视模式,然后使用箭头键向下或向上切换以选择任意多行,然后'shift +〉',例如,向右切换整个代码块

oknrviil

oknrviil7#

只需在可视模式下键入v,然后使用< or >字符:)

wydwbb8l

wydwbb8l8#

将光标放在块的开始/结束处
按住Shift+Alt(macOS上为Shift+Option)进入视觉模式
使用上/下箭头选择块
>(添加制表符)或<(删除制表符)

相关问题