Как редактировать существующее сопоставление клавиш в vim?

Как мне отредактировать существующее отображение в vim? Я установил сопоставление в моем файле.vim, используя одну из стандартных команд сопоставления:

map ^A o]]></code>^M<GRD minus="" summary="">^M^M<p></p>^M^M</GRD>^M^M<code><![CDATA[0kkkkkk5ehi

Я хочу отредактировать эту длинную команду, чтобы использовать "matlab" вместо кода, например:

map ^A o]]></matlab>^M<GRD minus="" summary="">^M^M<p></p>^M^M</GRD>^M^M<matlab><![CDATA[0kkkkkk5ehi

Однако я не хочу редактировать файл.vim - я снова буду использовать исходное отображение. Я просто хочу изменить отображение для моей текущей сессии. Я попытался: карта ^A, но это только отображает текущее отображение, и я не могу скопировать отображаемый текст.

PS Обратите внимание, что символы ^M и ^ A вставляются с помощью Ctrl-Q Ctrl-M и т. Д.

2 ответа

Решение

Настройка отображения только для текущего сеанса необычна; наверное, поэтому плохо поддерживается. Я предполагаю, что вы на самом деле не озабочены сессией, а скорее типом файлов Matlab. Для этого есть отличная поддержка. Если 'filetype' определяется как matlab, вы можете поместить вариант отображения локального буфера в ~/.vim/after/ftplugin/matlab.vim:

map <buffer> ^A ...

Прямое редактирование

Если вы предпочитаете придерживаться своего первоначального плана, я бы сделал это так:

  1. Открытая конфигурация: :split ~/.vimrc
  2. Редактировать отображение на месте
  3. Дерните строку: yy
  4. Выполните, чтобы активировать для текущего сеанса: :@"
  5. Прервать редактирование без сохранения: :bdelete!

альтернатива

Для более общего решения, вы также можете захватить вывод оригинала :map ^A команда через :redir, затем :put что в :newскретч-буфер, и наконец :source тот. Это больше ручных шагов и ввода, но может быть автоматизировано с помощью специальной команды. Стоит, если вам это нужно часто.

Чтобы установить карту только для текущего сеанса, выполните

:map ^A o]]></matlab>^M<GRD minus="" summary="">^M^M<p></p>^M^M</GRD>^M^M<matlab><![CDATA[0kkkkkk5ehi
Другие вопросы по тегам