Vraag Hoe de inhoud van de pasta in de vi-editor te kopiëren


Ik probeerde het te gebruiken Ctrl + V voor het plakken van inhoud in een vi-bewerkingsdocument, maar Ctrl + V wordt niet geïnterpreteerd als een pasta.


115
2018-02-16 08:13


oorsprong


Gewoon een opmerking, de belangrijkste reden om Vi te gebruiken is omdat Vim niet is geïnstalleerd. Als je Vim hebt geïnstalleerd, is het waarschijnlijk de moeite waard om dat te gebruiken. Er is niet echt een voordeel voor Vi, behalve dat het al aanwezig is op elke Unix-installatie. De beste manier om Vim naar mijn mening te leren is om je terminalemulator te openen (niet vanuit Vim) en te typen vimtutor Het zal u binnen ongeveer 45 minuten op de hoogte brengen van waar het bruikbaar voor u is. - Ben Mordecai
+1 @BenMordecai - Ik was al bekend met vi (van ouds), inclusief de handige sub-shell-mogelijkheid, maar moest die vernieuwen. Geweldig klein beetje bijles. Ik ging er doorheen als een briesje. Bedankt. - Cbhihe


antwoorden:


Zorg eerst dat u zich in de bewerkingsmodus bevindt (druk op ik). Dan kun je plakken met Ctrl+Verschuiving+V, als je in een terminal-emulator bent zoals gnome-terminal (of selecteer "Plakken" in het snelmenu).

Je kunt ook typen :set paste in vim voordat je plakt om automatische inspringing uit te schakelen, enz. Dan :set nopaste nadat je de inhoud hebt geplakt.

Controleer ook deze vraag op stackoverflow.com voor meer informatie.

Als je regels wilt kopiëren / plakken vim (in tegenstelling tot klembordinhoud plakken), wil je de rukken opdracht. Hier is een Spiek briefje dat kan helpen.


137
2018-02-16 08:27



Ik denk dat als je muisaanwijzer op hebt, je niet kunt plakken met Ctrl + Shift + V. - Alvin Wong
Gewoon een notitie, de I is hoofdlettergevoelig. De kleine letters i is de normale manier om de invoegmodus te openen. Hoofdstad I brengt de cursor naar het begin van de regel en gaat vervolgens naar de invoegmodus. - Ben Mordecai


Vi (en Vim) werkt heel anders in vergelijking met een normale teksteditor zoals Gedit. Het heeft ook een vrij steile leercurve. Als u enkele basiscommando's wilt leren, begint u met deze interactieve tutorial.

Om je vraag te beantwoorden. De inhoud van het systeemklembord is toegankelijk via het plusteken. Dus om iets van het klembord van het systeem te plakken, kunt u vanuit de Normale modus op: "+ P (Niet tegelijkertijd, maar de een na de ander).


52
2018-02-16 08:34



Dit is iets wat ik tot nu toe niet wist. Ook +1 voor het koppelen van alweer een geweldige vim-zelfstudie. - Attila O.
Sprekend over het leren van curven voor redacteuren, er is de "klassieke leercurve voor enkele gemeenschappelijke editors", blog.thilelli.net/public/store/attached/curves.jpg. - hlovdal
In GNOME Terminal zijn de snelkoppelingen voor kopiëren en plakken respectievelijk Ctrl-Shift-C en Ctrl-Shift-V. - Flimm
Ik heb geprobeerd om te klikken op <kbd> "</ kbd>, <kbd> + </ kbd> en <kbd> p </ kbd>, ook <kbd>" </ kbd> en <kbd> p < / kbd> en er is niets gebeurd. Wat heb ik verkeerd gedaan? ik gebruik vi niet vim - user907860
Dat is het juiste antwoord. Gebruik bijvoorbeeld Ctrl-Shift-v werkt alleen met de eenvoudigste inhoud (regelafbrekingen en inspringingen kunnen erg mis gaan als u zich in de terminal bevindt en u bent vergeten te gebruiken set :paste). - rsenna


  1. Als u de inhoud van de plakken wilt kopiëren binnen hetzelfde bestand, gebruik yank en paste.

  2. Als u de inhoud van de plakken wilt kopiëren tussen terminals, open het eerste bestand, ruk de gewenste tekst aan en open vervolgens uw tweede bestand binnen vim (bijv. :tabnew /path/to/second/file) en druk op p om het te plakken.

  3. Als u de inhoud van de plakken wilt kopiëren van vim naar een extern programma, moet u het systeemklembord openen. Ik neem aan dat je Ubuntu gebruikt. De GUI-versie van vim heeft altijd klembordondersteuning, maar als je Vim wilt gebruiken vanaf een terminal, moet je controleren op X11-klembordondersteuning.

    Typ vanuit de console:

    $ vim --version | grep xterm
    

    Als je vind -xterm_clipboard, je hebt twee opties:

    1) Vim zelf compileren, met de vlag xterm_clipboard ingeschakeld

    2) Verwijder vim, installeer gvim (vim-gtk of vim-gnome) in plaats daarvan. Je kunt je bij niet-gui vim houden door vim vanuit de terminal te bellen, op dezelfde manier als voorheen. Dit keer moet je controleren of je het zou moeten vinden + xterm_clipborad.

    Wanneer je nu wat tekst in het + register in je vim-editor (bijvoorbeeld "+ yy) rukt, wordt het ook gekopieerd naar het systeemklembord dat je uit je externe programma kunt halen, zoals gedit-editor, door gebruik te maken van Ctrl+V.

  4. Als u de inhoud van de plakken wilt kopiëren van een extern programma naar VIM, kopieer eerst uw tekst via het systeemklembord Ctrl+C, dan in VIM-editor invoegmodus, Klik op de muis middelste knop (meestal het wiel) of druk op Ctrl+Verschuiving+V plakken.

    Dit zijn 4 basis kopiëren plakken voorwaarden gerelateerd aan vim. Ik hoop dat dit helpt.


23
2018-02-20 05:53



Waar gaat het om: tabnew / path / to / second / file? Je kunt exact hetzelfde resultaat bereiken door te knippen / kopiëren / knippen in het eerste bestand, het tweede bestand te openen met: vi / pad / naar / seconde / bestand en plakken (p / P) erin. Tenminste in mijn geval ... Of is het omdat ik de + xterm_clipboard vim-functie heb ingeschakeld? Of is er meer nieuws dan alleen dat? - Cbhihe
Op Ubuntu vim-gtk heeft xterm_clipboard ondersteuning en Fedora xvim heeft het. - icc97


Ik gebruik altijd Verschuiving+invoegen wanneer ik tekst in de terminal wil plakken, werkt het in alle terminalprogramma's.

(Dat is ook de reden waarom ik nooit een laptop krijg waar je niet op kunt drukken invoegen zonder een secundaire toets in te drukken)


15
2018-02-17 16:59



Vi/Vim ! = terminal;) - 0xC0000022L
ok ok, maar het werkt nog steeds :) - Magnus Jonsson
+1 hiervoor .. Wat gebruik je om te zeggen Ctrl+A,Ctrl+C ook ? - Arup Rakshit
Als ik een terminal in een DE gebruik, selecteer ik meestal gewoon tekst met de muis en kopieer ik met Ctrl + Shift + C. - Magnus Jonsson
Shift + Insert werkt ook in gvim. (Ik voer Ubuntu 13.10, als dat enig verschil maakt.) - eksortso


