假设我在.vimrc
中设置了set cindent
,
在输入def func()
后按Enter
,然后输入end
时,它会被缩进(而不是对齐到def
)。
如何重新缩进end
关键字(将其与def
对齐)?
即使使用endwise.vim插件
也无法解决问题。
https://github.com/tpope/vim-endwise.git
它可以自动添加end
关键字,但仍然会被缩进
假设我在.vimrc
中设置了set cindent
,
在输入def func()
后按Enter
,然后输入end
时,它会被缩进(而不是对齐到def
)。
如何重新缩进end
关键字(将其与def
对齐)?
即使使用endwise.vim插件
也无法解决问题。
https://github.com/tpope/vim-endwise.git
它可以自动添加end
关键字,但仍然会被缩进
尝试使用smartindent
代替cindent
(它遵循类似于C的缩进行为),并打开特定文件类型的缩进。
你还可能需要关闭vi兼容性。
尝试将以下内容添加到你的.vimrc文件中:
" Turn off vi compatibility
set nocompatible
set smartindent
set autoindent
" load indent file for the current filetype
filetype indent on
set smartindent
set noautoindent
filetype indent off
vimfiles 包含 Ruby 代码智能缩进和许多其他有用的功能
Ruby 代码会自动格式化,就像这样
class Foo
def bar
if xxx
blah
else
blahblah
end
barfoo
barfoo
end
end
vim-pathogen
<br /> https://github.com/tpope/vim-pathogen.git - user815693这对我有用。
" Ruby indentation from http://ubuntuforums.org/showthread.php?t=290462
if has ("autocmd")
filetype indent on
endif
set nosmartindent
、set noautoindent
和filetype indent off
。 - Dorian