Я часто обнаруживаю, что удаляю и добавляю разделы XML в файлы конфигурации:
- tomcat server.xml
- maven settings.xml
и многие другие.
Есть ли vim plugin/command, чтобы сделать это простым?
Я часто обнаруживаю, что удаляю и добавляю разделы XML в файлы конфигурации:
и многие другие.
Есть ли vim plugin/command, чтобы сделать это простым?
Вы можете использовать комбинацию совпадающих тегов XML, как видно из этот вопрос и Perl искать и заменять.
Например, с учетом этого фрагмента:
<TypeDef name="a">
<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>
</TypeDef>
Наведите курсор на открытие или закрытие TypeDef
и введите следующую последовательность:
vat:s/^\(.*\)$/<!--\1-->/
v
- переводит вас в визуальный режим at
- выбор всего тэга XML :s/^\(.*\)$/<!--\1-->/
- окружает каждую строку '<!--...-->'
, разделители комментариев для XML
Кроме того, вы можете просто удалить его так:
dat
d
- удалить в соответствии со следующими движениями at
- как раньше
У Vim нет интеллектуального комментирования для всех типов файлов. Вы должны получить script для своих комментариев.
Я использую enhcomentify script, который был вокруг и поддерживался в течение длительного времени
http://www.vim.org/scripts/script.php?script_id=23
Кажется, что xml хорошо, и вы получаете преимущество тех же привязок клавиш для любого типа файла, который вы используете.
Есть и другие, особенно комментатор NERD
используйте surround.vim для общего соответствия меток, удаления, вставки, окружения и т.д.,
Для комментариев тегов легко использовать текстовые объекты vim и простой макрос
Пример:
введите
vmap ,c <esc>a--><esc>'<i<!--<esc>'>$
где-нибудь подходящий, затем поместите курсор в столицу "A" из "ArrayType" в строке 2 следующего (заимствованный из примера Натана Фелманса выше)
<TypeDef name="a">
<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>
</TypeDef>
затем нажмите
vat,c
и вы получите:
<TypeDef name="a">
<!--<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>-->
</TypeDef>
с вашим курсором в конце комментария
Мне нравится простота https://github.com/tpope/vim-commentary. Легко добавлять другие языки, хотя, похоже, поддерживает большинство из них. До 100 строк кода.
gcc
, чтобы прокомментировать текущую строку или выбрать текст, который вы хотите прокомментировать, и нажать gc
. Супер легкий.
Я думаю, что адаптация этого совета vim может быть полезна.
Я предлагаю добавить:
" Wrap visual selection in an XML comment
vmap <Leader>c <Esc>:call CommentWrap()<CR>
function! CommentWrap()
normal `>
if &selection == 'exclusive'
exe "normal i-->"
else
exe "normal a-->"
endif
normal `<
exe "normal i<!--"
normal `<
endfunction
на ваш .vimrc
Затем, при активном визуальном выборе (V), нажмите \c (обратная косая черта, затем c), чтобы обернуть ваш блок в комментарии <!-- -->
XML-стиля.
В качестве альтернативы, как предложено в вики, вы можете поместить код в ~/.vim/scripts/wrapwithcomment.vim и добавить в свой .vimrc:
au Filetype html,xml source ~/.vim/scripts/wrapwithcomment.vim
чтобы загружать только эту функциональность при работе с файлом html или xml.
Лучше всего было бы, если бы вы нашли команду, которая добавляет вещи в начале и конце выбора.
Когда я комментирую код python, я делаю это:
:2,4s/^/#/g