如何在Vim中"向后标签"(删除标签或标签空格)?

Hie*_*ien 50 vim

有没有一种快速的方法可以在不按退格键的情况下向后切换(但是我设置了标签空间的空间数量很多)?

Ted*_*eid 97

如果您处于插入模式:

  • Ctrl+ d- 向左移
  • Ctrl+ t- 向右移动

如果您处于正常模式:

  • Shift+ <<- 向左移动当前行
  • Shift+ >>- 右移当前行

如果您处于可视模式并且选择了1行或更多行:

  • < - 换班选择了
  • > - 转移选择权

如果您只想在正常模式下向后移动一个单词,则可以使用b向后移动单词.

  • 不知道插入模式 (7认同)
  • 如果你还不知道:`Cd`输入为Ctrl + d. (4认同)
  • 我将Shift + Tab映射到Cd,使其像在大多数IDE中一样工作. (2认同)
  • 由于我花了几次尝试才使 @Mo2 的建议起作用,以下是将 Shift+Tab 映射到 Ctrl+d 的方法:`inoremap &lt;S-Tab&gt; &lt;Cd&gt;` (2认同)

ZyX*_*ZyX 13

set softtabstop=4 expandtab
Run Code Online (Sandbox Code Playgroud)

当您按Tab键时,您将能够添加最多四个空格,按<BS>一次最多可删除四个空格.


Orw*_*ile 7

长话短说:set tabstop=4 softtabstop=-1 shiftwidth=0 expandtab

简写:set ts=4 sts=-1 sw=0 et

解释

如果您设置softtabstop( 或sts) ,它会自动表现得与( )-1相同,如果您经常更改制表符,这将为您省去一些麻烦。将( )设置为也应该有效地使其相同。tabstoptsshiftwidthsw0tabstop

详细

shiftwidth sw

(自动)缩进的每个步骤使用的空格数。用于cindent>><<等。
为零时tabstop将使用该值。

tabstop ts

文件中 a 所占的空格数。另请参阅 :retab命令和 softtabstop选项。

softtabstop sts

Tab执行编辑操作(例如插入 aTab或使用 )时a 所计数的空格数BS。感觉 像是Tab插入了 s,但实际上混合使用了空格和 s 。这对于将tabsis 设置保持在其标准值非常有用,同时能够像设置为 那样进行编辑sts当 为负数时,使用 的sts值。shiftwidth如果您经常更改制表位,这将为您省去一些麻烦。当expandtab未设置时,通过使用 s 来最小化空格数Tab

expandtab et

在插入模式下:使用适当数量的空格插入 . >当和<命令autoindent打开时,空格用于缩进。expandtab要在打开时插入真正的选项卡,请使用Ctrl- V Tab。另请参阅 :retab