Pano içeriğini komut istemi penceresine yapıştırmak için klavye kısayolu (Win XP) [kapalı]


303

Pano içeriğini Windows XP'de (sağ fare düğmesini kullanmak yerine) komut istemi penceresine yapıştırmak için bir klavye kısayolu var mı?

Tipik Shift+ Insertburada çalışmıyor gibi görünüyor.


2
konsol2'yi kullanın. sourceforge.net/projects/console
Philip

Kendinize bir iyilik yapın, bu sayfadaki 'tıklat' cevabını kontrol edin. ctrl-v ve çok daha fazlası.
bdumtish

2
@pylover 2015 yılında düzeltildi .
Franck Dernoncourt

1
@pylover Aksi takdirde <10 için bir pano yöneticisi kullanabilirsiniz . (tabii ki gülünç
cmd'nin

4
@pylover Utanç Microsoft'ta, 2016 yılında menüde Ctrl + V'nin yapıştırıldığını iddia etse bile, fareyi Bash'e yapıştırmak için kullanmalıyız .
Michael

Yanıtlar:


162

Şahsen kullandığım konsol penceresi (CMD) için belirli klavye işlevlerini yeniden eşleştirmek için küçük bir AutoHotkey komut dosyası kullanıyorum:

; 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 

Bu şeyler, bir ConsoleWindow içinde çalışırken Cygwin'e müdahale eder. Bu ipucu için heyecanlandım ama maalesef kaldırmak zorunda kaldım.
Ağustos'ta piyo

2
@piyo: belki Cygwin konsolunu başlık çubuğundan hariç tutabilirsiniz? örneğin: konsol başlık çubuğunda "ConsoleWindow" yazıyorsa WinGetTitle sTitle \ n gibi bir şey ekleyebilirsiniz \ n If (sTitle = "ConsoleWindow") {\ n return \ n} \ n ---
PabloG 24:10 saatinde

İyi bir fikir. (+1) Evet, pencere başlıkları değişmezse işe yarar. Cygwin'deki pencere başlığı üzerinde daha fazla kontrole sahip olduğumu hissediyorum, bu yüzden belki AHK'ın filtrelemesi için statik ama görünmez ipucu metni ekleyebilirim.
piyo

@piyo: cygwin mintty (X dahil değil) bir cygwin kabuğu için çok daha güzel ...
Paulo Scardine

1
HowToGeek, alt-uzay ep yerine "SendInput {Raw}% clipboard%" önerir. Sonra da titrek kurtulmak
Vegar Westerlund

428

Evet .. ama garip. bağlantı

alt+ Space, e, k<- kopyalama ve için
alt+ Space, e, p<- yapıştırma için.


18
Tam olarak umduğum gibi değil, ama elbette işe yarıyor. Bazı ek ipuçları: ALT + SPACE uygulamasını uygulama başlatıcıyla eşleştirdiyseniz (örn. Launchy) ALT-SHIFT-SPACE kullanın Bunun yerine pencerelerin engellenmeyen bir sürümünü kullanıyorsanız son 2 tuş elbette farklı olacaktır (örn. Yapıştırmak için + E)
sme

4
Sadece seçmeyi açıklamak için: ALT + BOŞLUK + E + K <- kopya için. ve yapıştırmak için ALT + BOŞLUK + E + P <- metnini seçmek için Shift + sağ ok <- oklarıyla yukarı, aşağı, sola, sağa gidin.
Yordan Georgiev

6
karmaşık, ben bu işi yapmak için yeterli parmak yok
pylover

5
Bu cevabı en yararlı ve doğrudan noktaya kadar buluyorum. Anahtar dizisi beni şok etmiyor, çünkü Emacs akor dizileri bundan çok daha kötü. Aslında, görsel geribildirim (altı çizili karakterler) olduğu için Alt + Boşluk menü kısayolu bir sonraki basına ne basacağınızı anlamak için yeterlidir.
acelent

2
Fransız pencereleri için: [Alt] + [Boşluk], [m], [c] kopya için, [Alt] + [Boşluk], [m], [o] macun için
14'ü 16

137

Gerçekten ilgili programlama, ama ben buldum bu Google'da, orada doğrudan bir klavye kısayolu değil , ama biraz daha hızlı hale getirir.

QuickEdit modunu etkinleştirmek veya devre dışı bırakmak için:

  1. MS-DOS programını veya komut istemini açın.
  2. Başlık çubuğuna sağ tıklayın ve Özellikler'e basın.
  3. Seçenekler sekmesini seçin.
  4. QuickEdit Modu kutusunu işaretleyin veya işaretini kaldırın.
  5. Tamam tuşuna basın.
  6. Özellikleri Kısayola Uygula iletişim kutusunda, özellikleri yalnızca geçerli pencereye uygula seçeneğini yalnızca bu pencerenin bu oturumu için değiştirmek istiyorsanız seçin veya QuickEdit ayarını gelecekteki tüm çağrıları için değiştirmek üzere bu pencereyi başlatan kısayolu değiştir'i seçin. komut istemi veya MS-DOS programı.

Hızlı düzenleme

QuickEdit etkinleştirildiğinde metin Kopyalamak için:

  1. Fare işaretçisini tıklatıp istediğiniz metnin üzerine sürükleyin.
  2. Metni panoya kopyalamak için Enter tuşuna basın (veya pencerede herhangi bir yeri sağ tıklayın).

QuickEdit etkinleştirildiğinde metin yapıştırmak için:

  1. Pencerede herhangi bir yeri sağ tıklayın.

QuickEdit devre dışı bırakıldığında metni kopyalamak için:

  1. Başlık çubuğunu sağ tıklatın, menüde Düzenle'ye basın ve İşaretle'ye basın.
  2. Fareyi kopyalamak istediğiniz metnin üzerine sürükleyin.
  3. Metni panoya kopyalamak için Enter tuşuna basın (veya pencerede herhangi bir yeri sağ tıklayın).

QuickEdit devre dışı bırakıldığında metin yapıştırmak için:

  1. Başlık çubuğunu sağ tıklatın, menüde Düzenle'ye basın ve Yapıştır'a basın.

14
klavye kısayollarından bahsediyoruz.
pylover

11
Sağ tıklama bana oldukça kısa görünüyor
Jay Sullivan

19
Elinizi klavyeden fareye taşımak "oldukça kısa" olarak diskalifiye eder.
Ross Presser

Hey, bu harika. İşte nasıl kullanacağım: Masaüstümde cmd.exe'ye bir kısayol oluşturdum, sonra üzerine "Görev çubuğuna sabitle" ye sağ tıkladım - sonra kısayolu masaüstünden siliyorum ... sonra sağ tıklayın görev çubuğunu tıklatın, cmd gösterildiğinde yeniden sağ tıklatın ve Özellikler'i seçin. Gelişmiş'e gidip Yönetici olarak çalışmasını söylüyorum. Ardından Tamam'ı tıklayın ve seçenekler sekmesini seçin ve burada açıkladığınız gibi QuickEdit'i etkinleştirin. Ve Voila, bu daha sonra görev çubuğundaki siyah CMD simgesini her kullandığımda macunun istemi sağ tıklatarak yapılması için DAİMA etkinleştirilir.
SDsolar

35

Teşekkürler Pablo, tam aradığım şey! Ancak, betiğinizi biraz geliştirme özgürlüğünü alabilirsem, ^ V makronuzu aşağıdakilerle değiştirmenizi öneririm:

; 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

SendInput kullanmanın avantajı

  • yapıştırma yapmak için "Alt + Space E P" menü öğesine sahip komut istemi sistem menüsüne dayanmaz (İngilizce ve İspanyolca için çalışır, ancak tüm diller için geçerli değildir).
  • menü yaratıldığında ve yok edildiğinde aldığınız kötü titreşimi önler.

Panonun "!", "+", "^" Veya "#" içermesi durumunda, "{Raw}" işlevini SendInput komutuna dahil etmek önemlidir.

Not, fazla Windows satırbaşı dönüş karakterlerini kaldırmak için StringReplace kullanır. Bu öneri için teşekkürler hugov!


2
iyi bir, iyileştirmeler her zaman beklerim!
PabloG

1
mükemmel! varsayılan cevap sinir bozucu olan açılır menü
titredi

teşekkürler, bu ctrl-vkonsolda 'yerli' bir his veriyor
jettico

Ben ctrl+vbastığımda doğru yapışır, ama aynı zamanda dizeyi yürütmeye başlar ( enterdaha sonra basıldığı gibi ). Bunu nasıl önleyebilirim?
LoMaPh

18

Ayrıca cmd'yi birçok özelliğe göre genişleten harika bir açık kaynak aracı da var . Bunlardan biri metin eklemek için ctrl + v tuşlarını kullanabiliyor.


Kodes özelliklerinin çoğu harika, ama bir yararlı özellik IMO kırıyor. cmd.exe dosyasının otomatik tamamlama dosyaları arasında geçiş yapar. clink's, aynı adla birden çok dosya başladığında bir liste görüntüler. Aynı adla başlayan uzun dosya adları için cmd.exe daha iyi bir otomatik tamamlamaya sahiptir.
ChaimG


8

İşte Windows üzerinde yapacak ücretsiz bir araç. Kurulumu kolay olduğu için bir senaryoya tercih ederim. Hızlı yerel uygulama olarak çalışır, XP ve üstü üzerinde çalışır, komut pencereleri için kopyala / yapıştır / seçim tuşlarını yeniden eşleştirmeye izin veren yapılandırma ayarlarına sahiptir:

resim açıklamasını buraya girin

Artı geliştiricileri biliyorum.


4

en basit yöntem sadece cmd yapıştırmak istediğiniz metni kopyalayın ve cmd goto "özellikleri" --- "seçenek" sekmesini açın ----> (onay işareti vermek) "quickEdit modu" kontrol ve " ok "..... şimdi ur fare sağ tıklama yaparak panodan herhangi bir metni yapıştırabilirsiniz .

Teşekkür ederim..


4

Pablo, AutoHotkey yardımcı programına başvurduğunuz için teşekkür ederiz. Ben Alt+ kullanan Launchy yüklü beri ben Spacebir değiştirmek zorunda kaldı ama Shiftgösterildiği gibi anahtar eklemek için :

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

3

Bu gerçekten bir kısayol değil, kontrol menüsüne hızlı bir erişim: Alt-space EP

Farenizi kullanabiliyorsanız, denediğimde cmd penceresine sağ tıklayıp yapıştır olarak çalışır.


Evet, sağ tıklama iyi çalışıyor ancak bundan kaçınmaya çalışıyorum.
sme

Eli fareye hareket ettiren dört tuş vuruşunu çıkar. Bu çözüm de kazanıyor çünkü herhangi bir makineye gitmeye hazır.
Nick

3

Teorik olarak, DOS İstemi uygulamasının kendi panosu ve kısayolları vardır. Windows panosundan metin almak "ekstra" dır. Ancak Komut İstemi penceresinin sistem menüsünü açmak için Alt-Space tuşunu kullanabilir, sonra Düzenle, Yapıştır menüsünü seçmek için E, P tuşlarına basabilirsiniz. Ancak MS, Win-key kullanarak kısayol sağlayabilir. DOS uygulamasında kullanılma şansı yoktur.


1
Yan not olarak: cmd'yi bir RDP bağlantısı üzerinden gördüğünüzde, Alt-Space yerine Alt-Del'dir.
18'de Bowi

2

AutoHotkey betiğinizin neden benimle çalışmadığını anlamak biraz zaman aldı :

; 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

Aslında, tuş vuruşlarına ve sonuç olarak klavye düzenine dayanır! Yani, benim gibi, sadece bir AZERTY klavyeye sahip olmak için talihsiz olduğunuzda, öneriniz işe yaramıyor. Ve daha da kötüsü, SendInput yöntemini değiştirmek veya ortamını bükmek için kolay bir yol bulamadım. Örneğin SendInput "1" sadece 1 rakamını göndermez.

Bilgisayarımda çalışmasını sağlamak için her karakteri unicode'a çevirmek zorunda kaldım:

#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

Çok basit değil ...


2

Pano yöneticisi Ditto'yu (açık kaynak, bedava) kullanıyorsanız, Ditto'dan yapıştırmak için kısayolu kullanabilirsiniz ve panoya CMD'ye sizin için yapıştıracaktır.

resim açıklamasını buraya girin


1

Texter'ı kullanmayı deneyebilir ve olası olmayan bir şey oluşturabilirsiniz:

./p, boşlukla tetiklenen ve metni% c ile değiştiren

Sadece test ettim ve iyi çalışıyor. Tek sorun, Texter bunu sadece cmd ile sınırlayamadığı için nadir bir dizi kullanmaktır.

Muhtemelen bu tür işe yarayabilecek başka yardımcı programlar da vardır ve hatta Texter'in üzerine kurulduğu AutoHotKey daha iyi yapabilir, ancak Texter kolaydır :-)


1

Daha basit bir yol cmd yerine windows powershell kullanmaktır. texter ile iyi çalışır.




1

Bir Cygwin kullanıcısıysanız, ~ / .bashrc dosyanıza aşağıdakileri ekleyebilirsiniz:

stty lnext ^q stop undef start undef

Ve ~ / .inputrc dosyanız için aşağıdakiler:

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

Cygwin terminalinizi yeniden başlatın.

(Not: CTRL + c çoğu konsoldaki break işlevine atandığından, kopyalama için büyük C harfi kullandım. Tatmak için mevsim.)

Kaynak


1

"Sağ tıklama" yerine .... alt / SpaceBar tuşlarına basarak oturumunuzu başlatın (komut istemi penceresindeyken). Bu, Komut İstemi pencere menüsünü açar ve Windows GUI'de olduğu gibi, tanıdık, altı çizili klavye komut kısayollarınızı görürsünüz.

İyi şanslar!


1

@ PabloG'un adımlarını şu şekilde takip ettim

  1. http://www.autohotkey.com/ adresine git - autohotkey'i indir
  2. basit kurulum adımlarını takip edin
  3. kurulumdan sonra aşağıdaki gibi yeni * .ahk dosyası oluşturun masaüstünde sağ tıklayın> yeni> Autohotkey Script> giveAnyFileName.ahk
  4. bu dosyayı sağ tıklayın> Düzenle
  5. @PabloG tarafından verilen kopyala yapıştırma autohotkey betiği
  6. kaydet ve kapat
  7. çalıştırmak için dosyaya çift tıklayın
  8. Tamamlandı , komut isteminde yapıştırmak için Ctrl+ kullanabilmeniz gerekirv

-4

VISTA Komut istemi altında: Sistem Simgesine tıklayın Menüden Varsayılanları Seç Seçenekler grubundaki Seçenekler sekmesinde "Hızlı Düzenleme Modu", "Ekleme Modu" ve "Otomatik Tamamla" seçili "Hızlı Düzenleme Modu" çalışmasını sağlayan şey budur.

Panodaki her şeyi ekleme noktasına yapıştırmak için: Sağ Tıklayın. Komut Penceresinden kopyalamak için Farenin sol düğmesini basılı tutarak ve işaretçiyi kopyalamak istediğiniz öğenin üzerine sürükleyerek seçin Seçtikten sonra, sağ tıklayın Ekleme noktasına yapıştırmak için tekrar sağ tıklayın.


8
"Sağ fare düğmesini kullanmak yerine" nin hangi bölümünü anlamıyorsunuz;)
reiniero
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.