Баннер комментариев TextMate в Vim - PullRequest
4 голосов
/ 23 февраля 2011

Я делаю переход с TextMate на Vim для всего моего редактирования текста. Однако одной из функций, которую я часто использовал в TextMate, была команда баннера комментария (ctr-shift-b). Это создаст баннер и позволит вам вводить текст внутри баннера, а баннер будет подстраиваться под длину текста. Есть ли в Vim плагины или что-то похожее? Если нет, могу ли я запрограммировать vim на создание комментария? Любые предложения будут великолепны. Спасибо!

enter image description here

Ответы [ 2 ]

6 голосов
/ 23 февраля 2011

У меня есть эти строки в моих .vimrc:

autocmd FileType vim map <leader>ccb I"<Del>  <Esc>A  "<Del><Esc>yyp0lv$hhr"yykPjj
autocmd FileType javascript,php,c map <leader>ccb I//  <Esc>A  //<Esc>yyp0llv$hhhr-yykPjj
autocmd FileType python,ruby,sh,zsh map <leader>ccb I#  <Esc>A  #<Esc>yyp0lv$hhr-yykPjj
autocmd FileType css map <leader>ccb I/*  <Esc>A  */<Esc>yyp0llv$r-$hc$*/<Esc>yykPjj

В .vimrc это превращается:

vimrc banner

в это:

""""""""""""""""""
"  vimrc banner  "
""""""""""""""""""

В файле JS это превращается:

javascript banner

в это:

//---------------------//
//  javascript banner  //
//---------------------//

И т.д.

" Creating underline/overline headings for markup languages
" Inspired by http://sphinx.pocoo.org/rest.html#sections
nnoremap <leader>== yyP^v$r=jyyp^v$r=
nnoremap <leader>** yyP^v$r*jyyp^v$r*
nnoremap <leader>= yyp^v$r=
nnoremap <leader>- yyp^v$r-
nnoremap <leader>^ yyp^v$r^
nnoremap <leader>" yyp^v$r"

Я бы хотел сохранитьссылка на то, где я его нашел,

5 голосов
/ 23 февраля 2011

Я сейчас использую Snipmate.vim https://github.com/msanders/snipmate.vim

Хотя я не совсем уверен, что есть фрагмент, который точно соответствует вашим потребностям, он бы было бы тривиально добавить тот, который сделал бы это!

Имеется очень простых сценариев для добавления всего, что вам нужно.

Вам нужно будет присвоить фрагменту определенную комбинацию клавиш, чтобы, когда вы находитесь в этой комбинации в режиме вставки и нажимаете клавишу Tab, плагин вставляет все нужные вам элементы, а также позволяет вам изменить текст, который вы использовали ранее. установлен.

Так что для примера, который вы приводите, я бы дал ему комбинацию с надписью "баннер". Когда я набираю это слово и нажимаю клавишу Tab, меня помещают в «Баннер комментариев», чтобы я мог печатать и заменять заголовок.

На этом сайте есть очень хорошее видео о том, как все работает: http://www.catonmat.net/blog/vim-plugins-snipmate-vim/

...