键盘快捷方式,可将剪贴板内容粘贴到命令提示窗口中(Win XP)

时间:2020-03-06 14:42:29  来源:igfitidea点击:

是否存在用于将剪贴板内容粘贴到Windows XP上的命令提示符窗口(而不是使用鼠标右键)的键盘快捷方式?

典型的Shift+Insert在这里似乎不起作用。

解决方案

是的..但是很尴尬。关联

alt+Spaceek<-用于复制和
alt+Spaceep<-用于粘贴。

这实际上不是捷径,而是快速访问控制菜单: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