"*
I "+
rejestry są do schowka systemowego ( :help registers
). W zależności od systemu mogą robić różne rzeczy. Na przykład w systemach, które nie używają X11, takich jak OSX lub Windows, "*
rejestr służy do odczytu i zapisu w schowku systemowym. W systemach X11 można używać obu rejestrów. Zobacz :help x11-selection
więcej szczegółów, ale w zasadzie "*
jest to analogiczne do podstawowego wyboru X11 (który zwykle kopiuje rzeczy wybrane za pomocą myszy i wkleja za pomocą środkowego przycisku myszy) i "+
jest analogiczne do wyboru SCHOWKA X11 (który jest właściwym schowkiem).
Jeśli wszystko to przeszło ci przez głowę, spróbuj użyć "*yy
lub "+yy
skopiować linię do schowka systemu. Zakładając, że masz odpowiednie opcje kompilacji, jedna lub druga powinna działać. Możesz to zmienić na coś wygodniejszego dla siebie. Na przykład, możesz umieścić vnoremap <C-c> "*y
swój ~ / .vimrc, abyś mógł wizualnie wybrać i nacisnąć Ctrl+, caby szarpnąć do schowka systemu.
Pamiętaj, że kopiowanie / wklejanie ze schowka systemowego nie będzie działać, jeśli :echo has('clipboard')
zwróci 0. W tym przypadku vim nie jest kompilowany z tą +clipboard
funkcją i będziesz musiał zainstalować inną wersję lub ją ponownie skompilować. Niektóre dystrybucje linuksa domyślnie zapewniają minimalną instalację vima, ale generalnie, jeśli zainstalujesz pakiet vim-gtk
lubvim-gtk3
, możesz uzyskać dodatkowe funkcje.
Możesz także zajrzeć do 'clipboard'
opcji opisanej na :help cb
. W takim przypadku możesz :set clipboard=unnamed
lub :set clipboard=unnamedplus
aby wszystkie operacje szarpania / usuwania były automatycznie kopiowane do schowka systemowego. Może to być niedogodnością w niektórych przypadkach, gdy przechowujesz coś innego w schowku, ponieważ to nadpisuje.
Aby wkleić, możesz użyć "+p
lub "*p
(ponownie, w zależności od systemu i / lub żądanego wyboru) lub możesz zmapować je na coś innego. Piszę je wyraźnie, ale często znajduję się w trybie wstawiania. Jeśli jesteś w trybie wstawiania, nadal możesz wkleić je z odpowiednim wcięciem za pomocą <C-r><C-p>*
lub <C-r><C-p>+
. Zobaczyć :help i_CTRL-R_CTRL-P
.
Warto również wspomnieć o paste
opcji vima ( :help paste
). To wprowadza vima w specjalny „tryb wklejania”, który wyłącza kilka innych opcji, umożliwiając łatwe wklejanie do vima przy użyciu emulatora terminali lub znanego skrótu wklejania multipleksera. Po prostu wpisz, :set paste
aby ją włączyć, wklej zawartość, a następnie wpisz, :set nopaste
aby ją wyłączyć. Alternatywnie możesz użyć tej pastetoggle
opcji, aby ustawić kod klucza, który przełącza tryb ( :help pastetoggle
). Polecam używanie rejestrów zamiast tych opcji, ale jeśli nadal są one zbyt przerażające, może to być wygodne obejście podczas doskonalenia kotłów vim.
Zobacz :help clipboard
więcej szczegółowych informacji.