Jak mogę wyświetlić stare komunikaty o stanie w Vimie?

6

Mam wrażenie, że gdybym znał prawidłową terminologię, nie musiałbym zadawać tego pytania, a Google wystarczyłoby. Niestety.

Korzystając z http://www.vim.org/scripts/script.php?script_id=2423 , kiedy uruchamiam polecenie „: Gist”, wtyczka drukuje łącze do gist na dole okna terminala, gdzie zwykle wpisuje polecenia. Nie jestem pewien, jak to się nazywa. Nie mogę tam zaznaczyć tekstu, a zatem nie mogę go skopiować, a gdy zrobię coś innego, tekst znika i zostaje zastąpiony tekstem w trybie normalnym.

Wiem, że istnieje q: do przeglądania starych poleceń, ale czy jest jakiś sposób, aby wyświetlić stare wiadomości, takie jak ta, którą wyrzuca gist.vim? A może jest jakiś magiczny sposób, aby skopiować ten piękny tekst, zanim zrobię coś innego i zniknie?

Jeśli jest to istotne, korzystam z systemu OS X Lion i korzystam z Vima w iTerm. Nic specjalnego.

Rayne
źródło
Nie wiem o iTerm, ale w Linux Xterm możesz przeciągać i przeciągać, aby zaznaczyć tekst, bez wysyłania wiadomości do Vima.
joeytwiddle

Odpowiedzi:

4

W :help Gist, istnieje ustawienie, które automatycznie kopiuje link gist do schowka: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'

Dodaj to do swojego ~/.vimrci gotowe.

Edytować:

Znaleziono hackish rozwiązanie.

Idź do gist.vimi znajdź tę funkcję.

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

Zmień echona echomsg.

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

Teraz uruchom ponownie vima i po wejściu :Gistwpisz, :messageaby uzyskać link z historii wiadomości. Historia wiadomości rejestruje wszystko z echomsgi echoerrdla tej sesji.

Jin
źródło
1
Tak, zrobiłem to. Pytanie jest jednak nadal aktualne.
Rayne
@Rayne See edit :)
Jin
9

Szukałem odpowiedzi na twoje pytanie z powodu innej wtyczki. Natknąłem się na nazwę wyjścia wiadomości w :h message.

Jeśli okno vima jest nadal otwarte, wygląda na to, że możesz nacisnąć g<ostatni, aby zobaczyć ostatnią wiadomość.

Myślę, że :messagesteż działa.

Eric Hu
źródło