Phím tắt để dán nội dung clipboard vào cửa sổ nhắc lệnh (Win XP) [đã đóng]


303

Có một phím tắt để dán nội dung của bảng tạm vào cửa sổ nhắc lệnh trên Windows XP (thay vì sử dụng nút chuột phải) không?

Shift+ Điển hình Insertdường như không hoạt động ở đây.


2
sử dụng bàn điều khiển2. sourceforge.net/projects/console
Philip

Làm cho mình một ưu tiên, kiểm tra câu trả lời 'clink' trên trang này. ctrl-v và nhiều hơn nữa.
bdumtish

2
@pylover cố định năm 2015 .
Franck Dernoncourt

1
@pylover Nếu không, với <10, bạn có thể sử dụng trình quản lý clipboard . (tất nhiên tôi đồng ý rằng cmd thật lố bịch không có ctrl + c vào ngày 10)
Franck Dernoncourt

4
@pylover Xấu hổ trên Microsoft, trong năm 2016, chúng ta phải sử dụng chuột để dán vào Bash, mặc dù menu tuyên bố rằng Ctrl + V dán.
Michael

Câu trả lời:


162

Cá nhân tôi sử dụng một tập lệnh AutoHotkey nhỏ để ánh xạ lại các chức năng bàn phím nhất định, cho cửa sổ giao diện điều khiển (CMD) tôi sử dụng:

; 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 

Công cụ này can thiệp vào Cygwin khi nó đang chạy bên trong ConsoleWindow. Tôi rất hào hứng với mẹo này nhưng tiếc là tôi phải gỡ cài đặt nó.
piyo

2
@piyo: có lẽ bạn có thể loại trừ bảng điều khiển Cygwin bằng thanh tiêu đề của nó? ví dụ: nếu thanh console tiêu đề nói "ConsoleWindow" bạn có thể thêm một cái gì đó giống như WinGetTitle sTitle \ n Nếu (sTitle = "ConsoleWindow") {\ n trở lại \ n} \ n ---
PabloG

Ý tưởng tốt. (+1) Vâng, nó sẽ hoạt động nếu tiêu đề cửa sổ không thay đổi. Tôi cảm thấy như tôi có nhiều quyền kiểm soát hơn đối với tiêu đề cửa sổ trong Cygwin vì vậy có lẽ tôi có thể thêm một số văn bản gợi ý tĩnh nhưng vô hình để lọc AHK.
piyo

@piyo: Cygwin mintty (không có X tham gia) rất đẹp cho vỏ Cygwin ...
Paulo Scardine

1
HowToGeek đề xuất "SendInput {Raw}% clipboard%" thay vì ep-space. Sau đó, bạn cũng thoát khỏi sự nhấp nháy
Vegar Westerlund

428

Có .. nhưng vụng về. Liên kết

alt+ Space, e, k<- để sao chép và
alt+ Space, e, p<- để dán.


18
Không chính xác những gì tôi hy vọng, nhưng tất nhiên nó hoạt động. Một số mẹo bổ sung: Nếu bạn đã ánh xạ ALT + SPACE vào trình khởi chạy ứng dụng của mình (ví dụ: Launchy), hãy sử dụng ALT-SHIFT-SPACE thay vào đó + E để dán bằng tiếng Đức)
sme

4
Chỉ cần giải thích chọn cũng: ALT + SPACE + E + K <- cho bản sao. và điều hướng lên, xuống, trái, phải bằng mũi tên Shift + mũi tên phải <- để chọn văn bản ALT + SPACE + E + P <- để dán.
Yordan Georgiev

6
phức tạp, tôi không có đủ ngón tay để thực hiện công việc này
pylover

5
Tôi thấy câu trả lời này hữu ích nhất và đi thẳng vào vấn đề. Chuỗi phím không làm tôi sốc, vì có những chuỗi hợp âm Emacs khá tệ hơn thế này. Trên thực tế, phím tắt menu cửa sổ Alt + Space là đủ để hiểu những gì cần nhấn tiếp theo, vì có phản hồi trực quan (ký tự được gạch chân).
acelent

2
Đối với cửa sổ tiếng Pháp: [Alt] + [Space], [m], [c] để sao chép, [Alt] + [Space], [m], [o] để dán
Deleplace

137

