Koudink
Neni dalsi
Seznam
Predchozi
Autor: Tuttle (...) on 'Koudink'
Cas: Pa 29.7.2022 21:46.35
Titulek: Bash tip: Editace radku v editoru

                                                                                 
 
Objevil jsem fajn vlastnost bash:  Ctrl-X E   - vezme aktualni editovany 
radek, zapise ho do docasneho souboru, otevre vas vybrany VISUAL/EDITOR, 
necha vas radek upravit nebo napsat a po ukonceni provede obsah souboru jako 
prikaz.
 
Jedna se o operaci, kterou muzete v man bash najit jako 
edit-and-execute-command
 
Jeji dobre rozsireni je popsano zde: https://superuser.com/a/1601690
 
Udela to same, jako edit-and-execute-command, ale jen editovany radek 
pripravi jako rozepsany k provedeni. Je to vlastne reimplementace te operace 
pomoci bashove funkce:
 
_edit_wo_executing() {
    local editor="${EDITOR:-nano}"
    tmpf="$(mktemp).sh"
    printf '%s\n' "$READLINE_LINE" > "$tmpf"
    $editor "$tmpf"
    READLINE_LINE="$(<"$tmpf")"
    READLINE_POINT="${#READLINE_LINE}"
    rm -f "$tmpf"
}
 
bind -x '"\C-x\C-e":_edit_wo_executing'
 
---
 
Oproti prikladu jsem dodal -f k rm, protoze mam alias rm='rm -i', tak aby se 
neptal.
 
BTW, je to dost dobra advanced ukazka bashoveho levelu. :-)
 
V te funkci je hodne zajimave to hrani si s READLINE_*
Take dokumentovano v man bash.
 
T.

Neni dalsi Seznam Predchozi


[ Domu | Prstik | O Piskovisti | Deticky | Nastenky | Koutky ]