Вставка предопределенного текста на клавиатуре
Я часто вставляю binding.pry
в свои рубиновые файлы, когда я их отлаживаю. Поскольку я использую Vim, я бы хотел автоматизировать его, чтобы не переставлять его каждый раз. Как я могу это сделать?
Точная последовательность, которую я хотел бы отобразить:
- Вставьте новую строку.
- Вставьте
binding.pry
во вновь созданную строку.
- Возврат в нормальный режим.
EDIT: binding.pry
- это текст, который я хочу вставить, а не файл.
Перед вставкой:
a = 1
b = 2
После вставки:
a = 1
binding.pry
b = 2
Ответы
Ответ 1
Записать макрос (непроверенный)
qq " record macro to register q
o " insert empty line below cursor
esc " exit insert-mode
:r /path/to/binding.pry " insert content of file
esc " cmd-mode
q " end recording
Чтобы выполнить макрос, выполните
@q
Или добавьте следующее в свой .vimrc
файл
Обновление
Чтобы вставить строку binding.pry
, отображение будет выглядеть следующим образом:
map ,p obinding.pry<ESC>
Ответ 2
Самый простой - это аббревиатура, которая запускается из режима вставки:
:ia debug <CR>binding.pry
Теперь, когда вы набираете debug
, текст binding.pry
вставляется в новую строку.
Ответ 3
На основе идеи Fredrik вы можете определить и сохранить макрос в своем .vimrc
, скажем g
:
let @g = "Obinding.pry^["
Обратите внимание, что для введите escape-символ, нажмите CTRL-V, затем ESC.
Затем вы можете выполнить @g
для выполнения макроса.
В общем случае, если вы хотите сохранить макрос, одним простым способом было бы записать макрос, скажем, в регистре q
, затем выполните "qp
(где q
- имя макроса), чтобы вставить макрос, Затем окружайте его
let @x = "..."
где x
- это имя макроса, которое вы хотите, чтобы оно всегда имело и помещало его в файл .vimrc
.
Ответ 4
Другое отображение, которое будет выполнено:
nnoremap <silent> gb :let a='binding.pry'\|put=a<cr>
Ответ 5
Огромное затруднение, в котором я оказался. Чтобы решить эту проблему, я поместил в свой .vimrc следующие отображения:
imap <C-b> binding.pry
nnoremap <leader>bp O<% binding.pry %><esc>
Первый позволяет использовать для вставки привязки .pry, когда он уже находится в режиме вставки.
Второй позволяет мне использовать мой лидер + bp, чтобы поместить binding.pry над текущей строкой.
Ответ 6
Для этого вы можете определить ярлык с помощью следующих нажатий клавиш
- : vsplit $ MYVIMRC
- я
- нет карты bi obinding.pry & lt; cr & gt; & lt; esc & gt;
- & Lt; & ESC GT;
- : Ш
- : источник $ MYVIMRC
Explaination
- Откройте ваш vimrc в новом окне с вертикальным разделением
- Переключиться в режим вставки
- Определите сопоставление для ярлыка 'bi'.
- Выйти из режима вставки
- Сохраните изменения
- Поставьте свой vimrc, чтобы сделать ярлык доступным
Теперь, пока вы находитесь в обычном режиме, нажатия клавиш & lt; b & gt; & lt; i & gt; (один ключ за другим) вставит 'binding.pry' в новую строку под текущей строкой.
Пояснение к шагу 3:
nnoremap - это команда для сопоставления нажатий клавиш для выполнения некоторых действий. 'bi' - комбинация нажатий клавиш. Вы можете настроить это в соответствии с вашими потребностями. А все остальное - это обычная последовательность редактирования на VIM:
- o - переключиться в режим вставки под текущей строкой
- binding.pry & л; кр & GT; - это текст, который будет написан
- & Lt; & ESC GT; - Нажмите escape, чтобы выйти из режима вставки.