Portál AbcLinuxu, 19. července 2025 12:08
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.
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
a co takhle alt+b a alt+f?
~/.inputrc
(nebo i globálně), viz man bash
, kapitola READLINE.
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.
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á.
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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.