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

问题描述 投票:16回答:5

我想缩进一段文字

我能够在gVim的Linux构建中执行此操作。

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

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

但是,如果我在Windows中执行此操作,它将仅用>替换该块。

我正在运行普通的Windows rc文件和gVim 7.1版。

windows vim indentation
5个回答
20
投票

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

如果使用shift +箭头或鼠标来选择文本块,则该文本块将不起作用,所选内容将被替换为'>'。更改selectmode时可以更改;

设置selectmode =鼠标,键

  • 行为mswin后的默认设置

设置selectmode =键

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

设置selectmode =

  • 现在您可以同时使用鼠标键和方向键进行选择,然后按'>'进行缩进

如果将其添加到vimrc中,请在执行mswin之后执行此操作


5
投票

与此相关,我在视觉模式下使用了方便的重新映射,它允许多次缩进文本,同时保持文本的选中状态。类似于Visual Studio允许您选择并点击制表符(或shift-tab)以缩进的方式。

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

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

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


3
投票

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


1
投票

您需要在vimrc文件中将behave mswin更改为behave xterm


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.