Я хочу настроить текстовые шоу в свернутых сгибах - PullRequest
3 голосов
/ 24 октября 2010

Я использую складки для комментариев, как

#
Stuff between the # are comments and automatically folded
#  

Но в сложенном виде они выглядят так

+--  4 lines: #--------------------------------------------------------------

Я бы предпочел, чтобы они сказали

+-- 4 Stuff between the # are comments and automatically folded

и не подсвечиваться, или как там у них белый фон на моем черном терминале.

Я думаю, что это переменная foldtext, и регулярное выражение вне меня.

Ответы [ 3 ]

2 голосов
/ 25 октября 2010

Помимо метода 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 голос
/ 24 октября 2010

Да, это опция foldtext, но здесь вам не нужно регулярное выражение: поместите это в ~/.vim/ftplugin/{filetype}.vim (где {filetype} следует заменить на тип файла, для которого определены такие сгибы):

setlocal foldtext='+-'.v:folddashes.'\ '.getline(v:foldstart+1)
0 голосов
/ 25 октября 2010
:hi Folded guifg=green guibg=black ctermfg=green ctermbg=black

сделал его красивым и зеленым на сером, и я могу дурачиться с ним, чтобы он выглядел хорошо

:setlocal foldtext='Comment'.v:folddashes.'\ '.getline(v:foldstart+1).getline(v:foldstart
+2)

Заполнит текст сгиба, даже если я пропущу строку после #, что я, вероятно, буду.

СПАСИБО!Теперь это намного более терпимо и полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...