Вставка функций из системного буфера обмена в gVIM

Ниже приведено содержимое системного буфера обмена Windows.

  • : функция CurrentLineLength
  • : len = strlen(getline("."))
  • : вернуть лен
  • :конечная функция

Я нажимаю двоеточие, а затем контролирую r. Затем я нажимаю Shift 8, чтобы вставить содержимое системного буфера обмена.

Я нажимаю «Ввод», и vim возвращается с E488: Trailing Characters.

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

Есть ли что-то особенное в том, как вводятся функции, или их можно вставлять из системного буфера обмена?

Спасибо!


person ojblass    schedule 23.03.2009    source источник


Ответы (2)


Я не уверен насчет вставки нескольких строк в командный режим, но вы можете добиться того же, просто поместив функцию в регистр и выполнив регистр (так же, как макрос).

Кроме того, Vim, похоже, не нравится эта функция, поскольку вы ее вставили, я внес пару изменений ниже. Если вы скопируете нижеследующее в системный буфер обмена, а затем нажмете @* в обычном режиме, это сработает.

:function CurrentLineLength()
: let len = strlen(getline("."))
: return len
:endfunction
person gravious    schedule 23.03.2009
comment
Да, это так... возможно, какая-то проблема из буфера обмена Windows в окно замазки... большое спасибо - person ojblass; 25.03.2009

У Vim не должно быть проблем с возвратом каретки в командном режиме (это и есть символы ^M). Я предполагаю, что в коде, который вы вставляете, есть некоторые другие символы - вполне возможно, что это проблема, если вы вставляете с веб-страницы. Попробуйте поместить содержимое буфера обмена в файл и посмотрите, действительно ли это то, что вы ожидаете (включая все пробельные символы).

person soulmerge    schedule 23.03.2009
comment
У меня были некоторые фундаментальные проблемы с тем, что было в буфере обмена... В последнее время я чувствую себя таким тупым... - person ojblass; 25.03.2009