Không thực sự liên quan đến lập trình, nhưng tôi đã tìm thấy điều này trên Google, không có phím tắt trực tiếp , nhưng làm cho nó nhanh hơn một chút.

Để bật hoặc tắt chế độ QuickEdit:

  1. Mở chương trình MS-DOS hoặc dấu nhắc lệnh.
  2. Nhấp chuột phải vào thanh tiêu đề và nhấn Properties.
  3. Chọn tab Tùy chọn.
  4. Kiểm tra hoặc bỏ chọn hộp Chế độ QuickEdit.
  5. Nhấn OK.
  6. Trong hộp thoại Áp dụng thuộc tính cho lối tắt, chỉ chọn cửa sổ Áp dụng thuộc tính cho cửa sổ hiện tại nếu bạn chỉ muốn thay đổi cài đặt QuickEdit cho phiên này của cửa sổ này hoặc chọn Sửa đổi lối tắt bắt đầu cửa sổ này để thay đổi cài đặt QuickEdit cho tất cả các lệnh trong tương lai dấu nhắc lệnh, hoặc chương trình MS-DOS.

Chỉnh sửa nhanh

Để sao chép văn bản khi QuickEdit được bật:

  1. Nhấp và kéo con trỏ chuột lên văn bản bạn muốn.
  2. Nhấn Enter (hoặc nhấp chuột phải vào bất cứ nơi nào trong cửa sổ) để sao chép văn bản vào bảng tạm.

Để Dán văn bản khi QuickEdit được bật:

  1. Nhấp chuột phải vào bất cứ nơi nào trong cửa sổ.

Để sao chép văn bản khi QuickEdit bị tắt:

  1. Nhấp chuột phải vào thanh tiêu đề, nhấn Edit trên menu và nhấn Mark.
  2. Kéo chuột trên văn bản bạn muốn sao chép.
  3. Nhấn Enter (hoặc nhấp chuột phải vào bất cứ nơi nào trong cửa sổ) để sao chép văn bản vào bảng tạm.

Để Dán văn bản khi QuickEdit bị tắt:

  1. Nhấp chuột phải vào thanh tiêu đề, nhấn Chỉnh sửa trên menu và nhấn Dán.

14
chúng ta đang nói về các phím tắt.
pylover

11
Nhấp chuột phải có vẻ khá ngắn đối với tôi
Jay Sullivan

19
Di chuyển bàn tay của bạn từ bàn phím sang chuột không đủ tiêu chuẩn là "khá ngắn".
Ross Presser

Này, thật tuyệt. Đây là cách tôi sử dụng nó: Tôi đã tạo một lối tắt trên màn hình nền của mình để cmd.exe sau đó nhấp chuột phải vào nó để "Ghim vào thanh tác vụ" - sau đó xóa phím tắt khỏi màn hình nền ... sau đó tôi nhấp chuột phải vào nó trong tác vụ bat, sau đó nhấp chuột phải lần nữa khi nó hiển thị cmd và chọn Thuộc tính. Tôi vào Advanced rồi bảo nó chạy với tư cách Quản trị viên. Sau đó OK quay lại và chọn tab tùy chọn và bật QuickEdit giống như bạn mô tả ở đây. Và Voila, sau đó LUÔN LUÔN được kích hoạt để dán được thực hiện bằng cách nhấp chuột phải vào dấu nhắc bất cứ khi nào tôi sử dụng biểu tượng CMD màu đen trong thanh tác vụ.
SDsolar

35

Cảm ơn Pablo, chỉ là những gì tôi đang tìm kiếm! Tuy nhiên, nếu tôi có thể tự do cải thiện tập lệnh của mình một chút, tôi khuyên bạn nên thay thế macro ^ V của mình bằng cách sau:

; 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

Ưu điểm của việc sử dụng SendInput là

  • nó không dựa vào menu hệ thống nhắc lệnh có mục menu "Alt + Space E P" để thực hiện dán (hoạt động cho tiếng Anh và tiếng Tây Ban Nha, nhưng không phải cho tất cả các ngôn ngữ).
  • nó tránh được sự nhấp nháy khó chịu mà bạn nhận được khi menu được tạo và hủy.

Lưu ý, điều quan trọng là bao gồm "{Raw}" trong lệnh SendInput, trong trường hợp bảng tạm xảy ra có chứa "!", "+", "^" Hoặc "#".

