键盘快捷方式,可将剪贴板内容粘贴到命令提示窗口中(Win XP)
是否存在用于将剪贴板内容粘贴到Windows XP上的命令提示符窗口(而不是使用鼠标右键)的键盘快捷方式?
典型的Shift
+Insert
在这里似乎不起作用。
解决方案
是的..但是很尴尬。关联
alt
+Space
,e
,k
<-用于复制和alt
+Space
,e
,p
<-用于粘贴。
这实际上不是捷径,而是快速访问控制菜单:Alt-space E P
如果可以使用鼠标,则在我尝试时,在cmd窗口上单击鼠标右键会像粘贴一样。
与编程没有真正的关系,但是我在Google上发现了这一点,它没有直接的键盘快捷键,但是使其速度更快。
要启用或者禁用快速编辑模式:
- 打开MS-DOS程序或者命令提示符。
- 右键单击标题栏,然后按属性。
- 选择选项选项卡。
- 选中或者取消选中"快速编辑模式"框。
- 按确定。
- 在"将属性应用于快捷方式"对话框中,仅当我们只想更改此窗口的该会话的"快速编辑"设置时,才选择"将属性应用于当前窗口",或者选择"修改启动此窗口的快捷方式"以更改以后所有调用的"快速编辑"设置命令提示符或者MS-DOS程序。
要在启用QuickEdit时复制文本,请执行以下操作:
- 单击鼠标指针并将其拖动到所需的文本上。
- 按Enter键(或者在窗口中的任何位置单击鼠标右键)以将文本复制到剪贴板。
要在启用QuickEdit时粘贴文本,请执行以下操作:
- 右键单击窗口中的任何位置。
要在禁用QuickEdit时复制文本,请执行以下操作:
- 用鼠标右键单击标题栏,在菜单上按编辑,然后按标记。
- 将鼠标拖到要复制的文本上。
- 按Enter键(或者在窗口中的任何位置单击鼠标右键)以将文本复制到剪贴板。
在禁用QuickEdit时粘贴文本:
- 用鼠标右键单击标题栏,在菜单上按编辑,然后按粘贴。
我们可以尝试使用Texter并创建类似以下内容的内容:
./p,由空格触发并用%c替换文本
我刚刚对其进行了测试,并且效果很好。唯一的陷阱是使用稀有序列,因为Texter不能将其限制为仅cmd。
可能还有其他这类实用程序可以使用,甚至在Texter所基于的AutoHotKey上也可以做得更好,但是Texter很容易:-)
我个人使用一些AutoHotkey脚本来重新映射某些键盘功能,对于我使用的控制台窗口(CMD):
; 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
谢谢Pablo,正是我想要的!但是,如果我可以稍微改善一下脚本的自由度,建议我们将^ V宏替换为以下内容:
; 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的优点是
- 它不依赖于具有" Alt + Space E P"菜单项的命令提示符系统菜单进行粘贴(适用于英语和西班牙语,但不适用于所有语言)。
- 它避免了菜单创建和销毁时出现的令人讨厌的闪烁。
请注意,在剪贴板恰好包含"!"," +"," ^"或者"#"的情况下,在SendInput命令中包括" {Raw}"非常重要。
注意,它使用StringReplace删除多余的Windows回车符。感谢hugov的建议!
感谢Pablo提及AutoHotkey实用程序。
因为我已经安装了使用Alt
+Space
的Launchy,所以我不得不对其进行修改,但是要添加Shift
键,如下所示:
; Paste in command window ^V:: ; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste) Send !+{Space}ep return
一种更简单的方法是使用Windows Powershell而不是cmd。它与texter一起正常工作。
我最近发现命令提示符通过右键单击支持上下文菜单。我们可以在此处找到更多详细信息:http://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html