2011-04-03 74 views
7

我想知道是否可以在光标所在位置加空格(空格30)VIM:在光标位置添加空格

(我试图用正则表达式来做到这一点,但我不知道如何表达在正则表达式的实际光标位置。)

回答

16

SPACE将在命令模式中的光标位置添加30个空格。

+5

当你走出插入模式(用他们实际上添加ESC例如) – 2011-04-03 09:27:42

+0

...如果你经常这样做,你可以在你的'.vimrc'文件中添加':nmap 30i '并且只需在普通模式下按下''键。 – nietaki 2011-04-03 09:42:09

+0

谢谢:)只是一件事..我注意到空格在光标前插入。如果在光标后面插入空格,则代码是什么(光标保持在同一位置) – Reman 2011-04-03 16:08:57

3

1 - 您可以使用vim注册此:

“A定义注册,如果你切的空白与”斧头使注册有空格。然后使用:

30" AP

2-切割与X一whitspace并与30P

注意粘贴:寄存器别忘了它的价值,从而第一个解决方案是比较有用的

+0

总是很好地表明有很多方法可以做同样的事情,所以+1,即使我认为卡奇克的答案是我会这样做的方式。 – Benoit 2011-04-03 09:36:56

2

。除了已经给出答案,我可以说,光标位置与\%#正则表达式来表示,所以s/\%#/\=repeat(" ", 30)/将新增光标位置30米的空间,就像30i<Space><Esc>

+0

谢谢ZyX。游标移动到行的开头。是否可以将光标保持在同一位置(将光标放在光标后面)? – Reman 2011-04-03 16:10:44

+0

@Remonn'30a '或's/\%(\%#\%(。\ | $ \)\)\ @<=/\ = repeat(“”,30)/'。如果你不想移动光标,你必须用'let winview = winsaveview()|来包围每个命令... |叫winrestview(winview)'。 – ZyX 2011-04-03 16:40:52

+0

非常感谢!它工作正常。 :) – Reman 2011-04-03 17:14:33