2011-08-27 127 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做同样的事情,但它从下面的行复制。