2015-06-15 6 views
7

Chcę zaznaczyć cały tekst z edytora vim, wypróbowałem polecenie :%y+, ale otrzymałem błąd E850: Invalid register name. Otrzymuję to polecenie od this link. Proszę mi pomóc, jak skopiować cały tekst z pliku, który jest otwarty w vim. Są one za pomocą yank, co oznacza od niego ..Jak skopiować cały tekst z edytora vim za pomocą wiersza poleceń vim?

+2

Chcesz wybrać tekst, czy go wyszukać? –

+0

Musisz mieć graficzny Vim, taki jak MacVim lub gVim, lub terminal Vim skompilowany z '+ xterm_clipboard' (patrz' vim --version'), aby użyć rejestru '+ '. Co dokładnie próbujesz zrobić? – Amadan

+0

Wypróbuj nano zamiast Vima. – romainl

Odpowiedz

1

Aby zaznaczyć cały plik można przejść do początku rozpoczęcia trybu wizualnego, skok do końca:

ggVG

5

TLDR: Jeśli chcesz skopiować tekst w vim z typem systemu Schowek ggVg"*y. Objaśnienie poniżej ...

Vim działa w terminalu i, w zależności od tego, jak go używasz i jakiego typu Vim używasz, nie jest tak naprawdę zaprojektowany, aby wybrać tekst za pomocą myszy i skopiować i wkleić w tradycyjny sposób.

Jeżeli chcesz zaznaczyć cały tekst przy użyciu Vima użyj ggVGy (zwróć uwagę na wielkie litery Vg w środku). To polecenie przesuwa kursor na górę pliku, wchodzi w tryb wizualny, przesuwa się na dół pliku (w ten sposób zaznaczając cały tekst), a następnie szarpia (kopiuje). Następnie można użyć p, aby umieścić (wkleić) ten kod , ale tylko wewnątrz Vim.

Jeśli chcesz skopiować do schowka, aby użyć gdzieś poza vim następnie spróbuj tego:

Najpierw wybierz wszystko przy użyciu poleceń opisanych powyżej ale bez końcowegoy: (ggVG). Następnie naciśnij "*y. Ten powinny teraz skopiować go do schowka systemu operacyjnego, a może po prostu wkleić (Ctrl/Cmd + v) gdziekolwiek chcesz poza Vima. Niniejsze może się różnić w zależności od tego, co masz do ustawień Vima ale powinno działać.


krótkie wyjaśnienie poleceń używany. gg przechodzi na początek pliku.V przechodzi w tryb wizualny według linii. G przechodzi na koniec pliku. y jankes (kopiuje) tekst, ale nie do schowka. p umieszcza (wkleja) tekst.

Im bardziej zaawansowany (tj chłodny) rzeczy:

pozwala na dostęp do rejestrów Na przykład zapewnia dostęp do zarejestrowania.

* to schowek systemowy, dzięki któremu "* zapewnia dostęp do klawiatury systemowej. Dlatego "*y przechodzi do schowka systemowego.

+0

świetna odpowiedź ggVG "* y z http://vim.wikia.com/wiki/Accessing_the_system_clipboard – jazzyfresh

1

Chociaż w vimie znajduje się świetne wyjaśnienie, jak uzyskać exploit the system clipboard, wygląda na to, że po prostu masz problem z uzyskaniem dostępu do schowka w vimie. Spróbuj zainstalować vim-gnome, a otrzymasz pakiet, który musisz pobrać do schowka systemowego.

Z jakiegoś powodu "* nie działało dla mnie, ale dokładnie to samo polecenie z rejestrem" + ".

5

Miałem podobny problem. Nie wiem, dlaczego masz tak wiele głosów na dół. Problem polega na tym, że nie zainstalowałeś vim-gnome, który zajmuje około 24 MB i dodaje funkcję do wbudowanego vima.

sudo apt-get install vim-gnome 

to polecenie zadziała. %yy+ To polecenie skopiuje cały tekst ze schowka systemowego.