Есть ли способ вставить несколько строк предварительно написанного материала в Vim? - PullRequest
1 голос
/ 21 апреля 2011

Я часто использую следующие два фрагмента HTML:

<a href="" title=""></a><br />
<br />

и

<a href="" title=""</a><br />
<hr class="grp">

Есть ли способ, которым я могу быстро вставить один или другой в мой файл?

Ответы [ 4 ]

4 голосов
/ 21 апреля 2011

Вы можете сохранить их в файлах, затем

:r name_of_snippet_file

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

3 голосов
/ 21 апреля 2011

Вы можете улучшить Vim с помощью множества плагинов / скриптов.Быстрое попадание в Google принесло мне snipMate (еще не пробовал), что, кажется, делает то, что вы просите.Конечно, вы также можете вставить фрагмент, прочитав файл, но, возможно, использовать табуляцию немного удобнее.

Если вы набираете много HTML, я настоятельно рекомендую плагин zencoding .Zencoding расширяет теги html / xml и предлагает множество других способов написания html (например, преобразование некоторых строк в несортированный список).

0 голосов
/ 26 апреля 2011

Вы можете сопоставить кнопку для вставки текста в предыдущую строку:

:map <F1> o<a href="" title=""></a><br /><ENTER><br /><ESC>
      ^   ^                                 ^           ^

Интересные биты помечены ^ и объяснены ниже

o начинает вставлять строку под курсором,
O вместо этого начнет вставлять строку над курсором,
<ENTER> вставляет символ новой строки,
<ESC> выходит из режима вставки.

Если вы предпочитаете, вы можете использовать :imap вместо :map, это заставит его работать в режиме вставки. В этом случае вы, вероятно, захотите выйти из режима вставки в начале, а затем не выйти в конце

:imap <F1> <ESC>o<a href="" title=""></a><br /><ENTER><br />
0 голосов
/ 23 апреля 2011

Почему бы не добавить аббревиатуру к вашему .vimrc

В моем файле .vimrc для c ++ есть следующее:

iabbrev cout cout << "" << endl;<left><left><left><left><left><left><left><left><left><left>

Это позволяет мне просто напечатать "cout" и затем печатать:

cout << "" << endl;

Поместить курсор в кавычки ...

Введите ": help iabbrev" в vim для разумного руководства о том, как это работает ...

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