我使用折叠作为评论,如
#
Stuff between the # are comments and automatically folded
#
但折叠时看起来像这样
+-- 4 lines: #--------------------------------------------------------------
我宁愿让他们说
+-- 4 Stuff between the # are comments and automatically folded
并且不会突出显示,或者在黑色终端上使用白色背景的任何东西。
我认为它是foldtext变量,正则表达式超出了我的范围。
答案 0 :(得分:2)
除了ZyX显示的方法之外,您还可以指定一个单独的函数来构建文本,如果您想要进行更复杂的处理,这将特别有用。如,
setlocal foldtext=MyFoldText()
function! MyFoldText()
" do whatever processing you want here
" the function will be called for each folded line visible on screen
" the line number of each fold's "head" line will be in v:foldstart
" last line of fold in v:foldend
" can do whatever processing you want, then return text you want
" displayed:
return my_processed_fold_text
endfunction
就突出显示而言,整个折叠文本行将具有相同的突出显示,这由“折叠”突出显示组确定。所以,如果你想让它们成为黑色背景上的白色文字:
:hi Folded guifg=white guibg=black ctermfg=white ctermbg=black
或者如果你想要它们的灰白斜体:
:hi Folded guifg=#bbbbbb guibg=black gui=italic ctermfg=white ctermbg=black
答案 1 :(得分:1)
是的,它是foldtext
选项,但您不需要此处的正则表达式:将其放入~/.vim/ftplugin/{filetype}.vim
(其中{filetype}
应替换为文件类型,此类折叠已定义):
setlocal foldtext='+-'.v:folddashes.'\ '.getline(v:foldstart+1)
答案 2 :(得分:0)
:hi Folded guifg=green guibg=black ctermfg=green ctermbg=black
在灰色上做得很漂亮和绿色,我可以愚弄它以使它看起来很漂亮
:setlocal foldtext='Comment'.v:folddashes.'\ '.getline(v:foldstart+1).getline(v:foldstart
+2)
将填写折叠文本,即使我在#之后跳过一行,我可能会这样做。
谢谢!现在它更加可以忍受和有用。