什么是(g)Vim中的“非标签”序列?

时间:2010-05-20 14:01:28

标签: vim indentation

这是我很长一段时间的烦恼。

(Nitpicky部分:我更喜欢4个空格字符来表示字符。输入“tab”而不是解释它更容易。当我说“tab”时,我的意思是“当你按Tab键时发生的动作“这可能更简单地称为”增加缩进“。)

我在编辑文档时使用smartindent,其中缩进具有一定的意义。在“哑”窗口文本编辑器中,我可以按Shift + Tab删除选项卡,或者更恰当地说,减少当前行的缩进级别。我无法弄清楚如何在Vim中从编辑模式执行此操作; Shift + Tab似乎与Tab相同。

我知道在命令模式下<<会减少缩进。我想在编辑模式下等效。这些是我到目前为止找到的解决方案以及为什么我不喜欢它们,特别是可能是答案的关键。

  1. 使用Notepad ++或其他一些愚蠢的编辑器。我已经这样做了几年,但我真的很想念Vim。
  2. 退出编辑模式,使用&lt;&lt ;,进入编辑模式。这只是将光标放在第0列;如果我想要这个,我就不会尝试smartindent。
  3. 停止使用smartindent。我不会经常减少缩进,因为我需要保持相同的缩进级别;这将是生产力的损失。
  4. 左箭头键似乎将缩进减少一级。我宁愿在不离开主排的情况下做些什么。这是最有前途的选择。
  5. 也许我可以设置一个选项?也许我可以重新左转箭头? (如果需要重新绑定请详细解释;我从未钻研过重新配置(g)Vim。

1 个答案:

答案 0 :(得分:27)

您可以使用Ctrl + D备份一个制表位。这实际上将整行移动到左侧一个制表位; Ctrl + T在右边做同样的事情。

请注意,这些击键仅适用于插入模式(在命令模式下使用&lt;&lt;&lt;和&gt;&gt;作为等效项)。