2012-08-16 10 views
18

Il completamento del tab Bash aggiunge ulteriore spazio dopo il primo completamento che arresta ulteriore completamento se il target di compelionamento è un file in cartelle a più livelli.Il completamento del tab Bash aggiunge ulteriore spazio dopo il primo completamento

Ad esempio, ho un file nel percorso ~/Documents/foo/bar.txt e desidero elencarlo. Affronto il seguente problema, quando l'ingresso

[email protected]:~$ls Docu <TAB> 

ottengo

[email protected]:~$ls Documents |(<-this is the cursor, so there is an extra space afer Documents) 

quindi non posso ulteriormente scheda completa. Devo backspace per eliminare lo spazio extra.

Normalmente mi vuole ottenere:

[email protected]:~$ls Docu <TAB> 
[email protected]:~$ls Documents/ <TAB> 
[email protected]:~$ls Documents/foo/ <TAB> 
[email protected]:~$ls Documents/foo/bar.txt 
+2

Questo è così annoyinggggggggg. Sembra che ci sia un bug su Ubuntu https://bugs.launchpad.net/ubuntu/+source/acroread/+bug/769866 –

risposta

6

Ho avuto questo stesso problema con il mio completamento bash sia in Ubuntu 11.10 e 12.04. Ho scoperto che ero in grado di ottenere molti comandi per iniziare a lavorare correttamente modificando/etc/bash_completion. Nello specifico, ho commentato la seguente sezione:

#### 
# makeinfo and texi2dvi are defined elsewhere. 
# 
#for i in a2ps awk bash bc bison cat colordiff cp csplit \ 
# curl cut date df diff dir du enscript env expand fmt fold gperf gprof \ 
# grep grub head indent irb ld ldd less ln ls m4 md5sum mkdir mkfifo mknod \ 
# mv netstat nl nm objcopy objdump od paste patch pr ptx readelf rm rmdir \ 
# sed seq sha{,1,224,256,384,512}sum shar sort split strip tac tail tee \ 
# texindex touch tr uname unexpand uniq units vdir wc wget who; do 
# have $i && complete -F _longopt -o default $i 
#done 

Ora funziona ancora di nuovo. Non ho ancora capito perché io stia ancora comportandomi male.

+0

Grazie! Stavo impazzendo. Questo mi è successo dopo una nuova installazione di 12.04 (non avevo mai avuto il problema nelle versioni precedenti di Ubuntu, ma il mio vecchio sistema era stato aggiornato a 11.10). – David

+0

Grazie. Funziona. – shiquanwang

+0

Grazie, questo mi ha infastidito per MESI! Ho anche depositato un bug report, ma nessuno sembrava seguirlo. Questo ha funzionato proprio ora, incluso per 'mv'. Sperando di non vedere effetti collaterali strani, ma sono fiducioso. – Jonathan

21

Solo per il record: c'è anche un bug nel pacchetto adobereader-enu (acroread) che interrompe il completamento di bash. In questo caso si può semplicemente cancellare il link simbolico:

rm /etc/bash_completion.d/acroread.sh 

Consulta anche: https://bugs.launchpad.net/ubuntu/+source/acroread/+bug/769866

+0

Suoni corretti, ho avuto anche questo problema! – Valentin

+0

rimosso .. e corretto :) – Superbiji

+0

Lo stesso qui, bella cattura! – Victor

4

Questo è stato risposto here a Ask Ubuntu. Esso è legato al bug here

risposta rilevante dalla discussione di cui sopra:

modificare/etc/linea bash_completion 1587, il cambiamento di default per i nomi dei file (fare un primo backup).

0

ho anche avuto il problema modificando _filedir con _filedir_pdf in /etc/bash_completion.d/acroread.sh (Ubuntu 12.04) completamento bash

acroread modifica la funzione _filedir modificando così il comportamento di molte altre funzioni di completamento di alsobash

Problemi correlati