Como usar o preenchimento automático da guia do Cmd de maneira eficaz?

45

Eu uso o shell Bash no Linux há anos e sou muito rápido com ele. Ao pedir com frequência o preenchimento automático pressionando a tecla tab, sou capaz de escrever comandos longos em poucas teclas.

Recentemente, no meu trabalho, comecei a usar o prompt de comando e o comando do Windows. Eu sou muito lento no Cmd. Possui um recurso de preenchimento automático, mas funciona de maneira diferente. Acho que entendo como funciona, mas não entendo como usá-lo efetivamente; na verdade, muitas vezes me atrasa. Então, pergunto: como usar como usar o preenchimento automático do Cmd de maneira eficaz?


Deixe-me dar um exemplo. Primeiro, descreverei como uso o Bash, depois como tento usar o Cmd e o que está errado.

Suponha que as pastas no diretório atual tenham nomes feitos de um continente e um país, por exemplo. africa-nigeria, asia-india, europe-france, E que eu quero pasta mudança europe-norway.

A maneira como o preenchimento automático do Bash funciona é que a tecla tab se expanda apenas se houver uma expansão exclusiva. Caso contrário, nada acontece, mas você pode pressionar tab uma segunda vez para listar possíveis expansões.

Então, para ir para a Noruega no Bash, digito cde pressiono as seguintes teclas:

  1. e tab para europe-
  2. n tab (nada acontece)
  3. tabnovamente. Ele lista europe-netherlandse europe-norwaycomo possíveis expansões.
  4. o tabpara europe-norway.

Ótimo! Obrigado Bash.

No entanto, quando tento as mesmas teclas no Cmd, ele se expande e tabpara europe-albania, que passa a ser a primeira pasta começando com 'e', ​​mas não é a pasta que eu queria! O que devo fazer agora - é possível transformar a Albânia na Noruega? Ou devo cancelar o comando Escapee digitar tudo do zero?

Coronel Panic
fonte
Você pode usar um menu, por exemplo. menu em lote?
Endoro
No momento, a resposta de Stephan está correta para você. Basta digitar cd ee depois pressionar a TABtecla O que o Windows está fazendo aqui começa a classificar as pastas em ordem alfabética em palavras. Como se houvesse Europe-albaniaantes europe-norway, continue pressionando a TABtecla continuamente até obter o diretório desejado.
avirk
5
@Avirk, então a maneira mais rápida da Albânia para a Noruega é pressionar a tecla Tab 27 vezes?
Coronel Panic

Respostas:

47

Atualização de 1 ano : cheguei à conclusão de que o preenchimento automático do Cmd é inutilizável e parei de usá-lo.

Instalei o Clink, que fornece o preenchimento automático no estilo Bash no Cmd.

O Clink combina o shell nativo do Windows cmd.exe com os poderosos recursos de edição de linha de comando da biblioteca GNU Readline, que fornecem recursos avançados de conclusão, histórico e edição de linha

É brilhante.

Coronel Panic
fonte
Que descoberta incrível!
ysap
Sim, o Clink é o melhor para isso. Eu uso o Clink and Git for Windows para fornecer uma alternativa melhor de cmd.
Matt
Diferente do shell bash, isso não preenche automaticamente os nomes dos arquivos.
Yashbhatt
15

Cygwin permitirá que você execute um shell Bash (além de muitos outros softwares de ambiente POSIX) no Windows.

Caso contrário, você pode tentar um shell alternativo, em vez do prompt de comando antigo, para encontrar um que melhor se adapte às suas necessidades.

Aqui está uma lista de alguns consoles que emulam o bash no Windows:

win-bash
Road Bash
Git Bash descrito neste artigo

Outros consoles:

Windows PowerShell da Microsoft e seu artigo da wikipedia (o mais poderoso)
Console com um artigo
ColorConsole
PowerCmd
GS.EXE
PyCmd

[ EDIT ] Desde então, descobri o Cmder, que é um excelente substituto de console tabular que também traz grande parte do comportamento do shell do Linux, bem como uma porta de muitos aplicativos de manipulação de arquivos do Linux, como o grep.

harrymc
fonte
3
+1. O Cmd sempre foi uma desculpa patética para um shell, e a Microsoft, há muito tempo, desistiu de qualquer desenvolvimento dele. Como você já possui desempenho no bash, sua melhor opção será continuar usando-o instalando o Cygwin.
Andrew Schulman
11
é claro, PowerShell é a melhor nessa lista;)
Taylor Gibb
Para completar a lista um pouco mais: Havia também 4DOSou melhor 4NT, ambos bastante populares nos tempos antigos e muito mais poderosos que command.comou cmd.exe. Parece que Take Command( jpsoft.com/take-command-windows-scripting.html ) é o sucessor deles. No entanto, nunca o usei pessoalmente (e é comercial).
Mpy
11
No meu Win7, o preenchimento automático do PowerShell (usando TAB) (mis) se comporta como no CMD.
ysap
11

