假设我有set cindent
in ,.vimrc
def func()
然后Enter
键入end
,它是缩进的(不与 对齐def
)
如何重新缩进end
关键字(将其与 对齐def
)。
即使使用endwise.vim plugin
也不能解决问题
https://github.com/tpope/vim-endwise.git
它会自动添加end
关键字但又indented
问问题
13189 次
4 回答
23
尝试使用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
于 2011-12-16T18:46:40.340 回答
1
vimfiles包含 ruby 代码智能缩进和许多其他有用的东西
ruby 代码会自动格式化为
class Foo
def bar
if xxx
blah
else
blahblah
end
barfoo
barfoo
end
end
于 2011-12-16T16:15:43.787 回答
0
这对我有用。
" Ruby indentation from http://ubuntuforums.org/showthread.php?t=290462
if has ("autocmd")
filetype indent on
endif
于 2013-05-24T04:18:12.980 回答
0
就我而言,这就是解决我的缩进问题的原因(例如在随机位置跳转):
set smartindent
set noautoindent
filetype indent off
于 2017-03-04T01:04:05.513 回答