Próbuję wkleić ze schowka systemu Windows do edytora tekstów terminala, takiego jak vim (lub jego schowek i xterm-schowek, pozwalający na warianty takie jak vim-gtx), nano lub emacs bezskutecznie.
Próbuję go głównie z vim-gtx, ponieważ vim jest moim ulubionym edytorem -> ale bez względu na to, jaką metodę wypróbuję, czy jest to:
- Przy użyciu: ustaw wklej i wklej za pomocą Ctrl-v, Shift-ctrl-v (jest to jedyna metoda, która wkleja zawartość schowka)
- Wklejanie za pomocą „* p lub” + p (nie wkleja)
- Kopiowanie danych wejściowych do clip.exe (próbowałem xclip, ale to narzędzie nie działa na WSL), a następnie wklejanie do vima.
Jak wspomniano powyżej, wklejanie ze schowka wydaje się działać tylko po naciśnięciu Ctrl-v w trybie wstawiania (Shift-Ctrl-v wstawia „^”, a „* p i” + p wstawia znak „i” lub „^? '), a wklejone wyjście zawsze wkleja się w jednym wierszu.
Na przykład sekcja domyślnego pliku .bashrc skopiowana z VSCode:
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
Wklei się w edytorze tekstu terminala w następujący sposób:
# enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi
Jeśli widoczne są znaki EOL, znak $ pojawia się tuż po ostatnim znaku. Ten problem występuje bez względu na to, który edytor jest używany, skąd kopiowany jest tekst i bez względu na to, który system wklejania jest używany (jeśli wklejanie w ogóle się powiedzie).
Podsumowując:
Ctrl-v w vimie jest jedynym sposobem na wklejenie czegokolwiek, ale wklejanie następuje tylko w jednym wierszu
„* p /” + p w vimie nie wkleja się zgodnie z oczekiwaniami (ale działa w vimie przez git-for-windows, patrz uwaga poniżej)
- Nie jestem pewien, jak wkleić ze schowka systemowego do nano i emacsa (zwykłe wklejanie i przesyłanie danych wyjściowych do klipu systemu Windows, a następnie wklejanie niczego nie wkleja w tych dwóch programach - mogę wkleić tylko po wewnętrznym zaciągnięciu / skopiowaniu).
- Może to stanowić problem (ze wszystkimi) odmianami vima w systemie Ubuntu dla systemu Windows.
Dzięki
Ważna uwaga: -Podczas wklejania z „* p na vimie przez git-for-windows (zamiast bash Ubuntu), wkleja się poprawnie (z nowymi liniami). Ale Vim (wersja vim-gtx lub ppa) przez Ubuntu nie jest w stanie wklej poprawnie za pomocą „* p - może to być problem z przeniesieniem vima
Odpowiedzi:
Jeśli próbujesz wkleić wiele linii ze schowka do Vima, w tym poście znalazłem działające rozwiązanie.
https://stackoverflow.com/posts/49933556/edit
źródło
Wypróbuj ten łańcuch:
Control
+,R
a następnieShift
+=
źródło
To pytanie zostało napisane w czerwcu 2017 r. I wiele osób poprosiło o obsługę kopiowania i wklejania WSL. W odpowiedzi firma Microsoft wydała aktualizację w kwietniu 2018 r .: Nadchodzi kopiowanie i wklejanie dla konsol Linux / WSL :
Uwaga: Aby korzystać z nowej funkcji, będziesz potrzebować aktualizacji systemu Windows z września 2018 r.
źródło
Zdefiniuj zmienną Bash $ EDITOR na dowolny wybór, tj
Następnie użyj Ctrl-x Ctrl-etego uruchomienia nano. Następnie możesz wkleić zaznaczenie wieloliniowe po zapisaniu, powróć do powłoki z poleceniem wypełnionym z edycji. # aktualizacja zaraz po chwili, chcę dodać, że sztuczka z nano opiera się na nowych możliwościach WSL uzyskanych, jak wspomniano w jednej aktualizacji 2018.
źródło
Miałem ten problem podczas używania cmder / ConEmu jako emulatora terminala.
Istnieje ustawienie ConEmu do wklejania, które domyślnie jest wklejane do pojedynczej linii za pomocą Ctrl + V i wielu linii za pomocą Shift + Insert.
Zmiana ustawienia trybu wklejania nr 2 z
Single line
naMulti lines
jak na poniższym zrzucie ekranu naprawiła to dla mnie.źródło