2012-08-16 11 views
18

La finalización de la pestaña bash agrega espacio extra después de la primera finalización que detiene la finalización si el objetivo de la competencia es un archivo en carpetas de varios niveles.Finalización de la pestaña Bash agrega espacio extra después de la primera finalización

Por ejemplo, tengo un archivo en la ruta ~/Documents/foo/bar.txt, y quiero enumerarlo. enfrento el siguiente problema, cuando la entrada

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

me sale

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

Así que no puedo más completa pestaña. Tengo que retroceder para eliminar el espacio extra.

Normalmente quiero llegar:

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

Esto es tan molestogggggggg. Parece que hay un error archivado en Ubuntu https://bugs.launchpad.net/ubuntu/+source/acroread/+bug/769866 –

Respuesta

6

He tenido este mismo problema con mi fiesta de finalización, tanto en Ubuntu 11.10 y 12.04. Descubrí que podía obtener muchos comandos para comenzar a trabajar correctamente editando/etc/bash_completion. Específicamente, comenté la siguiente sección:

#### 
# 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 

Ahora funciona bien de nuevo. Aún no me he dado cuenta de por qué mv todavía se está portando mal.

+0

¡Gracias! Me estaba volviendo loco. Esto comenzó a sucederme después de una nueva instalación de 12.04 (nunca había tenido el problema en versiones anteriores de Ubuntu. Mi viejo sistema había sido actualizado a 11.10). – David

+0

Gracias. Funciona. – shiquanwang

+0

¡Gracias, esto me ha estado molestando por MESES! Incluso archivé un informe de error, pero nadie parecía seguirlo. Esto funcionó justo ahora, incluso para 'mv'. Esperando no ver ningún efecto secundario extraño, pero estoy esperanzado. – Jonathan

21

Solo para el registro: También hay un error en el paquete adobereader-enu (acroread) que rompe la finalización de bash. En este caso sólo se puede borrar el enlace:

rm /etc/bash_completion.d/acroread.sh 

Consulte también: https://bugs.launchpad.net/ubuntu/+source/acroread/+bug/769866

+0

Suena correcto, ¡tuve este problema también! – Valentin

+0

eliminado ... y reparado :) – Superbiji

+0

¡Lo mismo aquí, buena captura! – Victor

4

Esto ha sido contestada en here askubuntu. Se relaciona con el error here

respuesta pertinente de la rosca anterior:

editar/etc/línea bash_completion 1587, por defecto el cambio de nombres de archivo (hacer una primera copia de seguridad).

0

yo también tengo el problema cambiando _filedir con _filedir_pdf en /etc/bash_completion.d/acroread.sh (Ubuntu 12.04)

acroread finalización fiesta cambia la función _filedir alterando con ello el comportamiento de una gran cantidad de otras funciones de finalización de bloqueos también

Cuestiones relacionadas