Pressionar a TABtecla alterna entre todos os diretórios existentes.

Tente entrar nesse cdmomento TABalgumas vezes e você verá o princípio.

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

por exemplo, levará você para a segunda partida (países / europa-sérvia)

Stephan
fonte
4

O Bash no linux tenta corresponder e preencher automaticamente todos os primeiros caracteres comuns a todos os arquivos.

O prompt de comando do Windows, por outro lado, apenas preenche automaticamente o prompt de comando com o primeiro elemento correspondente.

por exemplo: No linux bash: Após digitar cd countries \ e TAB, o bash irá para os países \ europe-, pois corresponde a todos os nomes de arquivos que começam com e, e você pode inserir os próximos caracteres e pressionar TABnovamente.

No prompt de comando do Windows: Depois de digitar cd countries \ e TAB, o prompt de comando corresponderá ao primeiro nome de arquivo possível que começa com e, europe-albania no seu caso, mas ainda lembra que você inseriu apenas 'e'. Portanto, se você pressionar TABnovamente, mostrará a próxima correspondência possível (ordem alfabética), europa-andorra.

Se você quiser chegar à Europa-Noruega mais rapidamente, você pode:

  1. Digite europe-no e pressione TABou
  2. Digite e continue pressionando TABaté que apareça europa-noruega
Chirag Bhatia - chirag64
fonte
2

Atualização: Git Bash é praticamente tudo que eu preciso

Use o PowerShell ISE em vez de apenas o PowerShell. Isso permite acessar o preenchimento automático do intelliSense, que gera uma lista de opções ao digitar ou Ctrl+ Space. O ISE também abre muitas outras possibilidades interessantes, como a conclusão de guias e outras coisas.

A desvantagem é que ele não suporta aplicativos interativos como ssh ou python shell.

Na verdade, eu comecei a usar o ConEmu hoje por causa dessa desvantagem. ConEmu é bem legal.

O ambiente de script integrado do Windows PowerShell (ISE) é um dos dois hosts para o mecanismo e o idioma do Windows PowerShell. Com ele, você pode escrever, executar e testar scripts de maneiras que não estão disponíveis no Windows PowerShell Console. O ISE adiciona cor de sintaxe, conclusão de guia, IntelliSense, depuração visual e ajuda sensível ao contexto.

O ISE permite executar comandos em um painel do console, mas também suporta painéis que você pode usar para exibir simultaneamente o código-fonte do seu script e outras ferramentas que podem ser conectadas ao ISE. Você pode até abrir várias janelas de script ao mesmo tempo, o que é especialmente útil quando você está depurando um script que usa funções definidas em outros scripts ou módulos.

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

ThaJay
fonte
1

Mantenha Tabpressionada a tecla para avançar pelas opções e Shift+ Tabpara voltar.

Right arrow →A tecla reproduzirá o último caractere de cmdline 1 por vez. Acho isso útil ao renomear arquivos.

por exemplo:

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

Mantenha right arrow →pressionado até 1 e digite 2. Mantenha pressionada a seta direita até 1, depois digite 2. Mantenha pressionada a seta direita até 2 e, em seguida, digite 3, mantenha pressionada a seta direita até o final. O resultado seria ...

ren file.2.mp4 Guitar.licks.02.Pentatonic.3.notes.per.string.mp4
dchip
fonte
o truque da seta para a direita é legal, mas infelizmente não funciona Ctrl+Tab, e eu nunca pressiono essa tecla apenas para ir até o final da linha. Pressionando a seta para cima, em seguida, Homeou Ctrl+Tabpara corrigir alguns personagens seria muito mais rápido
phuclv
1

No Windows 10, a conclusão do nome do arquivo e do diretório pode usar curingas.

Para o exemplo de mudança para europa-noruega, um desses comandos deve funcionar:

cd *nor*<tab>

ou

cd *way<tab>

Você pode usar vários '*' s, e há não um implícito esquerda ou à direita '*'.

Timothy
fonte
1

Simplesmente usando o regedit:

1) Iniciar -> Executar -> regedit 2) Vá para o seguinte para o usuário atual ou todos os usuários do sistema,

Processador HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processador HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Command

3) Clique duas vezes no processador de comandos e altere o valor para "9" em decimal ou "0x9" em hexadecimal. 4) Isso permitiria que o TAB fosse preenchido automaticamente.

Reabra o prompt de comando e experimente.

Porco-espinho
fonte
0

No Windows 10 (7?), Use shift + tab para percorrer as opções de preenchimento automático disponíveis, considerando um caminho parcial.

Quando chamado com nada, ele percorre todas as opções disponíveis no diretório.

Michael.
fonte
11
Isso não faz nada, Shift+Tabapenas inverte a ordem iteração , assim como a adição de mudança para quaisquer outros atalhos de comutação como Ctrl+Tab, Win+Tab, Alt+Tab, Ctrk+K... Com Tab sozinho, você também irá percorrer todas as opções disponíveis no diretório
phuclv