używamZakończenie bash - jak pozbyć się niepotrzebnych naciśnięć kart?
cur="${COMP_WORDS[COMP_CWORD]}"
opts=`sqlite3 test.db "${QUERY[COMP_CWORD]}"`
SAVEIFS="$IFS"
IFS=$'\n'
COMPREPLY=($(compgen -S"'" -P"'" -W "${opts}" $cur))
IFS="$SAVEIFS"
aby możliwe warianty z bazy danych i wypełnić je z TAB. Dopóki te warianty mogą zawierać spacji, jest wygodny do autoquote im korzystania '
jako prefiks i sufiks, więc po naciśnięciu , B, TAB i istnieje tylko jeden wariant z AB
prefiksu, a następnie uzyskać coś jak 'ABC DEF'
.
Ale problemem jest to, że jeśli istnieje wiele wariantów następnie po , B, TAB uzyskać 'AB
, potem naciśnij TAB ponownie i jest NOP, a dopiero na trzecim TAB press Dostaję możliwe uzupełnienia.
Czy istnieje sposób na zmniejszenie liczby wycinków do jednego lub co najmniej dwóch? TAB
idealnym rozwiązaniem. To redukuje tłoczenia TAB tylko do jednego. – sknaumov
jeśli nie jest oczywiste: dodaj 'set show-all-if-ambiguous on' do ~/.inputrc, aby zrobić to automatycznie. –