pbpaste (mac) -> linux (remote) plakken in VI (he wat?)

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
Heb een usercase waar ik geen passende oplossing voor krijg:

"plakken in VI is traag"
"plakken in nano gaat snel"

stel; ik kopieer 4000 regels naar het plakbord (lokaal mac), die wil ik vervolgens remote plakken op een linux bak in text editor (in nano gaat dat snel, in VI duurt dat eeuwen).

duidelijk; issue zit bij vi - hoe die met clipboard om gaat. (zowel lokaal als remote hetzelfde)

doe ik in VI een:
code:
1
:r pbpaste
- gaat dat instant (lokaal via mac)
plak ik via command+v (duurt het lang - lokaal)

probeer ik dit remote:
code:
1
:r pbpaste
- gebeurd er nix, want pbpaste bestaat niet in linux land
plak ik via command+v (duurt het lang - remote)

schijnbaar heb je xclip en xsel (maar dat werkt niet want het is een bak zonder X). Dan kan ik op de mac xquartz gebruiken - maar dat werkt maar beperkt qua features en stabiliteit.

Ben zelf geen VI gebruiker, dus niet erg in thuis. Na wat googlen kan je met lazyredraw het 'individueel renderen van karakters' uitschakelen (geeft geen verbetering), is ook nog zo iets als slowtty maar dat verbeter ook niets.

:X toen werd het lastig :+

een VI user die hier ervaring mee heeft? zijn er andere truuken die het plakken van grote lappen text over ssh naar VI kunnen verbeteren? (lokaal overigens zelfde)

een totaal irrelevant plaatje om de boel wat op te leuken
Afbeeldingslocatie: https://img-9gag-fun.9cache.com/photo/amPvm39_700bwp.webp

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards

Alle reacties


Acties:
  • +1 Henk 'm!

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Geen idee of je met vi (geeft vim trouwens hetzelfde resultaat?) verbetering kan krijgen, ik probeer meestal vi ten alle tijden te vermijden...
himlims_ schreef op donderdag 25 maart 2021 @ 14:31:
een VI user die hier ervaring mee heeft? zijn er andere truuken die het plakken van grote lappen text over ssh naar VI kunnen verbeteren? (lokaal overigens zelfde)
Waarom wil je de tekst kopiëren via de ssh console? Waarom doe je het niet lokaal in een file opslaan en over zetten met scp?
Je geeft aan dat nano sneller gaat, waarom kan je dat dan niet gebruiken? Daarna kan je toch nog steeds switchen naar vi(m) als je dat fijner werken vindt.

Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
programmeur werkt al 20+jr met vi(m) en dat zal niet gaan veranderen :+
het betreft meer 'regels code' van a -> b (insert in bestaande code), dus niet bestandsmatig overzetten via scp.

maar hebt gelijk; plakken nano, daarna verder editen is prima workaround.

alleen wil ik het 'oplossen' :+ dat pbpaste vanuit mac (lokaal) naar vi(m) gaat wel instant. Dus het 'moet' kunnen. volgens mij verwerkt die gewoon stdin.

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • +1 Henk 'm!

  • DaFeliX
  • Registratie: December 2002
  • Laatst online: 15:58

DaFeliX

Tnet Devver
lazyredraw heeft in dit geval geen nut; dat heeft effect als je bijv macro's draait.

Als je vim hebt, en deze met de clipboard flag is gecompiled zou je "*p kunnen gebruiken om iets van een klembord te halen; werkt dit wel sneller?.

nm, het gaat om lokaal <-> remote, dat gaat dus niet werken; je kunt remote niet de clipboard uitlezen van je lokale machine. Ik zou dan kijken naar een oplossing waarbij je vanaf je lokale machine de output van je clipboard over ssh verstuurd, en deze vervolgens als invoer in vim gebruiken. Of je gebruikt nano om de data van het clipboard op te vangen, deze weg te schrijven naar een apart bestand en in te lezen in vi

Anders zou je in vim eerst ":set paste" kunnen gebruiken zodat hij iig de gepaste tekst niet opmaakt, dat zal wellicht al helpen.

