Vim自动缩进换行
如何让Vim将光标置于大括号内,即以一个新行开始,即|表示光标位置:Vim自动缩进换行
class {
|
}
现在我的设置它不仅会
class {
|}
我在.vimrc文件 设置自动缩进shiftwidth的= 2的制表位= 2得到这个noexpandtab
基本上我只想要一个普通的IDE如何缩进它。
更新:
我发现如何与inoremap { {<CR>}<Esc>O
把这个在你的.vimrc:
imap <C-Return> <CR><CR><C-o>k<Tab>
假设autoindent
和smartindent
设置正确,括号之间键入Ctrl + Return
将会把光标移到您希望它是。
我发现delimitMate完全符合您的描述和更多(即自动插入结尾}
)。请注意,您必须通过将let delimitMate_expand_cr=1
添加到您的配置中来告诉delimitMate扩展回车。
从我的观察,这正是TextMate和SublimeText中的行为。
限定用户的FYI用户界面+ neocomplcache:如果使用默认的neocomplcache .vimrc设置,则需要调整
对于'delimitMate''expand_cr_1'最近还没有工作。相反,你可以使用'imap
我有Ubuntu 12.04,我在主目录中找不到vimrc
文件。全球vimrc
文件在/etc/vim/vimrc
。
这个文件几乎没有。所以对我来说它的工作这个3行添加到的/etc/vim/vimrc
set autoindent
set cindent
inoremap { {<CR>}<up><end><CR>
结束的时候,你会键入{
下次就会通过组合{
改变,输入,}
,向上,结束,回车。 cindent
和autoindent
将添加所需数量的Tab。
P.S.我不擅长调整vim,所以一些解释可能不太准确。这是我认为它的工作原理。
我在最后一行的末尾添加了一个“
在该文件的底部,我使用:
# vim: ts=2 sw=2 sts=2 sr noet st ai si
例如Dockerfile
:
FROM centos-7
RUN ...
CMD ...
# vim: ts=2 sw=2 sts=2 sr noet st ai si
如果你想只保留缩进,请使用# vim: st ai si
谢谢!那工作:P – Zen 2010-12-18 07:56:19
有反正它映射它进入寿?我有点习惯于按下输入键,因为我一直在使用eclipse。 – Zen 2010-12-18 07:58:09
或无论如何将它集成在一个特定语言的缩进文件中? – Zen 2010-12-18 08:14:54