2011-04-03 71 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