1

Мне нужно, чтобы каждый раз записывать одинарные или двойные кавычки, круглые скобки, фигурные скобки, квадратные скобки ... автоматически vim должен создать закрывающую и поместить курсор внутрь, чтобы продолжить редактирование легко. Я заметил, что большинство редакторов делают это.

Мне нужно, чтобы это работало для каждого языка программирования. PHP, JS, JQUERY, HTML, CSS ... но без использования фрагмента, потому что для этого нужны фрагменты или комбинация клавиш (непродуктивно). Мне нужно, чтобы автозаполнение работало автоматически после нажатия клавиши "".

2 ответа2

1

Доступны плагины, такие как delimitMate, которые предоставляют эту возможность. Или вы можете создавать свои собственные сопоставления. Большой список плагинов и подробное обсуждение возможных сопоставлений можно найти здесь: http://vim.wikia.com/wiki/Automatics_append_closing_characters ; в общем случае сопоставления похожи на:

inoremap        (  ()<Left>
inoremap <expr> )  strpart(getline('.'), col('.')-1, 1) == ")" ? "\<Right>" : ")"

Однако в настоящее время (по состоянию на Vim 7.4.781) такие сопоставления и любой установленный плагин будут нарушать отмену / повтор / повтор, поэтому для удаления введенного вами текста требуется два шага отмены: 1 для удаления внутри скобок, один для удалите сами скобки. Есть исправление, доступное для исправления этой проблемы, если вам удобно компилировать свой собственный Vim: https://groups.google.com/forum/#!topic/vim_dev/gBumYDSEJoo/discussion

0

Вы должны установить плагин для этого. Это пример плагина. Легче использовать Sublime text, чем в любом другом редакторе.Его легкий и легкий вес.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .