Vim: Как изменить текст из скрипта отступа - PullRequest
6 голосов
/ 21 ноября 2010

Я недавно переключился с Eclipse на Vim.Я люблю это.Есть несколько проблем, над которыми я работаю, но одна из тех, с которыми у меня много проблем, это комментарии к документу PHP.В затмении я мог бы набрать:

/** [enter]

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

 * 

Так что я бы получил:

/**
 * [comment goes here]

Яинтересно, есть ли что-нибудь подобное для vim.Кажется, есть некоторые плагины для автоматической генерации комментариев к документам с помощью команды, но я бы хотел, чтобы она делала их так, как я печатаю.

Я поигрался со скриптом отступа PHP (http://www.vim.org/scripts/script.php?script_id=1120) и получил его, чтобы распознать, когда он находится внутри блока комментариев к документу, но я не могу понять, как его получить на самом делеизмените текст и добавьте «*» после нажатия Enter, находясь внутри блока.

Я пробовал то, что видел другие плагины:

let @z = ' * '
put! z

пробовал это тоже:

exe 'normal!' '"zgp'

но не повезло. Разве это невозможно из сценария отступа, и если нет, то как я могу заставить Vim распознавать блок комментария к документу и действовать соответствующим образом, пока я печатаю?

Любая помощь будет принята с благодарностью!

Ответы [ 3 ]

2 голосов
/ 21 ноября 2010

Нет необходимости возиться с файлами отступов.Vim's formatoptions сделает это для вас и на разных языках (не только на PHP).

Убедитесь, что в ваш formatoptions:

:setlocal fo+=r "to set
:set fo? "to query

включен r.может включить это в ваш .vimrc или .vim/ftplugin/php.vim (если вы просто хотите активировать это для PHP).

Для получения дополнительной информации о formatoptions и плагинах типа файла см .:

1 голос
/ 21 ноября 2010

Может ли добавление приведенного ниже кода в ваш vimrc сделать что-то похожее на то, что вы хотите?

autocmd BufNewFile,BufRead *.php setlocal formatoptions+=r formatoptions+=o
autocmd BufNewFile,BufRead *.php setlocal comments=s1:/*,mb:*,ex:*/,://,:#

В настоящее время я не могу понять, как заставить это работать без переопределения комментария <!-- --->, что и делает. То есть это нарушит авто-отступ с <!-- --> комментариями.

Edit. * * * * * * * * * * * * * * * * Добавлен ://,:# в comments, как это делает дистрибутив Johnsyweb.

0 голосов
/ 21 ноября 2010

Попробуйте добавить это в ваш vimrc:

let g:PHP_autoformatcomment=1

Я на Mac, и он, кажется, включен по умолчанию. Функции именно так, как вы заявили.

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