La finalización de la pestaña Bash deja de buscar


8

Cuando estoy escribiendo en bash y presiono la tecla "tab" para completar automáticamente, a veces lleva un tiempo considerable. Por ejemplo, el archivo IO para leer directorios tarda más de 5 segundos y, por lo tanto, me quedo a la espera de que se complete IO antes de poder seguir escribiendo. Me siento frustrado y Ctrl-C para poder rehacer lo que estaba escribiendo.

Ctrl-C es lamentable, ya que debo volver a escribir todo de nuevo. ¿Cómo puedo decirle a bash que deje de intentar cumplir con mi solicitud de autocompletar?

$ /long/path/to/some/d     # once I've typed this, I press <TAB>. I now will be
                           # stuck waiting for perhaps 10 seconds. The only thing I
                           # know to do is Ctrl-C. When I press Ctrl-C, I am forced
                           # to retype the original command string.
$

Es posible que desee echar un vistazo a esto. ubuntuforums.org/showthread.php?t=1865538
Ramesh

Respuestas:


1

Acabo de encontrar esto aquí .

Uso Ctrl+\. Se detendrá la finalización y volverá a su línea de comando sin perder el comando actual.


Desafortunadamente, esto no funcionó para mí en Ubuntu
josh

0

Puede tener problemas similares sin completar la pestaña. Esto no introduce una diferencia técnica, es decir, se aplican las mismas soluciones.

Una posibilidad es comenzar la búsqueda en segundo plano y escribir el resultado en un FIFO. Puede leer desde el FIFO con un tiempo de espera entonces ( read -t 0.3 ...).

Supongo que he visto una solución más simple que los FIFO aquí recientemente ... pero actualmente no lo recuerdo. read -ttambién funciona con una tubería, pero el acabado readno mata las partes anteriores de la tubería y la tubería regresa solo después de que todas sus partes hayan terminado.


¿Cómo es esto relevante para la pregunta ...?
lensovet

@lensovet Si parece que no hay forma de resolver el problema de la manera solicitada (es decir, abortar la búsqueda), me parece bastante útil una pista sobre cómo (al menos en parte) evitar el problema.
Hauke ​​Laging

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.