2011-08-27 97 views
3

有沒有辦法讓Vim從上面的行中複製縮進,無論是空格還是製表符,忘記了文件類型?Vim啞縮進?

回答

0

看來我想要的實際上並不可行,因爲Vim自動刪除空格,並使用配置設置來縮小空格。

我已經避免了這種放這些拍打在我的vimrc:

:inoremap <CR> x<BS><CR>x<BS> 
:inoremap <up> x<BS><up> 
:inoremap <down> x<BS><down> 
:nnoremap o ox<BS> 
:nnoremap O Ox<BS> 

它只是把代替字符,然後刪除它之前,我退出編輯模式,所以Vim不會刪除空線。如果是這種情況,那麼它可能只是Vim檢查是否對該行進行了任何編輯,自動縮進不計。也許有一天我會查看源文件,並在附近打個招呼。

我也想用上一行的縮進(所以我會得到不同文件的不同縮進,而不是每次都要篡改設置),但我設法妥協並使用了可愛的Vim plugin

7

:set ai

:help autoindent

+0

+1我不能告訴你我多久(隱約地)尋找這個。 – Kevin

+0

我以前經歷過這個磨難,autoindent不會從上面的行復制,它使用設置。 – Jookia

+1

@Jookia,它不應該。確保你有'設置autoindent nocindent nosmartindent'其他兩個選項干擾,這些設置不是相互排斥的。 –

2

我以爲你要貼的東西,調整縮進。

嘗試]p

0

如果你在該行的開始,並希望所有的縮進字符複製,你是currenly上,現在你可以使用Ctrl + Y線之上。它從一行一行地複製一行中的字符。 Ctrl + e做同樣的事情,但它從下面的行復制。