Lưu ý, nó sử dụng StringReplace để loại bỏ các ký tự trả về vận chuyển Windows thừa. Cảm ơn hugov cho đề nghị đó!


2
tốt, cải tiến luôn được chào đón!
PabloG

1
thông minh! câu trả lời mặc định nhấp nháy menu bật lên, thật khó chịu
Eugene Burmako

cảm ơn, cái này mang lại cho ctrl-vgiao diện điều khiển một cảm giác 'bản địa'
jettico

Khi tôi nhấn ctrl+vnó sẽ dán chính xác, nhưng cũng bắt đầu thực thi chuỗi (nó giống như enterđược nhấn sau đó). Làm thế nào tôi có thể ngăn chặn điều đó?
LoMaPh

18

Ngoài ra còn có một công cụ mã nguồn mở tuyệt vời gọi là clink , giúp mở rộng cmd bằng nhiều tính năng. Một trong số đó là có thể sử dụng ctrl + v để chèn văn bản.


Hầu hết các tính năng của clink đều tuyệt vời, nhưng nó phá vỡ một tính năng hữu ích IMO. chu trình tự động hoàn thành của cmd.exe thông qua các tệp. clink's hiển thị một danh sách khi nhiều tệp bắt đầu có cùng tên. Đối với tên tệp dài bắt đầu bằng cùng tên, cmd.exe có chế độ tự động hoàn thành tốt hơn.
ChaimG


8

Đây là một công cụ miễn phí sẽ làm điều đó trên Windows. Tôi thích nó cho một kịch bản vì nó dễ cài đặt. Nó chạy như một ứng dụng gốc nhanh, hoạt động trên XP trở lên, có các cài đặt cấu hình cho phép ánh xạ lại các phím sao chép / dán / lựa chọn cho các cửa sổ lệnh:

nhập mô tả hình ảnh ở đây

Thêm vào đó tôi biết các nhà phát triển.


4

Phương pháp đơn giản nhất chỉ là sao chép văn bản mà bạn muốn dán vào cmd và mở cmd goto "property" ---> "tùy chọn" tab ----> kiểm tra (cho dấu tick) "chế độ quickEdit" và nhấp vào " ok "..... bây giờ bạn có thể dán bất kỳ văn bản nào từ clipboard bằng cách nhấp chuột phải từ chuột của bạn.

Cảm ơn bạn..


4

Cảm ơn, Pablo, đã tham khảo tiện ích AutoHotkey. Vì tôi đã cài đặt Launchy sử dụng Alt+ SpaceTôi phải sửa đổi nó nhưng để thêm Shiftkhóa như được hiển thị:

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

3

Đây không thực sự là một phím tắt mà chỉ là một truy cập nhanh vào menu điều khiển: Alt-space EP

Nếu bạn có thể sử dụng chuột, nhấp chuột phải vào cửa sổ cmd hoạt động như dán khi tôi thử.


Vâng, nhấp chuột phải hoạt động tốt nhưng đó là những gì tôi đang cố gắng tránh.
sme

Hóa ra bốn nhịp gõ phím di chuyển bàn tay đến chuột. Giải pháp này cũng chiến thắng vì nó đã sẵn sàng để đi trên bất kỳ máy nào.
Nick

3

Về mặt lý thuyết, ứng dụng trong DOS Prompt có bảng tạm và phím tắt riêng. Để nhập văn bản từ khay nhớ tạm của Windows là "thêm". Tuy nhiên, bạn có thể sử dụng Alt-Space để mở menu hệ thống của cửa sổ Nhắc, sau đó nhấn E, P để chọn Chỉnh sửa, Dán menu. Tuy nhiên, MS có thể cung cấp lối tắt bằng Win-key. Không có cơ hội được sử dụng trong ứng dụng DOS.


1
Cũng như một ghi chú bên lề: Khi bạn thấy cmd thông qua kết nối RDP, đó là Alt-Del thay vì Alt-Space.
Bowi

2

Tôi đã mất một lúc để tìm hiểu lý do tại sao tập lệnh AutoHotkey của bạn không hoạt động với tôi:

; 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

