2011-01-07 1 views
0

Я использую объемные и повторяющиеся плагины Vim для обертывания строк текста тегами html.Vim Surround + Repeat, обертывает мой текст с помощью^M

Я буду использовать «yse <p>» и «ys $ <p>», они оба отлично работают.

Я пытаюсь повторить команду с «», и это показывает < р > в терминале, но всякий раз, когда я нажимаю войти, чтобы выполнить команду, объемный заменяет то, что должно быть < р > и </р > с^М.

Моя линия выглядит как^Mtext здесь^M

Я признаю символ как окончание строки, но я не понимаю, почему объемное звучание не будет обернуть мою линию с кодом он показывает в терминале (который правильно), но вместо этого завершает мою линию концами строк DOS.

Я использую gVIM для Windows XP, если это имеет значение.

ответ

0

Это на самом деле, потому что <p> это на самом деле не существует, когда вы повторите команду с .

Попробуйте это: Перед тем, как повторить команду с . первым ударил o опустошить область командной строки любого текста, а затем нажмите .

Вы увидите, что оно фактически пустое, поэтому курсор находится на первом символе.

Чтобы повторить обертку, вам нужно либо ввести <p> каждый раз, либо записать быстрый макрос.

Macro:ys$<p>

Paste, что в Vim, выделите ее и введите "py

Теперь вы можете запустить макрос с @p документации

+1

Я принимаю ваш ответ, но я подслушиваю, что вы не можете повторить подобное. Запись и выполнение макроса означает по меньшей мере еще 4 мазки, чем только для «.». –

+0

Это очень плохо, да. Я думаю, что jrdioko находится на хорошей идее с предложением предложения функции. –

1

surround.vim «s говорит:

The "." command will work with ds, cs, and yss if you install repeat.vim, vimscript #2136. 

Итак, если вы являетесь sing yss он должен работать, но, видимо, другие версии «ys» не поддерживаются. Похоже, что хорошая функция требует отправить владельцу repeat.vim.

Смежные вопросы