Fórum Root.cz

Hlavní témata => Software => Téma založeno: macík 22. 03. 2018, 15:17:59

Název: Jak v terminálu editovat text na více řádcích
Přispěvatel: macík 22. 03. 2018, 15:17:59
Když mám v OS X otevřený Terminál, a chci  víceřádkový  text  vložit ze schránky do Terminálu, jak to udělám ,abych mohl ten text ještě následně upravit? Samozřejmě si to načnu počáteční uvozovkou, aby se to nevykonalo jako série příkazů.
Vložím li text k načatému příkazu command.sh '
Kód: [Vybrat]
1
2
3

Do terminálu se vloží  a ukáže:
Kód: [Vybrat]
$ command.sh '
> 1
> 2
> 3
Jenže upravovat už mohu pouze řádek s trojkou, ke 2 1 se už nedostanu. Je to nějak možné?

V praxi třeba dělám třeba to, že si ze schránky zkopíruji adresu, ale zkopíruje se i s terminálním novým řádkem, když pak chci napsat curl 'Cmd+V, už se nepodaří odmazat znak nového řádku a musím načatý  příkaz odklepnout či ukončit přes Ctrl C a dát šipku nahoru a odmazat, tam už jde text editovat OK, JE to ale podle mě nějaké znásilnování bashe (nebo terminálu?)
Název: Re:Jak v terminálu editovat text na více řádcích. Po vložení za uvozovku.
Přispěvatel: Mintaka_ 22. 03. 2018, 15:27:24
Dvojkombinace: ctrl+x ctrl+e jako v Linuxu tam nefunguje?
Název: Re:Jak v terminálu editovat text na více řádcích. Po vložení za uvozovku.
Přispěvatel: macík 22. 03. 2018, 16:16:01
hustý easter egg, ale co to je , to je nějaká 13.komnata, nevodelo se mi zdtoho vylézt. To je nějaký embeded Emacs? TUhle černou magii neumím..
Název: Re:Jak v terminálu editovat text na více řádcích. Po vložení za uvozovku.
Přispěvatel: # 22. 03. 2018, 17:03:44
hustý easter egg, ale co to je , to je nějaká 13.komnata, nevodelo se mi zdtoho vylézt. To je nějaký embeded Emacs? TUhle černou magii neumím..
Proste se dostanes do editoru, kterej mas definovanej pro danyho uzivatele. Si to zmen treba na nano, mcedit whatever.
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: JardaP . 22. 03. 2018, 17:12:08
Co takle to editovat na jednom radku, jako normalni lidi a nacpat si tam stredniky?
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: Kit 22. 03. 2018, 18:22:12
Co takle to editovat na jednom radku, jako normalni lidi a nacpat si tam stredniky?

Hmm, jak to chceš udělat uvnitř schránky? Navíc, když v tom vstupním textu žádné středníky nechceš?
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: JardaP . 22. 03. 2018, 20:26:50
Tak kdyz je to pro terminal, tak to jsou asi prikazy a misto enteru tam muzu hodit stredniky. Jinak budu pouzivat terminal na terminalove veci a na editaci pouziju editor.
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: Kit 22. 03. 2018, 21:18:56
Tak kdyz je to pro terminal, tak to jsou asi prikazy a misto enteru tam muzu hodit stredniky. Jinak budu pouzivat terminal na terminalove veci a na editaci pouziju editor.