[EDIT] Schijnbaar zou je swapfile in de weg kunnen zitten, als je die eerst uitzet met ":set noswapfile", merk je dan verschil?

[ Voor 7% gewijzigd door DaFeliX op 25-03-2021 15:00 ]

Einstein: Mijn vrouw begrijpt me niet


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
het kopieren (lokaal) plakken bij server (remote) gaat opzich prima - ik blijf dat magic vinden :+ de lazyredraw had ik getest, begreep dat breder zat dan alleen macro's, want plakken zou daar ook onder moetne vallen)

de opties
:set paste
:set noswapfile

had ik ook bij stackoverflow gelezen :+

(maar goed; ook lokaal op de mac met vi gaat 'gewoon plakken' erg traag (kan koffie halen in de tijd dat ie 4000 regels geplakt heeft. Maar via pbpaste gebeurd dit zo goed als instant) Dus 'het moet kunnen' alleen snap ik niet hoe :+

de optie via x11 forward over ssh lijkt de meest voorgedragen optie te zijn, maar het is niet erg wenselijk om dit zo neer te zetten - daarlang is die xquartz niet heel stabiel hier.

//edit;

code:
1
I usually use :r! cat and then paste ( shift + insert ) the content, and CTRL+D.

dit lijkt te werken, vergelijkbaar met nano/mcedit - niet zo snel als met pbpaste, maar het is werkbaar
gaan het op deze manier doen - is best werkbaar. dank voor support :>

[ Voor 3% gewijzigd door himlims_ op 25-03-2021 15:29 ]

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:38

Hero of Time

Moderator LNX

There is only one Legend

Wordt er in Vi/Vim nog gebruik gemaakt van extra plugins en opmaak? Zet eens de syntax highlighting uit via ':syntax off' en andere plugins die mogelijk aan staan, zoals filetype checking en indentation rules.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • synoniem
  • Registratie: April 2009
  • Niet online
Dit werkt ook redelijk vlot:
code:
1
2
3
4
5
6
7
8
9
cat > bestand

of

cat >> bestand

ctl shift insert
enter
ctl d

Acties:
  • +1 Henk 'm!

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Bij het googlen kwam ik een leuke optie tegen, de oplossing aangedragen is net de andere richting op; de remote host iets laten schrijven in een lokaal clipboard. Maar ik vond het zo leuk gevonden dat ik hem hier toch wil delen. En eerlijk zou het ook wel interessant zijn om het dan toch in de andere richting te laten werken ...

Ik kwam deze post op stackoverflow tegen:
https://stackoverflow.com...from-a-remote-ssh-session (1 na laatste antwoord)

Met een linkje naar deze site:
https://xicod.com/2021/02/09/clipboard-over-ssh.html

Deze oplossing heeft ook xclip nodig, maar enkel op de lokale machine, dus volgens mij zou er een oplossing kunnen werken met pbpaste.

[ Voor 10% gewijzigd door kluyze op 25-03-2021 20:40 ]


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
Hero of Time schreef op donderdag 25 maart 2021 @ 17:55:
Wordt er in Vi/Vim nog gebruik gemaakt van extra plugins en opmaak? Zet eens de syntax highlighting uit via ':syntax off' en andere plugins die mogelijk aan staan, zoals filetype checking en indentation rules.
helemaal stock/vanilla aan het testen geweest - lijkt iets met de 'opbouw' rendering van vi(m) te doen. de eerder oplossing via !r cat lijkt 'werkbaar'. Gaat niet zo rap als met pbpaste (lokaal mac) of via plakken in nano, maar het is best ok.
synoniem schreef op donderdag 25 maart 2021 @ 18:35:
Dit werkt ook redelijk vlot:
code:
1
2
3
4
5
6
7
8
9
cat > bestand

of

cat >> bestand

ctl shift insert
enter
ctl d
ging specifiek om bepaalde stukken code eenvoudig (njah, snel :+) te copy/pasten. via cat insert into file onderbreekt zijn workflow.

dank voor feedback

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards

Pagina: 1