代码硬包装。我已经将 Vim 配置为自动(在我键入时)在 80 列上自动硬包装长行注释。效果很好。但是,它似乎不会自动包装代码。我认为添加set formatoptions+=t
(目前我有set formatoptions=c,r,q,a,n
)可以解决问题,但事实并非如此。\
此外,在 Vim 脚本中,如果 Vim 可以在由于硬包装而需要续行时自动放置反斜杠,那就太好了。那么有没有办法实现代码和这些高级功能的硬包装?
高级缩进/对齐。我喜欢使用gg=G
- 我什至将它作为预挂钩附加到写入文件。我已cindent
启用。现在我想知道是否可以编写indentexpr
或调整一些其他变量来实现以下 Vim 脚本代码,例如:
" Before gg=G
let g:SuperTabNoCompleteAfter = ['^', '\s', ',', '(', ')', '[', ']', '{',
\'}', '<', '>', '''', '"']
" After gg=G
let g:SuperTabNoCompleteAfter = ['^', '\s', ',', '(', ')', '[', ']', '{',
\'}', '<', '>', '''', '"']
我尝试将vim.vim
文件添加到~/.vim/after/ftplugin/
以下内容:
setlocal indentexpr=IndentExpression()
fun IndentExpression()
let indent = cindent(v:lnum)
let match = matchstr(getline(v:lnum - 1), '^\s*\S\+\s\+\S\+\s*=\s*\[\ze.*$')
if !empty(match)
let indent = len(match)
endif
return indent
endf
但我运气不好。