Existe um atalho de teclado para colar o conteúdo da área de transferência em uma janela do prompt de comando no Windows XP (em vez de usar o botão direito do mouse)?
O Shift+ típico Insertnão parece funcionar aqui.
Existe um atalho de teclado para colar o conteúdo da área de transferência em uma janela do prompt de comando no Windows XP (em vez de usar o botão direito do mouse)?
O Shift+ típico Insertnão parece funcionar aqui.
Respostas:
Pessoalmente, uso um pequeno script AutoHotkey para remapear determinadas funções do teclado, para a janela do console (CMD) que uso:
; Redefine only when the active window is a console window
#IfWinActive ahk_class ConsoleWindowClass
; Close Command Window with Ctrl+w
$^w::
WinGetTitle sTitle
If (InStr(sTitle, "-")=0) {
Send EXIT{Enter}
} else {
Send ^w
}
return
; Ctrl+up / Down to scroll command window back and forward
^Up::
Send {WheelUp}
return
^Down::
Send {WheelDown}
return
; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !{Space}ep
return
#IfWinActive
Sim ... mas estranho. Ligação
alt+ Space, e, k<- para copiar e
alt+ Space, e, p<- para colar.
Não é realmente relacionado à programação, mas achei isso no Google, não há um atalho direto no teclado , mas o torna um pouco mais rápido.
Obrigado Pablo, exatamente o que eu estava procurando! No entanto, se eu puder ter a liberdade de melhorar um pouco o seu script, sugiro substituir sua macro ^ V pelo seguinte:
; Use backslash instead of backtick (yes, I am a C++ programmer).
#EscapeChar \
; Paste in command window.
^V::
StringReplace clipboard2, clipboard, \r\n, \n, All
SendInput {Raw}%clipboard2%
return
A vantagem de usar o SendInput é que
Observe que é importante incluir "{Raw}" no comando SendInput, caso a área de transferência contenha "!", "+", "^" Ou "#".
Observe que ele usa StringReplace para remover o excesso de caracteres de retorno de carro do Windows. Obrigado hugov pela sugestão!
ctrl-v
no console um sentimento 'nativo'
ctrl+v
ele cola corretamente, mas também começa a executar a string (é como enter
é pressionado depois). Como posso evitar isso?
Há também uma ótima ferramenta de código aberto chamada clink , que estende o cmd por muitos recursos. Um deles é poder usar ctrl + v para inserir texto.
No Windows 10, você pode ativar Ctrl+ Ce Ctrl+ Vpara trabalhar no prompt de comando :
Aqui está uma ferramenta gratuita que fará isso no Windows. Prefiro-o a um script, pois é fácil de configurar. Ele roda como um aplicativo nativo rápido, funciona no XP e acima, possui configurações que permitem remapear as teclas de copiar / colar / seleção para janelas de comando:
Além disso, eu conheço os desenvolvedores.
O método mais simples é copiar o texto que você deseja colá-lo no cmd e abrir o cmd, para ir para a guia "Propriedades" ---> "opção" ----> marque o (modo de edição rápida) (marque a opção) e clique em " ok "..... agora você pode colar qualquer texto da área de transferência clicando com o botão direito do mouse no seu mouse.
Obrigado..
Obrigado, Pablo, por se referir ao utilitário AutoHotkey. Desde que eu tenho o Launchy instalado, que usa Alt+ Space, tive que modificá-lo, mas adicionar a Shiftchave, como mostrado:
; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !+{Space}ep
return
Este não é realmente um atalho, mas apenas um acesso rápido ao menu de controle: Alt-space EP
Se você pode usar o mouse, clique com o botão direito do mouse na janela do cmd e cole quando tentei.
Teoricamente, o aplicativo no Prompt do DOS tem sua própria área de transferência e atalhos. Importar texto da área de transferência do Windows é "extra". No entanto, você pode usar Alt-Space para abrir o menu do sistema da janela Prompt e pressionar E, P para selecionar o menu Editar, Colar. No entanto, a Microsoft poderia fornecer um atalho usando a tecla Win. Não há chance de ser usado no aplicativo DOS.
Demorei um pouco para descobrir por que o script AutoHotkey não funciona comigo:
; Use backslash instead of backtick (yes, I am a C++ programmer).
#EscapeChar \
; Paste in command window.
^V::
StringReplace clipboard2, clipboard, \r\n, \n, All
SendInput {Raw}%clipboard2%
return
De fato, ele se apóia nas teclas digitadas e, consequentemente, no layout do teclado! Portanto, quando você é, como eu, infeliz por ter apenas um teclado AZERTY, sua sugestão simplesmente não funciona. E pior, não achei uma maneira fácil de substituir o método SendInput ou torcer seu ambiente para corrigir isso. Por exemplo, SendInput "1" simplesmente não envia o dígito 1.
Eu tive que transformar cada personagem em seu unicode para fazê-lo funcionar no meu computador:
#EscapeChar \
; Paste in command window.
^V::
StringReplace clipboard2, clipboard, \r\n, \n, All
clipboard3 := ""
Loop {
if (a_index>strlen(clipboard2))
break
char_asc := Asc(SubStr(clipboard2, a_Index, 1))
if (char_asc > 127 and char_asc < 256)
add_zero := "0"
else
add_zero := ""
clipboard3 := clipboard3 . "{Asc " . add_zero . char_asc . "}"
}
SendInput %clipboard3%
return
Não é muito simples ...
Se você usar o gerenciador de área de transferência Ditto (código aberto, gratuito), poderá simplesmente usar o atalho para colar no Ditto, e ele colará a área de transferência no CMD para você.
Você pode tentar usar o Texter e criar algo improvável como:
./p, acionado pelo espaço e substituindo o texto por% c
Acabei de testar e funciona bem. O único problema é usar uma sequência rara, pois o Texter não pode restringir isso apenas ao cmd.
Provavelmente existem outros utilitários desse tipo que poderiam funcionar, e até o AutoHotKey , no qual o Texter é construído, poderia fazê-lo melhor, mas o Texter é fácil :-)
Descobri recentemente que o prompt de comando oferece suporte ao menu de contexto com o botão direito do mouse. Você pode encontrar mais detalhes aqui: http://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html
Se você é um usuário do Cygwin, pode anexar o seguinte ao seu arquivo ~ / .bashrc:
stty lnext ^q stop undef start undef
E o seguinte para o seu arquivo ~ / .inputrc:
"\C-v": paste-from-clipboard
"\C-C": copy-to-clipboard
Reinicie o seu terminal Cygwin.
(Observe, eu usei um C maiúsculo para copiar, pois CTRL + c é atribuído à função de interrupção na maioria dos consoles. Tempere a gosto.)
Em vez de "clicar com o botão direito" ... inicie sua sessão (quando estiver na janela do prompt de comando) pressionando Alt / SpaceBar. Isso abrirá o menu da janela Prompt de Comando e você verá seus atalhos de comando familiares sublinhados, como na GUI do Windows.
Boa sorte!
Segui os passos de @ PabloG da seguinte maneira
No prompt de comando VISTA: Clique no ícone Sistema Selecionar padrões no menu. Na guia Opções do grupo Opções, tenho "Modo de edição rápida", "Modo de inserção" e "Preenchimento automático" selecionados. Acho que o "Modo de edição rápida" é o que faz funcionar.
Para colar o que estiver na área de transferência no ponto de inserção: Clique com o botão direito do mouse. Para copiar da Janela de Comando Selecione mantendo pressionado o botão esquerdo do mouse e arrastando o ponteiro sobre o que você deseja copiar. Depois de selecionado, clique com o botão direito do mouse Para colar no ponto de inserção, clique com o botão direito do mouse novamente.