6

У меня такое чувство, что если бы я знал правильную терминологию здесь, мне не нужно было бы задавать этот вопрос, и Google было бы достаточно. Увы.

Используя http://www.vim.org/scripts/script.php?script_id=2423, когда я запускаю команду ':Gist', плагин печатает ссылку на гист в нижней части окна терминала, где можно нормально вводить команды. Я не уверен, как это называется. Я не могу выделить там текст и, следовательно, не могу скопировать его, и в тот момент, когда я делаю что-то еще, текст исчезает и заменяется текстом в обычном режиме.

Я знаю, что есть q: для просмотра старых команд, но есть ли какой-нибудь способ, которым я могу просматривать старые сообщения, такие как то, что выкладывает gist.vim? Или, по крайней мере, есть какой-то волшебный способ скопировать этот красивый текст, прежде чем я сделаю что-нибудь еще, и он исчезнет?

Если это актуально, я работаю на OS X Lion и запускаю Vim в iTerm. Ничего особенного.

3 ответа3

8

Я искал любой ответ на ваш вопрос из-за другого плагина. Я наткнулся на имя вывода сообщения в :h message .

Если ваше окно vim все еще открыто, похоже, вы можете нажать g< чтобы увидеть последнее сообщение.

Я думаю :messages тоже работает.

4

В :help Gist есть настройка, которая автоматически копирует ссылку на gist в буфер обмена с помощью :Gist -c

If you set g:gist_clip_command, gist.vim will copy the gist code with option '-c'.

Mac:

let g:gist_clip_command = 'pbcopy'

Linux:

let g:gist_clip_command = 'xclip -selection clipboard'

Others (cygwin?):

let g:gist_clip_command = 'putclip'

Добавьте это к вашему ~/.vimrc и все готово .

Редактировать:

Нашел хакерское решение.

Перейдите на gist.vim и найдите эту функцию.

function! s:GistPost(user, token, content, private)

  " find GistID: in content, then we should just update

  ...  

  let location = substitute(location, '^[^:]\+: ', '', '')
  if len(location) > 0 && location =~ '^\(http\|https\):\/\/gist\.github\.com\/'
    redraw
    echo 'Done: '.location
  else

  ...

  return location
endfunction

Измените echo на echomsg .

  if len(location) > 0 && location =~ '^\(http\|https\):\/\/gist\.github\.com\/'
    redraw
    echomsg 'Done: '.location

Теперь перезапустите vim и после ввода :Gist введите :message чтобы получить ссылку из истории сообщений. История сообщений регистрирует все, начиная с echomsg и echoerr для этого сеанса.

0

Отправил исправление автору плагина по этому поводу. https://github.com/mattn/gist-vim/pull/49

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .