¿Cómo usar la pestaña de Cmd para autocompletar efectivamente?

45

He usado el shell Bash en Linux durante años y soy muy rápido con él. Al recurrir con frecuencia al autocompletado presionando la tecla de tabulación, puedo escribir comandos largos con pocas pulsaciones de teclas.

Recientemente en mi trabajo comencé a usar el símbolo del sistema de Windows y Cmd. Soy muy lento en Cmd. Tiene una función de autocompletar, pero funciona de manera diferente. Creo que entiendo cómo funciona, pero no entiendo cómo usarlo de manera efectiva, de hecho, a menudo me frena. Entonces, pregunto, ¿cómo usar cómo usar el autocompletado de Cmd de manera efectiva?


Déjame dar un ejemplo. Primero describiré cómo uso Bash, luego cómo trato de usar Cmd y qué sale mal.

Suponga que las carpetas en el directorio actual tienen nombres hechos de un continente y un país, por ejemplo. africa-nigeria, asia-india, europe-france, Y que quiero cambiar la carpeta a europe-norway.

La forma en que funciona el autocompletado de Bash es que la tecla tab se expande solo si hay una expansión única. De lo contrario, no sucede nada, pero puede presionar la pestaña una segunda vez para enumerar las posibles expansiones.

Entonces, para moverme a Noruega en Bash, escribo cdy luego hago las siguientes teclas:

  1. e tab para europe-
  2. n tab (no pasa nada)
  3. tabotra vez. Enumera europe-netherlandsy europe-norwaycomo expansiones potenciales.
  4. o tabpara europe-norway.

¡Excelente! Gracias Bash

Sin embargo, cuando pruebo las mismas teclas en Cmd, se expande e taba europe-albania, que resulta ser la primera carpeta que comienza con 'e', ​​¡pero no es la carpeta que quería! ¿Qué debo hacer ahora? ¿ Es posible convertir Albania en Noruega? ¿O debo cancelar el comando con Escapey escribir todo desde cero?

Coronel Panic
fuente
¿Se puede usar un menú, por ejemplo. menú por lotes?
Endoro
Por el momento, la respuesta de Stephan es correcta para usted. Simplemente escriba cd ey luego presione la TABtecla. Lo que Windows está haciendo aquí es comenzar a ordenar las carpetas en orden alfabético en palabras. Como si lo hubiera Europe-albaniaantes europe-norway, simplemente mantenga presionada la TABtecla continuamente hasta que no obtenga el directorio deseado.
avirk
55
@Avirk, entonces, ¿la forma más rápida de Albania a Noruega es presionar la tecla tab 27 veces?
Coronel Panic

Respuestas:

47

Actualización de 1 año : llegué a la conclusión de que el autocompletado de Cmd no se puede usar y dejé de usarlo.

Instalé Clink que te da autocompletado al estilo Bash en Cmd.

Clink combina el cmd.exe de shell de Windows nativo con las potentes funciones de edición de línea de comandos de la biblioteca GNU Readline, que proporciona capacidades completas de finalización, historial y edición de línea

Es brillante.

Coronel Panic
fuente
¡Qué hallazgo tan asombroso!
ysap
Sí, Clink es lo mejor para esto. Utilizo Clink y Git para Windows para proporcionar una mejor alternativa de cmd.
Matt
A diferencia del shell bash, esto no completa automáticamente los nombres de los archivos.
Yashbhatt
15

Cygwin le permitirá ejecutar un shell Bash (aparte de muchos otros programas de entorno POSIX) en Windows.

De lo contrario, puede probar un shell alternativo, en lugar del antiguo símbolo del sistema, para encontrar el que mejor se adapte a sus necesidades.

Aquí hay una lista de algunas consolas que emulan bash en Windows:

win-bash
Road Bash
Git Bash descrito en este artículo

Otras consolas:

Windows PowerShell de Microsoft y su artículo de Wikipedia (el más poderoso)
Consola con un artículo
ColorConsole
PowerCmd
GS.EXE
PyCmd

[ EDITAR ] Desde entonces descubrí Cmder, que es un excelente reemplazo de la consola tabular que también trae consigo gran parte del comportamiento del shell de Linux, así como un puerto de muchas aplicaciones de manejo de archivos de Linux como grep.

harrymc
fuente
3
+1. Cmd siempre ha sido una excusa patética para un shell, y Microsoft hace mucho tiempo que renunció a su desarrollo. Debido a que ya se desempeña en bash, su mejor opción será continuar usándolo instalando Cygwin.
Andrew Schulman el
1
por supuesto, PowerShell es el mejor en esa lista;)
Taylor Gibb
Para completar la lista un poco más: Hubo también 4DOSo mejor 4NT, ambos bastante populares en otros tiempos y mucho más poderosos que command.como cmd.exe. Parece que Take Command( jpsoft.com/take-command-windows-scripting.html ) es su sucesor. Sin embargo, nunca lo usé personalmente (y es comercial).
mpy
1
En mi Win7, el Autocompletado de PowerShell (usando TAB) (incorrecto) se comporta igual que en CMD.
ysap
11

Al TABpresionar la tecla se alterna entre todos los directorios existentes.