Gebruik de middelste knop van de muis om tekst in te voegen die u elders hebt gemarkeerd.

Het is handig als u geen toegang hebt tot uw systeemklembord (bijvoorbeeld in een externe SSH-sessie).

Moet zich in de bewerkings- / invoegmodus voor Vim bevinden.


10
2018-02-16 16:09





Nadat u vi hebt ingevoerd, drukt u op i om in de invoegmodus te komen, klik met de rechtermuisknop in terminal, klik op plakken.


5
2018-02-17 06:34



Ik dacht dat het een kleine zaak was i. Wat doet hoofdletters I do? - Flimm
@Flimm dat al werd uitgelegd in een opmerking van Ben Mordecai over een ander antwoord. - sierrasdetandil
Ik heb het antwoord in kleine letters omgezet i. Hoofdletters I verplaatst de cursor naar het begin van de regel voordat de invoegmodus wordt geopend, wat hier niet nodig is. - Flimm


Gedetailleerde instructies om tekstregels in vi te kopiëren / plakken met yank en put

(gebruik het volgende in de opdrachtmodus van vi)

Kopiëren (YANK)

Om een ​​regel in vi te kopiëren:

  • Verplaats de cursor in de opdrachtmodus naar de regel die moet worden gekopieerd en typ yy of typ Y

Om 2 regels in vi te kopiëren:

  • Verplaats de cursor in de opdrachtmodus naar de eerste regel die moet worden gekopieerd en typ 2yy of typ 2Y

(evenzo kan een willekeurig aantal regels worden gekopieerd)

Om alle regels van de huidige locatie naar het einde van het bestand te kopiëren:

  • Verplaats de cursor in de opdrachtmodus naar de eerste regel die moet worden gekopieerd en typ yG

Om alle tekst van de huidige locatie naar het einde van het huidige woord te kopiëren:

  • Verplaats de cursor in de opdrachtmodus naar de locatie van waaruit de tekst moet worden gekopieerd en typ yw

Om alle tekst van de huidige locatie naar het einde van de regel te kopiëren:

  • Verplaats de cursor in de opdrachtmodus naar de locatie van waaruit de tekst moet worden gekopieerd en typ y$

Plakken (PUT)

Tekst in het klembord plakken - na de locatie van de cursor:

  • Typ in de opdrachtmodus p

Tekst in het klembord plakken - voor de locatie van de cursor:

  • Typ in de opdrachtmodus P

3
2017-11-03 21:43





Als je wortel: Ctrl+Verschuiving+V

Als je niet-root: Centreer met de muis.


0
2017-07-01 06:54





Ik wilde alleen opmerken dat je Vim via Git Bash op Windows kunt gebruiken p of in het midden van de muis klikken zonder in de invoegmodus te staan. Vim gebruiken Stopverf, je kunt gewoon met de rechtermuisknop klikken. En markeren doet het kopiëren.

Ik heb dit opgemerkt omdat ik hier niet zag dat dit SE voor Ubuntu is.

Andere nuttige opdrachten:

  • yy(# van regels) - yank (kopie)
  • dd(# van regels) - verwijderen
  • p - plak de regel onder de huidige regel
  • Verschuiving + p - plak de regel boven de huidige regel
  • u - ongedaan maken
  • r - opnieuw doen
  • ik - invoegmodus
  • v - visuele modus

0
2017-07-21 03:27





Ik had een probleem, omdat mijn Vim-installatie niet ondersteunde het klembord:

vim --version | grep clip
-clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      -mouseshape      +startuptime     -xterm_clipboard

Ik heb vim-gnome (die het klembord ondersteunt) geïnstalleerd en daarna opnieuw gecontroleerd:

vim --version | grep clipboard
+clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      +mouseshape      +startuptime     +xterm_clipboard

Nu kan ik kopiëren en plakken met respectievelijk "+ y en" + p.


0
2018-06-09 11:35