Scorciatoia da tastiera per incollare il contenuto degli appunti nella finestra del prompt dei comandi (Win XP) [chiuso]


303

Esiste una scorciatoia da tastiera per incollare il contenuto degli Appunti in una finestra del prompt dei comandi su Windows XP (anziché utilizzare il pulsante destro del mouse)?

Il tipico Shift+ Insertnon sembra funzionare qui.



Fatti un favore, controlla la risposta "tintinnio" in questa pagina. ctrl-v e molto altro ancora.
bdumtish,

2
@pylover risolto nel 2015 .
Franck Dernoncourt,

1
@pylover Altrimenti per <10, puoi usare un gestore di appunti . (ovviamente sono d'accordo sul fatto che è ridicolo cmd non ha ctrl + c su <10)
Franck Dernoncourt

4
@pylover Vergogna su Microsoft, nell'anno 2016 dobbiamo usare il mouse per incollare in Bash, anche se il menu afferma che Ctrl + V incolla.
Michael,

Risposte:


162

Personalmente uso un piccolo script AutoHotkey per rimappare alcune funzioni della tastiera, per la finestra della console (CMD) che 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 

Questa roba interferisce con Cygwin quando è in esecuzione all'interno di una ConsoleWindow. Ero entusiasta di questo suggerimento, ma purtroppo ho dovuto disinstallarlo.
piyo,

2
@piyo: forse puoi escludere la console Cygwin dalla sua barra del titolo? ad esempio: se la barra del titolo della console indica "ConsoleWindow" puoi aggiungere qualcosa come WinGetTitle sTitle \ n If (sTitle = "ConsoleWindow") {\ n return \ n} \ n ---
PabloG

Buona idea. (+1) Sì, funzionerebbe se i titoli delle finestre sono invariati. Mi sembra di avere un maggiore controllo sul titolo della finestra in Cygwin, quindi forse posso aggiungere un testo di suggerimento statico ma invisibile per il filtro di AHK.
piyo,

@piyo: cygwin mintty (nessuna X coinvolta) è molto più bello per una shell cygwin ...
Paulo Scardine,

1
HowToGeek suggerisce "SendInput {Raw}% clipboard%" invece di alt-space ep. Quindi ti sbarazzi anche dello sfarfallio
Vegar Westerlund,

428

Sì .. ma imbarazzante. collegamento

alt+ Space, e, k<- per la copia e
alt+ Space, e, p<- per incollare.


18
Non esattamente quello che speravo, ma ovviamente funziona. Alcuni suggerimenti aggiuntivi: se hai mappato ALT + SPACE sul tuo launcher dell'applicazione (ad es. Launchy) usa ALT-SHIFT-SPACE invece Se stai usando una versione non inglese di Windows, le ultime 2 chiavi ovviamente differiranno (es. B + E per incollare in tedesco)
sme

4
Giusto per spiegare selezionando anche: ALT + SPAZIO + E + K <- per la copia. e vai su, giù, a sinistra, a destra con le frecce Maiusc + freccia destra <- per selezionare il testo ALT + SPAZIO + E + P <- per incollare.
Yordan Georgiev,

6
al complesso, non ho abbastanza dita per fare questo lavoro
pylover

5
Trovo questa risposta la più utile e diretta al punto. La sequenza di tasti non mi sorprende, poiché ci sono sequenze di accordi di Emacs molto peggiori di così. In realtà, la scorciatoia del menu della finestra Alt + Spazio è sufficiente per capire cosa premere dopo, poiché c'è un feedback visivo (caratteri sottolineati).
acelent,

2
Per le finestre francesi: [Alt] + [Spazio], [m], [c] per copia, [Alt] + [Spazio], [m], [o] per incolla
Deleplace

137

Non proprio programmazione relativa, ma ho trovato questo su Google, non c'è una scorciatoia diretta di tastiera , ma lo rende un po 'più veloce.

Per abilitare o disabilitare la modalità QuickEdit:

  1. Aprire il programma MS-DOS o il prompt dei comandi.
  2. Fare clic con il tasto destro sulla barra del titolo e premere Proprietà.
  3. Seleziona la scheda Opzioni.
  4. Seleziona o deseleziona la casella Modalità Modifica rapida.
  5. Premere OK.
  6. Nella finestra di dialogo Applica proprietà al collegamento, selezionare Applica proprietà alla finestra corrente solo se si desidera modificare l'impostazione QuickEdit solo per questa sessione di questa finestra, oppure selezionare Modifica collegamento che ha avviato questa finestra per modificare l'impostazione QuickEdit per tutte le future invocazioni di il prompt dei comandi o il programma MS-DOS.

QuickEdit

Per copiare il testo quando QuickEdit è abilitato:

  1. Fare clic e trascinare il puntatore del mouse sul testo desiderato.
  2. Premi Invio (o fai clic con il tasto destro in qualsiasi punto della finestra) per copiare il testo negli Appunti.

Per incollare il testo quando QuickEdit è abilitato:

  1. Fare clic con il tasto destro in qualsiasi punto della finestra.

Per copiare il testo quando QuickEdit è disabilitato:

  1. Fare clic con il pulsante destro del mouse sulla barra del titolo, premere Modifica dal menu e premere Seleziona.
  2. Trascina il mouse sul testo che desideri copiare.
  3. Premi Invio (o fai clic con il tasto destro in qualsiasi punto della finestra) per copiare il testo negli Appunti.

Per incollare il testo quando QuickEdit è disabilitato:

  1. Fare clic con il pulsante destro del mouse sulla barra del titolo, premere Modifica dal menu e premere Incolla.

14
stiamo parlando di scorciatoie da tastiera.
pylover

11
Il clic con il tasto destro mi sembra piuttosto breve
Jay Sullivan,

19
Spostare la mano dalla tastiera al mouse la squalifica come "piuttosto breve".
Ross Presser,

Ehi, va bene. Ecco come lo uso: ho creato un collegamento sul mio desktop a cmd.exe, quindi ho cliccato con il tasto destro del mouse su "Aggiungi alla barra delle applicazioni" - quindi elimino il collegamento dal desktop ... quindi ho fatto clic destro su di esso nella task bat, quindi fai di nuovo clic con il pulsante destro del mouse quando mostra cmd e seleziona Proprietà. Vado in Avanzato quindi gli dico di eseguire come amministratore. Quindi OK indietro e selezionare la scheda Opzioni e abilitare QuickEdit proprio come descritto qui. E Voila, questo è quindi SEMPRE abilitato per l'incollaggio da fare facendo clic con il tasto destro del mouse sul prompt ogni volta che utilizzo l'icona CMD nera nella barra delle attività.
SDsolar,

35

Grazie Pablo, proprio quello che stavo cercando! Tuttavia, se posso prendermi la libertà di migliorare leggermente il tuo script, ti suggerisco di sostituire la tua macro ^ V con il seguente:

; 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

Il vantaggio di usare SendInput è quello

  • non si basa sul menu di sistema del prompt dei comandi con una voce di menu "Alt + Spazio E P" per incollare (funziona per inglese e spagnolo, ma non per tutte le lingue).
  • evita quel tremendo sfarfallio che si ottiene quando il menu viene creato e distrutto.

Nota, è importante includere "{Raw}" nel comando SendInput, nel caso in cui gli Appunti contengano "!", "+", "^" O "#".

Nota, utilizza StringReplace per rimuovere i caratteri di ritorno a capo di Windows in eccesso. Grazie hugov per quel suggerimento!


2
buono, i miglioramenti sono sempre ben accetti!
PabloG,

1
eccellente! la risposta predefinita sfarfallò il menu a comparsa, il che era fastidioso
Eugene Burmako il

grazie, questo dà ctrl-va console un sentimento "nativo"
jettico

Quando lo premo ctrl+vincolla correttamente, ma inizia anche a eseguire la stringa (è come se enterfosse premuto in seguito). Come posso impedirlo?
LoMaPh

18

C'è anche un ottimo strumento open source chiamato clink , che estende cmd con molte funzionalità. Uno di questi è in grado di usare ctrl + v per inserire del testo.


La maggior parte delle funzionalità di tintinnio sono fantastiche, ma rompe una utile funzione IMO. Il completamento automatico di cmd.exe scorre ciclicamente i file. clink's visualizza un elenco quando più file iniziano con lo stesso nome. Per i nomi di file lunghi che iniziano con lo stesso nome, cmd.exe ha un completamento automatico migliore.
ChaimG,


8

Ecco uno strumento gratuito che lo farà su Windows. Lo preferisco a uno script in quanto è facile da configurare. Funziona come un'app nativa veloce, funziona su XP e versioni successive, ha impostazioni di configurazione che consentono di rimappare i tasti copia / incolla / selezione per le finestre dei comandi:

inserisci qui la descrizione dell'immagine

Inoltre conosco gli sviluppatori.


4

il metodo più semplice è solo copiare il testo che si desidera incollare in cmd e aprire cmd goto "proprietà" ---> scheda "opzione" ----> selezionare la "modalità di modifica rapida" (fare segno di spunta) e fare clic su " ok "..... ora puoi incollare qualsiasi testo dagli appunti facendo clic con il tasto destro del mouse.

Grazie..


4

Grazie, Pablo, per esserti riferito all'utilità AutoHotkey. Da quando ho installato Launchy che usa Alt+ Spaceho dovuto modificarlo ma per aggiungere la Shiftchiave come mostrato:

; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !+{Space}ep
return

3

Questa non è in realtà una scorciatoia, ma solo un rapido accesso al menu di controllo: Alt-space EP

Se è possibile utilizzare il mouse, fare clic con il pulsante destro del mouse sulla finestra cmd funziona come incolla quando l'ho provato.


Sì, il clic destro funziona bene ma è quello che sto cercando di evitare.
sabato

Risulta quattro battiti di tasti spostando la mano sul mouse. Questa soluzione vince anche perché è pronta per l'uso su qualsiasi macchina.
Nick,

3

Teoricamente, l'applicazione nel prompt di DOS ha i suoi appunti e le sue scorciatoie. L'importazione di testo dagli Appunti di Windows è "extra". Tuttavia è possibile utilizzare Alt-Spazio per aprire il menu di sistema della finestra Prompt, quindi premere E, P per selezionare Modifica, Incolla menu. Tuttavia, MS potrebbe fornire un collegamento usando il tasto Win. Non è possibile utilizzare l'applicazione DOS.


1
Proprio come una nota a margine: quando vedi il cmd attraverso una connessione RDP, è Alt-Del invece di Alt-Space.
Bowi,

2

Mi ci è voluto un po 'di tempo per capire perché il tuo script AutoHotkey non funziona con me:

; 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

In realtà, si basa sui tasti e di conseguenza sul layout della tastiera! Quindi quando sei sfortunato ad avere solo una tastiera AZERTY, il tuo suggerimento non funziona. E peggio ancora, non ho trovato un modo semplice per sostituire il metodo SendInput o modificare il suo ambiente per risolvere il problema. Ad esempio SendInput "1" non invia la cifra 1.

Ho dovuto trasformare ogni personaggio nel suo unicode per farlo funzionare sul mio computer:

#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

Non molto semplice ...


2

Se usi il gestore degli appunti Ditto (open source, gratis), puoi semplicemente usare il collegamento per incollare da Ditto e incollerà gli appunti in CMD per te.

inserisci qui la descrizione dell'immagine


1

Puoi provare a utilizzare Texter e creare qualcosa di improbabile come:

./p, attivato dallo spazio e sostituendo il testo con% c

L'ho appena testato e funziona benissimo. L'unico gotcha è usare una sequenza rara, poiché Texter non può limitare questo a solo cmd.

Probabilmente ci sono altre utilità di questo tipo che potrebbero funzionare, e anche AutoHotKey , su cui è costruito Texter potrebbe farlo meglio, ma Texter è facile :-)


