17

我想缩进一段文本

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

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

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

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

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

4

5 回答 5

21

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

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

设置选择模式=鼠标,键

  • 行为 mswin 后的默认设置

设置选择模式=键

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

设置选择模式=

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

如果你把它添加到你的 vimrc 中,请在表现 mswin 之后执行它

于 2008-11-26T10:57:46.137 回答
5

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

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

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

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

于 2008-11-26T17:08:59.507 回答
3

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

于 2008-11-25T21:26:06.057 回答
1

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

于 2008-11-25T21:30:15.127 回答
1

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

于 2008-11-26T20:36:27.827 回答