Intente ingresar en cdese TABmomento varias veces y verá el principio.

cd countries/europe-s[TAB][TAB] 

por ejemplo, te llevará al segundo partido (países / europa-serbia)

Stephan
fuente
4

Bash en Linux intenta hacer coincidir y autocompletar todos los primeros caracteres que son comunes a todos los archivos.

El símbolo del sistema de Windows, por otro lado, solo llena automáticamente el símbolo del sistema con el primer elemento que coincide.

por ejemplo: en linux bash: después de escribir cd países \ e TAB, bash irá a países \ europa, ya que coincide con todos los nombres de archivo que comienzan con e, y luego puede ingresar los siguientes caracteres y presionar TABnuevamente.

En el símbolo del sistema de Windows: después de escribir cd países \ e TAB, el símbolo del sistema coincidirá con el primer nombre de archivo posible que comienza con e, europe-albania en su caso, pero aún recuerda que solo había ingresado una 'e'. Entonces, si presiona TABnuevamente, mostrará la siguiente coincidencia posible (orden alfabético), europe-andorra.

Si desea llegar a Europa-Noruega más rápido, puede:

  1. Escriba europe-no y luego presione TABo
  2. Escriba e y luego siga presionando TABhasta que aparezca europa-noruega
Chirag Bhatia - chirag64
fuente
2

Actualización: Git Bash es casi todo lo que necesito

Use PowerShell ISE en lugar de solo PowerShell. Esto le da acceso a autocompletar intelliSense, que genera una lista de opciones al escribir o Ctrl+ Space. ISE también abre muchas otras posibilidades interesantes como completar pestañas y otras cosas.

La desventaja es que no admite aplicaciones interactivas como ssh o python shell.

De hecho, he comenzado a usar ConEmu hoy debido a este inconveniente. ConEmu es genial.

El entorno de secuencias de comandos integradas (ISE) de Windows PowerShell es uno de los dos hosts para el motor y el lenguaje de Windows PowerShell. Con él, puede escribir, ejecutar y probar scripts de formas que no están disponibles en la consola de Windows PowerShell. El ISE agrega colores de sintaxis, finalización de pestañas, IntelliSense, depuración visual y ayuda contextual.

El ISE le permite ejecutar comandos en un panel de consola, pero también admite paneles que puede usar para ver simultáneamente el código fuente de su script y otras herramientas que pueden conectarse al ISE. Incluso puede abrir varias ventanas de script al mismo tiempo, lo cual es especialmente útil cuando está depurando un script que utiliza funciones definidas en otros scripts o módulos.

https://technet.microsoft.com/en-us/library/dd819514.aspx

ThaJay
fuente
1

Mantenga Tabpresionada la tecla para avanzar por las opciones y Shift+ Tabpara retroceder.

Right arrow →La tecla reproducirá el último cmdline 1 carácter a la vez. Me resulta útil al cambiar el nombre de los archivos.

p.ej:

ren file.1.mp4 Guitar.Licks.01.Pentatonic.2.notes.per.string.mp4

Mantenga right arrow →presionado hasta 1, luego escriba 2. Mantenga presionada la flecha derecha hasta 1, luego escriba 2. Mantenga presionada la flecha derecha hasta 2, luego escriba 3, mantenga presionada la flecha derecha hasta el final. El resultado sería ...

ren file.2.mp4 Guitar.licks.02.Pentatonic.3.notes.per.string.mp4
dchip
fuente
el truco de la flecha derecha es genial, pero desafortunadamente no funciona Ctrl+Tab, y nunca presiono esa tecla solo para ir al final de la línea. Presionando la flecha hacia arriba Homeo Ctrl+Tabpara corregir algunos caracteres sería mucho más rápido
phuclv
1

En Windows 10, la finalización del nombre del archivo y del directorio puede usar comodines.

Para el ejemplo de cambiar a europa-noruega, cualquiera de estos comandos debería funcionar:

cd *nor*<tab>

o

cd *way<tab>

Se pueden utilizar varios '*' s, y hay no una implícita principio o al final '*'.

Timothy
fuente
1

Simplemente usando regedit:

1) Inicio -> Ejecutar -> regedit 2) Recorrer lo siguiente para el usuario actual o todos los usuarios del sistema,

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processor HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Command Processor

3) Haga doble clic en el procesador de comandos y cambie el valor a "9" en decimal o "0x9" en hexadecimal. 4) Esto permitiría que la TAB se complete automáticamente.

Vuelva a abrir su símbolo del sistema y pruébelo.

Puerco espín
fuente
0

En Windows 10 (7?) Use Mayús + Tabulador para recorrer las opciones de autocompletar disponibles con una ruta parcial.

Cuando se llama sin nada, pasará por todas las opciones disponibles en el directorio.

Miguel.
fuente
1
Esto no hace nada, Shift+Tabsimplemente se invierte el orden de iteración , al igual que la adición de cambio a cualquier otro atajos de conmutación como Ctrl+Tab, Win+Tab, Alt+Tab, Ctrk+K... Con Tab solo se quiere también pasar por todas las opciones disponibles en el directorio
phuclv