Jenže tady není řeč o příkazech, ale o vstupních datech (ve kterých jsou potřeba ty entry) k jednomu příkazu. Ctrl-x Ctrl-e to řeší tím, že místo standardního řádkového editoru spustí standardní textový editor.
Název: Re:Jak v terminálu editovat text na více řádcích, žádné středníky
Přispěvatel: macík 22. 03. 2018, 21:42:08
středníky jsou zakázaný, představte si že neexistujou, nic o středníkách nepadlo. Prostě když si přečtete ten usecase (neskloňuje se, cizí slovo!), tak to pochopíte,
1 prostě mám nějaký text někde nepsaný, kde je read only, označím ho, dám ctrl V
2  Přípravím terminál na přísun složitého textu (https://forum.root.cz/index.php?topic=17448.0), tím ,že napíšu otevírací uvozovku
3. Dám Ctrl V, jelikož nejak text musím vydolovat
4. Nyní chci udělat v celém vloženém textu úpravy na všech řádcích (například opravit hrubky v španělčtině...)
5. ale všechny řádky jsou již zamčené kromě posledního. částečně řešení by bylo si otevřít textový editor jako další aplikaci nebo další tab terminálu, a tam text zeditovat, označit  zkopírovat, ale to je krok navíc
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: Steve 22. 03. 2018, 21:57:51
Maciku uz jsem ti to jednou psal.

Tak jeste jednou.

Poslouchas?

Pouziij  zsh, jeste jednou zsh ! Ne bash co mas standardne v terminalu a neumi nic. V zsh ta editace vice radku funguje a dokonce nemusis ani davat uvozovky.

Nejlepsi je asi OhMyZsh verze http://ohmyz.sh
Název: Re:Jak v terminálu editovat text na více řádcích, žádné středníky
Přispěvatel: JardaP . 22. 03. 2018, 23:04:07
středníky jsou zakázaný, představte si že neexistujou,

Ja mam stredniku dost, tak ti jich par posilam a dej si je do Macu, at mas taky. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Citace
4. Nyní chci udělat v celém vloženém textu úpravy na všech řádcích (například opravit hrubky v španělčtině...)

Jeste bys mohl prestat si psat s lidmi, kteri neumi poradne spanelsky. Ostatne bash spanelsky take neumi, tak ho prestan krmit volovinami. ;-)
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: drnest 23. 03. 2018, 13:01:39
Už je to tu napsáno, jen to shrnu:

Nastav si proměnnou editor na oblíbený textový editor, klidně třeba grafický gedit
export EDITOR=gedit
Stiskni Ctrl-X Ctrl-E
Vlož text, edituj, zavři editor
příkaz se spustí
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: gll 23. 03. 2018, 13:17:08
Používej terminál uvnitř editoru.
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: Steve 23. 03. 2018, 13:25:14
export EDITOR=gedit

Gedit na macu, hell yeah  ;D ;D ;D  To macika uplne zblbnes. Zadny editor neni treba, postaci lepsi shell.
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: Kit 23. 03. 2018, 13:32:43
export EDITOR=gedit

Kód: [Vybrat]
$ gedit
(gedit:22718): Gtk-WARNING **: cannot open display:

Není to náhodou závislé na Xorg?
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: Kamil Podlešák 23. 03. 2018, 18:55:04
Wow, koukám že se podařilo najít problémy které jsou 100% reprodukovatelné na Linuxu.
Za týden si můžeš koupit Thinkpad, dát na něj Ubuntu a pokračovat v zábavné show.

Gratuluji!
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: JardaP . 23. 03. 2018, 19:08:06
Ano, s Ubuntu je opravdu zabava, ze by se clovek posral.
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: x14 23. 03. 2018, 19:59:44
S macíkem je vždycky sranda  ;D ;D ;D
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: macík 26. 03. 2018, 13:08:24
Tak prubnu ten shell, to se mi zdá jako nejlepší odpověď a né nějaký půjčování středníků jako od malýho jardy, nebo instalace geditu od ambasadorů linuxu
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: Kit 26. 03. 2018, 13:56:06
Zkus si na Ctrl-x Ctrl-e asociovat ed. Ten má k shellu dost blízko a umí toho docela dost.
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: drnest 26. 03. 2018, 14:25:14
Tak prubnu ten shell, to se mi zdá jako nejlepší odpověď a né nějaký půjčování středníků jako od malýho jardy, nebo instalace geditu od ambasadorů linuxu
Hele nemám Mac, takže nevím jaké editory na něm jsou. S tím geditem to byl příklad, že se dá použít i grafický editor. Chytrému napověz ...
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: Štěpán Burian 26. 03. 2018, 15:24:12
Použít heredoc viz https://linuxhint.com/bash-heredoc-tutorial/ (https://linuxhint.com/bash-heredoc-tutorial/)
Kód: [Vybrat]
cat <<DELIMITER
Line 1: aaaaaaa
Line 2: bbbbbbb
Line 3: cccccccc
Line 4: ddddddd
DELIMITER
Název: Re:Jak v terminálu editovat text na více řádcích
Přispěvatel: Kit 26. 03. 2018, 19:29:08
Použít heredoc viz https://linuxhint.com/bash-heredoc-tutorial/ (https://linuxhint.com/bash-heredoc-tutorial/)

Heredoc by byl v pořádku, pouze neumožňuje editaci již vložených řádek, což je požadováno.