繁体   English   中英

如何在 gVim (Win32) 中缩进选择

[英]How to indent a selection in gVim (Win32)

我想缩进一段文本

我可以在 gVim 的Linux版本中做到这一点。

我在 gVim 的状态下执行此操作,我不在插入或可视模式下。 底部的栏在左边是空白的,行号和百分比显示在右边。

然后我执行以下过程:我通过单击和拖动选择一个文本块。 然后我点击Shift + . 之后,我点击Esc并且文本块将移动到一个选项卡上。

但是,如果我在Windows中执行此操作,它只会将块替换为>

我只是在运行库存的 Windows rc 文件和 gVim 7.1 版。

如果您首先输入 SHIFT-V,然后使用 shift+箭头选择文本,它将缩进。 您也可以使用 SHIFT-V,并使用 'hjkl' 来选择块。

如果您使用 shift+箭头或鼠标来选择一个文本块,它不起作用并且选择将被替换为“>”。 这可以在您更改选择模式时更改;

设置 selectmode=mouse,key

  • 行为 mswin 后的默认设置

设置选择模式=键

  • 现在您可以用鼠标选择并按“>”缩进

设置选择模式=

  • 现在您可以使用鼠标和移位箭头键进行选择,然后按“>”缩进

如果您将此添加到您的 vimrc,请在执行 mswin 之后执行

与此相关,我使用了一个方便的视觉模式重映射,允许在保持文本被选中的同时多次缩进文本。 类似于visual studio如何让您选择并点击tab(或shift-tab)来缩进。

将以下内容添加到您的 .vimrc

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

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

Esc -> Shift + V -> 选择行 -> > >

您需要在 vimrc 文件中更改behave mswinbehave xterm

如果您想完全避免视觉模式,您可以使用文本对象。 例如,正常模式下的>ap缩进一个段落, >aB缩进一个大括号块,等等。参见:h text-objects

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM