Portál AbcLinuxu, 19. července 2025 12:08


Dotaz: Pohyb v shellu -- skoky

16.1.2009 22:34 Tomas Kuranyi
Pohyb v shellu -- skoky
Přečteno: 361×
Odpovědět | Admin

Dobry den.

V shellu CTRL-B (resp. CTRL-F) skoci na predchazejici (nasledujici) znak a ESC-B (resp. ESC-F) skoci na predchazejici (nasledujici) slovo. Klavesu Control muzu podrzet a pohyb je pohodlny. Bohuzel klavesu Escape musim pri kazdem kroku tlacit, tedy ESC-B-B-B-B nefunguje, musim zadat 4x ESC-B, a klavesa Escape je daleko :(

Jak je mozne vymenit tuhle funkcionalitu? Tedy bylo by dobre, kdybych mel:

CTRL-B skok na predch. slovo...

ESC-B skok na predch. znak...

Skoda, ze neni tohle je implicitni nastaveni...

Dekuji.

 

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Přemek Vyhnal avatar 17.1.2009 00:33 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
Rozbalit Rozbalit vše Re: Pohyb v shellu -- skoky
Odpovědět | | Sbalit | Link | Blokovat | Admin

nevím, o těhle zkratkách jsem nevěděl.

mám to ale nastavené na Ctrl+šipky

/etc/inputrc :

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
 

NO RAPTORS!
17.1.2009 00:35 Aldagautr | skóre: 20
Rozbalit Rozbalit vše Re: Pohyb v shellu -- skoky
Odpovědět | | Sbalit | Link | Blokovat | Admin

a co takhle alt+b a alt+f?

o svobodu prichazi nejsnaze ten, kdo o ni nikdy nebojoval
17.1.2009 13:46 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Pohyb v shellu -- skoky
Jen pokud Alt slouží i jako Meta. Tyto dvě zkraty jsou defaultně totiž Meta+b a Meta+f.

Všechny tyto klávesové zkratky lze změnit v ~/.inputrc (nebo i globálně), viz man bash, kapitola READLINE.
17.1.2009 21:27 Tomas Kuranyi
Rozbalit Rozbalit vše Re: Pohyb v shellu -- skoky

Dobra..., je mozne nastavit tak, ze pravy Alt bude delat totez jako Esc a levy Alt zustane pro zavolani menu term. okna?

Dival jsem se do inputrc a do man bash, ale nejak jsem nepochopil, jak ty zkratky nastavit...

Dekuji.

 

 

18.1.2009 02:01 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Pohyb v shellu -- skoky
To už nemá s bashem nic společného, to už je otázka terminálu, v tomto případě předpokládám as (?) xterm a potažmo konfigurace X serveru.

Možná bych to měl trochu podrobněji rozvést. V Unixu se tradičně používají čtyři modifikátory: Shift, Ctrl, Alt, Meta. Některé klávesnice (a mezi nimi IBM PC) ale Meta nemají a proto existuje alternativní způsob jak ho zadat: klávesa ESC.

X server lze nakonfigurovat tak, aby například levá klávesa Alt sloužila jako modifikátor Alt, pravá klávesa Alt jako modifikátor Meta. Za praktičtější ale považuji konfiguraci, kdy oba Alty fungují jako Alt a klávesy s okénkem slouží jako Meta (když už tam jsou).

Výchozí konfigurace se může lišit podle distribuce, případně i podle desktop prostředí.

Aktuální konfiguraci lze prozkoumat pomocí programu xev, který na výstup vypisuje všechny události všetně stištěných kláves. Je tam jasně vidět, co vlastně která fyzická klávesa (=tlačítko) ve skutečnosti dělá.

18.1.2009 17:51 Tomas Kuranyi
Rozbalit Rozbalit vše Re: Pohyb v shellu -- skoky

Mam Fedoru 8 a Gnome.

Obsah souboru inputrc:

# do not bell on tab-completion
#set bell-style none

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

# Completed names which are symbolic links to
# directories have a slash appended.
set mark-symlinked-directories on

$if mode=emacs

# for linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word

# for rxvt
"\e[8~": end-of-line

# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line

$endif
 

Jak muzu zjistit, zda mam emacs nebo ne...?

Jak mam zadat, aby CTRL-B skocil na predch. slovo?

Tedy "Commands for Moving" v "man bash" obsahuje vychozi nastaveni a toto nastaveni lze zmenit? Existuje program, ktery vypisuje, ze pri akt. nastaveni, ktera zkratka dela co... (napr.: CTRL-E............end-of-line)? Nebo tyto veci mam zjistit z "inputrc"?

Vyzkousel jsem "xev", je to super, prave jsem se chtel zeptat v minulem prispevku, zda neco takoveho neexistuje, ale zapomnel jsem... Dik.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.