Portál AbcLinuxu, 12. května 2025 12:45

Dotaz: funkce pro přidání mezery za kurzor

Pavel Dobeš avatar 22.1.2005 02:21 Pavel Dobeš | skóre: 21 | Praha
funkce pro přidání mezery za kurzor
Přečteno: 184×
Odpovědět | Admin
Zdravím,

nevíte náhodou, jak by se dala přidat mezera za kurzor při stlačení klávesy <tab>?

Jde mi o řešení problému z dotazu chovani tab a historie v bashi.

Zkoušel jsem poslat na /dev/(std(in|out)|console) echo -ne ' ' před definovámím slova, které se expanduje, ale nějak to nefunguje ;(

Přes tput mi to taky nejde... Neřešil to někdo a nebo si raději nikdo nepouziva?

S pozdravem PaD
Windows? A kdo to ještě používá?
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 22.1.2005 02:29 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: fce pro přiání mezery za kurzor
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud vim, tak ta mezera se tam prida, az kdyz je doplneny vyraz kompletni, resp. nic dalsiho uz nejde doplnit. Takze vlastne neni co resit ;-)
Hello world ! Segmentation fault (core dumped)
Pavel Dobeš avatar 22.1.2005 11:32 Pavel Dobeš | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: fce pro přiání mezery za kurzor
No, ale ja mam jiny problem... kdyz chci pridat parametr k mplayeru s vice filmy (muj testovaci program) tak musim pridat parametry berzprostredne za nazev programu... tak se tam presunu kurzorem, mplayer ./film*.avi -> mplayer -(kurzor)./film*.avi se snazi expandovat -./film*.avi a ja bych potreboval pridat mezeru bezprostredne za kurzor, aby se neresil -./film*.avi, ale aby se resilo jen od mezery po kurzor... cili -

PaD
Windows? A kdo to ještě používá?
22.1.2005 11:44 Martin Čížek | skóre: 20 | Praha
Rozbalit Rozbalit vše Re: fce pro přiání mezery za kurzor
Odpovědět | | Sbalit | Link | Blokovat | Admin
S tím echem to fungovat nemůže. Vyřešil bych to takto:
  1. Detekce, že jsem na příslušném místě (tedy 1. neparametrový argument argument začínající -),
  2. rekurzvní aplikace doplnění pro parametry, uložení výsledeku do pole,
  3. přidání mezery ke každému prvku z přechozího bodu.
S výsledkem se poděl. :-)
Kdyby dva z nás byli dvěma z nich, všichni z nás by mohli být všemi z nich.
Pavel Dobeš avatar 22.1.2005 22:23 Pavel Dobeš | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: fce pro přiání mezery za kurzor

Skoro vyřešeno:

v souboru /usr/share/bash-completion/*

jsem změnil

cur=${COMP_WORDS[COMP_CWORD]}
na
cur=$(echo -n ${COMP_LINE:0:COMP_POINT}| \
awk -F"${COMP_WORDS[COMP_CWORD-1]} " '{print $(NF)}' )

Tak, teď to funguje, pokud neobsahuje ${COMP_WORDS[COMP_CWORD-1]} escape sekvence.

Bohužel se mi ale nepodařilo buď donutit awk, aby bralo proměnou a zaroveň ignorovalo escape sekvence a nebo nahradit \ za \\...

Nějaké návrhy?
PaD

Windows? A kdo to ještě používá?

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.