Po otwarciu Vima z terminalu, skopiuj tekst do schowka systemowego i wyjdź z Vima, schowek systemowy zostanie wyczyszczony.Zapobieganie usuwaniu schowka przez Vim przy wyjściu
Jak zachować skopiowany tekst w schowku?
Po otwarciu Vima z terminalu, skopiuj tekst do schowka systemowego i wyjdź z Vima, schowek systemowy zostanie wyczyszczony.Zapobieganie usuwaniu schowka przez Vim przy wyjściu
Jak zachować skopiowany tekst w schowku?
syntetyzowania odpowiedzi od superuser, wystarczy dodać następujące wpisy do .vimrc
autocmd VimLeave * call system("xsel -ib", getreg('+'))
Nie robi dokładnie tego, co chce TS: zapisuje wartość domyślnego rejestru do schowka, a nie rejestru schowka. Powinieneś używać 'getreg ('+')'. – ZyX
Masz rację, mam coś innego w moim vimrc, który synchronizuje dwa ... – Matt
Dzięki za pracę wokół Matta i Z yX. Wymaga to jednak instalacji "xsel". Użyłem getreg ("+"). – gimley
Proszę mnie poprawić, jeśli się mylę, ale z mojego rozumienia Vima ...
1) Vim używa rejestrów zamiast schowka do przechowywania skopiowanych/wyciętych danych.
2) Rejestry te są zachowane podczas wychodzenia vim w pliku statusu, ale nie są dostępne poza uruchomionego procesu, chyba że ręcznie otworzyć plik i sprawdzić jego zawartość
3) Zapisywanie rzeczy do registre + podczas Vim działa pozwala możesz wkleić do innych aplikacji.
4) Zawieszając vim (CTRL-Z) zamiast go zamykać, rejestry te są nadal dostępne.
Czy to zapewnia pomoc?
Jestem w stanie wkleić do innego okna/terminalu, gdy vim nadal działa. Zawieszenie vima za pomocą ctrl + z powoduje wyczyszczenie skopiowanego tekstu, takiego jak exit. – gimley
Ponownie, moje doświadczenie jest bardzo ograniczone Zwykle pracuję z vi przez terminal PuTTY, czego mogłem się nauczyć, to że program używa lokalnych rejestrów podczas działania w celu przechowywania danych do schowka, po zakończeniu aplikacji rejestry są kasowane, a dane są niedostępne, z wyjątkiem pliki pamięci podręcznej, które zapisuje przy zamknięciu, jeśli powoduje to również stan zawieszenia, nie mogę zasugerować niczego innego. Powodzenia: D – Grambot
Install Parcellite lub glipper dla Gnome i klipper dla KDE.
Uruchom ponownie komputer lub uruchom go ręcznie.
Nie rozumiem, dlaczego ludzie głosowaliby na tę odpowiedź. Pokazuje to, że problem nie wynika tylko z zachowania Vima - dotyczy wielu aplikacji. Link pokazuje, jak rozwiązać problem dla wszystkich aplikacji, których dotyczy problem. Czego chcieć więcej? –
Niektóre osoby, na przykład ja, nie potrzebują pełnego menedżera schowka, ponieważ chcemy, aby schowek zniknął, gdy tylko nie jest już potrzebny (np. Ponieważ zawiera poufne dane). Na szczęście Parcellite oferuje tryb demona, w którym "tylko" chroni schowek. – Kevin
Dzięki, Parcellite działa dobrze. –
podstawie Matt's answer dodaje wykorzystuje xclip
zamiast xsel
:
autocmd VimLeave * call system('echo ' . shellescape(getreg('+')) . ' | xclip -selection clipboard')
wpadłem na ten problem i związanego problemu gdzie zawieszania vim z ctrl-z
również wyczyścić schowek. Mam rozszerzone Matt's solution naprawić zarówno:
set clipboard=unnamedplus
if executable("xsel")
function! PreserveClipboard()
call system("xsel -ib", getreg('+'))
endfunction
function! PreserveClipboadAndSuspend()
call PreserveClipboard()
suspend
endfunction
autocmd VimLeave * call PreserveClipboard()
nnoremap <silent> <c-z> :call PreserveClipboadAndSuspend()<cr>
vnoremap <silent> <c-z> :<c-u>call PreserveClipboadAndSuspend()<cr>
endif
if executable("xsel")
straż jest tam, aby uniknąć błędów, jeśli nie jest zainstalowany xsel
. Mapowanie nnoremap
zachowuje schowek podczas zawieszania w trybie normalnym, a uchwyty mapowania zawieszają się w trybach wizualnym lub wyboru.
Potwierdziłem, że to działa na vim 7.4 i 8.0.
Windows, Linux, Mac OS? – TLP
Przeczytaj najczęściej zadawane pytania osób, które głosują, aby zamknąć. "Narzędzia powszechnie stosowane przez programistów" nie są wyłączone. –
@TLP To musi być Linux. Jeśli się nie mylę, proces jest następujący: 1. Kopiujesz tekst. 2. Vim mówi X, że ma dane do schowka ("mówi, że ma dane", a nie "umieszcza dane w schowku"). 3. Wyjdziesz z vima. 4. X teraz nie ma pojęcia, skąd może pobrać dane do schowka: schowek jest "wyczyszczony". – ZyX