1

Un modo più semplice è usare Windows PowerShell invece di cmd. funziona bene con texter.




1

Se sei un utente Cygwin, puoi aggiungere quanto segue al tuo file ~ / .bashrc:

stty lnext ^q stop undef start undef

E quanto segue al tuo file ~ / .inputrc:

"\C-v": paste-from-clipboard
"\C-C": copy-to-clipboard

Riavvia il tuo terminale Cygwin.

(Nota, ho usato una C maiuscola per la copia, poiché CTRL + c è assegnato alla funzione di interruzione sulla maggior parte delle console. Stagione a piacere.)

fonte


1

Invece di "fare clic con il tasto destro" .... avviare la sessione (una volta che ci si trova nella finestra del prompt dei comandi) digitando Alt / SpaceBar. Questo aprirà il menu della finestra del prompt dei comandi e vedrai le tue scorciatoie da comando della tastiera, sottolineate, proprio come nella GUI di Windows.

In bocca al lupo!


1

Ho seguito i passaggi di @ PabloG come segue

  1. goto http://www.autohotkey.com/ - scaricare AutoHotkey
  2. seguire semplici passaggi di installazione
  3. dopo l'installazione creare il nuovo file * .ahk come segue fare clic destro sul desktop> nuovo> Autohotkey Script> giveAnyFileName.ahk
  4. fare clic con il tasto destro su questo file> Modifica
  5. copia incolla script autohotkey dato da @PabloG nella sua risposta
  6. salva e chiudi
  7. fare doppio clic sul file per eseguirlo
  8. Fatto ora dovresti essere in grado di usare Ctrl+ vper incollare nel prompt dei comandi

-4

Sotto il prompt dei comandi VISTA: fai clic sull'icona Sistema Seleziona valori predefiniti dal menu Nella scheda Opzioni del gruppo Opzioni Ho selezionato "Modalità modifica rapida", "Modalità inserimento" e "Completamento automatico" Penso che "Modalità modifica rapida" è ciò che lo fa funzionare.

Per incollare qualsiasi cosa sia negli Appunti nel punto di inserimento: fare clic con il tasto destro. Per copiare dalla finestra di comando Selezionare tenendo premuto il pulsante sinistro del mouse e trascinando il puntatore su ciò che si desidera copiare Una volta selezionato, fare clic con il pulsante destro del mouse Per incollare nel punto di inserimento, fare nuovamente clic con il pulsante destro del mouse.


8
Quale parte di "invece di usare il tasto destro del mouse" non capisci;)
reiniero
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.