Trong thực tế, nó dựa vào tổ hợp phím và do đó bố trí bàn phím! Vì vậy, khi bạn, như tôi, thật không may khi chỉ có một bàn phím AZERTY, đề xuất của bạn không hoạt động. Và tệ hơn nữa, tôi không tìm thấy cách dễ dàng nào để thay thế phương thức SendInput hoặc vặn môi trường của nó để sửa lỗi này. Ví dụ SendInput "1" chỉ không gửi chữ số 1.

Tôi đã phải biến mọi ký tự thành unicode để làm cho nó hoạt động trên máy tính của mình:

#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

Không đơn giản ...


2

Nếu bạn sử dụng trình quản lý clipboard Ditto (mã nguồn mở, miễn phí), bạn chỉ cần sử dụng phím tắt để dán từ Ditto và nó sẽ dán bảng tạm vào CMD cho bạn.

nhập mô tả hình ảnh ở đây


1

Bạn có thể thử sử dụng Texter và tạo một cái gì đó không thể như:

./p, được kích hoạt bởi khoảng trắng và thay thế văn bản bằng% c

Tôi chỉ thử nghiệm nó và nó hoạt động tốt. Gotcha duy nhất là sử dụng một chuỗi hiếm, vì Texter không thể hạn chế điều này chỉ trong cmd.

Có thể có các tiện ích khác thuộc loại này có thể hoạt động, và thậm chí AutoHotKey , mà Texter được xây dựng có thể làm điều đó tốt hơn, nhưng Texter thì dễ :-)


1

Một cách đơn giản hơn là sử dụng windows powershell thay vì cmd. itworks tốt với texter.




1

Nếu bạn là người dùng Cygwin, bạn có thể thêm phần sau vào tệp ~ / .bashrc của mình:

stty lnext ^q stop undef start undef

Và sau đây với tệp ~ / .inputrc của bạn:

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

Khởi động lại thiết bị đầu cuối Cygwin của bạn.

(Lưu ý, tôi đã sử dụng chữ hoa chữ C để sao chép, vì CTRL + c được gán cho chức năng ngắt trên hầu hết các bảng điều khiển. Mùa để nếm thử.)

Nguồn


1

Thay vì "nhấp chuột phải" .... bắt đầu phiên của bạn (một khi bạn đang ở trong cửa sổ nhắc lệnh) bằng cách nhập Alt / SpaceBar. Điều đó sẽ mở menu cửa sổ Command Prompt và bạn sẽ thấy các phím tắt lệnh bàn phím được gạch chân quen thuộc của mình, giống như trong Windows GUI.

Chúc may mắn!


1

Tôi đã làm theo các bước của @ PabloG như sau

  1. goto http://www.autohotkey.com/ - tải xuống autohotkey
  2. làm theo các bước cài đặt đơn giản
  3. sau khi cài đặt, hãy tạo tệp * .ahk mới như sau, nhấp chuột phải vào màn hình> mới> Autohotkey Script> giveAnyFileName.ahk
  4. nhấp chuột phải vào tập tin này> Chỉnh sửa
  5. sao chép tập lệnh autohotkey do @PabloG đưa ra trong câu trả lời của anh ấy
  6. lưu và đóng
  7. nhấp đúp chuột vào tập tin để chạy
  8. Xong ngay bây giờ, bạn sẽ có thể sử dụng Ctrl+ vđể dán trong dấu nhắc lệnh

-4

Trong Dấu nhắc lệnh của VISTA: Nhấp vào Biểu tượng hệ thống Chọn Mặc định từ Menu Trên tab Tùy chọn trong nhóm Tùy chọn Tôi có "Chế độ chỉnh sửa nhanh", "Chế độ chèn" và "Hoàn thành tự động" được chọn Tôi nghĩ rằng "Chế độ chỉnh sửa nhanh" là những gì làm cho nó hoạt động.

Để dán bất cứ thứ gì vào Clipboard tại điểm chèn: Nhấp chuột phải. Để sao chép từ Cửa sổ lệnh Chọn bằng cách giữ nút chuột trái và kéo con trỏ qua những gì bạn muốn sao chép Sau khi chọn, nhấp chuột phải Để dán tại điểm chèn, nhấp chuột phải lần nữa.


8
Phần nào của "thay vì sử dụng nút chuột phải" bạn không hiểu;)
rebiero
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.