【问题标题】:Keyboard shortcut to paste clipboard content into command prompt window (Win XP) [closed]将剪贴板内容粘贴到命令提示符窗口(Win XP)的键盘快捷键[关闭]
【发布时间】:2010-09-13 00:22:58
【问题描述】:

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

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

【问题讨论】:

  • 使用控制台2。 sourceforge.net/projects/console
  • 帮自己一个忙,查看此页面上的“叮当”答案。 ctrl-v 等等。
  • @pylover 固定在2015
  • @pylover 否则对于 clipboard manager。 (当然我同意这是荒谬的 cmd 在
  • @pylover 微软的耻辱,在 2016 年我们必须使用鼠标粘贴到 Bash,即使菜单 声称 是 Ctrl+V 粘贴的。

标签: windows keyboard-shortcuts


【解决方案1】:

是的..但很尴尬。 Link

alt + Space, e, k alt + Space, e, p

【讨论】:

  • 不完全是我所希望的,但它当然有效。一些额外的提示: 如果您已将 ALT+SPACE 映射到您的应用程序启动器(例如 Launchy),请改用 ALT-SHIFT-SPACE 如果您使用的是非英语版本的 Windows,最后两个键当然会有所不同(例如 B +E 德语粘贴)
  • 只是为了解释选择: ALT+SPACE+E+K
  • 复杂,我没有足够的手指来完成这项工作
  • 我发现这个答案最有用且直截了当。键序列并没有让我感到震惊,因为 Emacs 和弦序列比这差得多。实际上,窗口菜单快捷键 Alt+Space 足以理解接下来要按什么,因为有视觉反馈(带下划线的字符)。
  • 对于法式窗口:[Alt] + [Space],[m],[c] 用于复制,[Alt] + [Space],[m],[o] 用于粘贴
【解决方案2】:

我个人使用一点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 

【讨论】:

  • 当 Cygwin 在 ConsoleWindow 中运行时,这些东西会干扰它。我对这个提示很兴奋,但不幸的是我不得不卸载它。
  • @piyo:也许您可以通过标题栏排除 Cygwin 控制台?例如:如果控制台标题栏显示“ConsoleWindow”,您可以添加类似 WinGetTitle sTitle\n If (sTitle="ConsoleWindow") {\n return\n }\n ---
  • 好主意。 (+1)是的,如果窗口标题不变,那将起作用。我觉得我对 Cygwin 中的窗口标题有更多的控制权,所以也许我可以为 AHK 的过滤添加一些静态但不可见的提示文本。
  • @piyo: cygwin mintty(不涉及 X)对于 cygwin shell 来说更好......
  • HowToGeek 建议使用“SendInput {Raw}%clipboard%”而不是 alt-space ep。然后你也摆脱了闪烁
【解决方案3】:

与编程无关,但我在 Google 上找到了this没有直接的键盘快捷键,但让它更快一点。

启用或禁用快速编辑模式:

  1. 打开 MS-DOS 程序或命令提示符。
  2. 右键单击标题栏并按属性。
  3. 选择“选项”选项卡。
  4. 选中或取消选中“快速编辑模式”框。
  5. 按确定。
  6. 在“将属性应用到快捷方式”对话框中,如果您只想更改此窗口的此会话的快速编辑设置,请选择“将属性应用到当前窗口”,或选择修改启动此窗口的快捷方式以更改所有的快速编辑设置将来调用命令提示符或 MS-DOS 程序。

启用快速编辑时复制文本:

  1. 单击鼠标指针并将其拖动到所需的文本上。
  2. 按 Enter(或右键单击窗口中的任意位置)将文本复制到剪贴板。

启用快速编辑时粘贴文本:

  1. 右键单击窗口中的任意位置。

在禁用快速编辑时复制文本:

  1. 右键单击标题栏,按菜单上的编辑,然后按标记。
  2. 将鼠标拖到要复制的文本上。
  3. 按 Enter(或右键单击窗口中的任意位置)将文本复制到剪贴板。

在禁用快速编辑时粘贴文本:

  1. 右键单击标题栏,按菜单上的编辑,然后按粘贴。

【讨论】:

  • 我们正在讨论键盘快捷键。
  • 右键单击对我来说似乎很短
  • 将您的手从键盘移到鼠标上会取消其“相当短”的资格。
  • 嘿,这很酷。以下是我的使用方法:我在桌面上创建了一个指向 cmd.exe 的快捷方式,然后右键单击它以“固定到任务栏” - 然后从桌面上删除该快捷方式……然后我在任务bat,然后在显示cmd时再次右键单击,然后选择属性。我进入高级然后告诉它以管理员身份运行。然后确定返回并选择选项选项卡并启用快速编辑,就像您在此处描述的那样。瞧,每当我在任务栏中使用黑色 CMD 图标时,总是可以通过右键单击提示来完成粘贴。
【解决方案4】:

感谢 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 的建议!

【讨论】:

  • 很好,总是欢迎改进!
  • 太棒了!默认答案闪烁弹出菜单,很烦人
  • 谢谢,这个给ctrl-v 在控制台中一种“原生”的感觉
  • 当我按下ctrl+v 时,它会正确粘贴,但也会开始执行字符串(就像之后按下enter)。我怎样才能防止这种情况发生?
【解决方案5】:

还有a great open source tool called clink,它扩展了许多特性的cmd。其中之一是能够使用 ctrl+v 插入文本。

【讨论】:

  • clink 的大部分功能都很棒,但它破坏了 IMO 的一项有用功能。 cmd.exe 的自动完成循环文件。当多个文件以相同名称开头时,clink 会显示一个列表。对于以相同名称开头的长文件名,cmd.exe 具有更好的自动补全功能。
【解决方案6】:

【讨论】:

  • 他们将此设置移动到选项选项卡并默认启用它,因此实验不再存在(一切似乎都在选项选项卡内,只是 opactiy 设置在颜色中-选项卡)。所以它现在应该可以工作了:)
  • 这很奇怪,但即使在这里启用它也不起作用。
【解决方案7】:

Here 是一个免费工具,可以在 Windows 上执行此操作。我更喜欢它而不是脚本,因为它很容易设置。它作为一个快速的原生应用程序运行,适用于 XP 及更高版本,具有允许重新映射命令窗口的复制/粘贴/选择键的配置设置:

另外我认识开发者。

【讨论】:

    【解决方案8】:

    最简单的方法就是复制你想粘贴到cmd中的文本并打开cmd goto "properties"---> "option" tab---->勾选(give tick mark) "quickEdit mode"然后单击“确定”.....现在您可以通过鼠标右键单击粘贴剪贴板中的任何文本。

    谢谢你..

    【讨论】:

      【解决方案9】:

      感谢 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
      

      【讨论】:

        【解决方案10】:

        这并不是真正的快捷方式,而只是快速访问控制菜单:Alt-space E P

        如果你可以使用鼠标,我尝试右键单击cmd窗口就像粘贴一样。

        【讨论】:

        • 是的,右键单击可以正常工作,但这是我要避免的。
        • 结果是四次击键胜过将手移到鼠标上。这个解决方案也很成功,因为它可以在任何机器上运行。
        【解决方案11】:

        理论上,DOS Prompt 中的应用程序有自己的剪贴板和快捷方式。从 Windows 剪贴板导入文本是“额外的”。但是您可以使用 Alt-Space 打开提示窗口的系统菜单,然后按 E、P 选择编辑、粘贴菜单。但是,MS 可以使用 Win 键提供快捷方式。没有机会在DOS应用程序中使用。

        【讨论】:

        • 附带说明:当您通过 RDP 连接查看 cmd 时,它是 Alt-Del 而不是 Alt-Space。
        【解决方案12】:

        我花了一点时间才弄清楚为什么你的 AutoHotkey 脚本对我不起作用:

        ; 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
        

        事实上,它依赖于击键,因此依赖于键盘布局! 因此,当您像我一样不幸只有一个 AZERTY 键盘时,您的建议就是行不通的。更糟糕的是,我发现没有简单的方法可以替换 SendInput 方法或扭曲它的环境来解决这个问题。例如 SendInput "1" 只是不发送数字 1。

        我必须把每个字符都转换成它的 unicode 才能在我的电脑上运行:

        #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
        

        不是很简单……

        【讨论】:

          【解决方案13】:

          如果您使用剪贴板管理器Ditto(开源,免费),您可以简单地使用从同上粘贴的快捷方式,它会为您将剪贴板粘贴到 CMD 中。

          【讨论】:

            【解决方案14】:

            我按照@PabloG的步骤如下

            1. 转到http://www.autohotkey.com/ - 下载自动热键
            2. 按照简单的安装步骤进行
            3. 安装后新建 *.ahk 文件如下右击桌面 > 新建 > Autohotkey 脚本 > giveAnyFileName.ahk
            4. 右键单击此文件 > 编辑
            5. 复制@PabloG 在他的回答中给出的粘贴自动热键脚本
            6. 保存并关闭
            7. 双击文件运行
            8. 现在您应该可以使用 Ctrl+v 在命令提示符中粘贴

            【讨论】:

              【解决方案15】:

              您可以尝试使用Texter 并创建一些不太可能的内容,例如:

              ./p ,由空格触发并将文本替换为 %c

              我刚刚测试了它,它工作正常。唯一的问题是使用稀有序列,因为 Texter 不能将其限制为仅 cmd。

              可能还有其他类似的实用程序可以工作,甚至是构建 Texter 的 AutoHotKey 可以做得更好,但 Texter 很简单 :-)

              【讨论】:

                【解决方案16】:

                更简单的方法是使用 windows powershell 代替 cmd。它适用于 texter。

                【讨论】:

                  【解决方案17】:

                  我最近发现命令提示符支持通过鼠标右键单击上下文菜单。您可以在此处找到更多详细信息:http://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html

                  【讨论】:

                  • 根据问题:而不是使用鼠标右键
                  【解决方案18】:

                  相当简单的解决方案可能是Console 2,重新定义键即可。

                  【讨论】:

                    【解决方案19】:

                    如果您是 Cygwin 用户,您可以将以下内容附加到您的 ~/.bashrc 文件中:

                    stty lnext ^q stop undef start undef

                    你的 ~/.inputrc 文件如下:

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

                    重启你的 Cygwin 终端。

                    (注意,我使用大写的 C 来表示复制,因为 CTRL+c 在大多数控制台上都分配给了 break 功能。调味。)

                    Source

                    【讨论】:

                      【解决方案20】:

                      而不是“右键单击”....通过键 Alt/SpaceBar 开始您的会话(一旦您在命令提示符窗口中)。这将打开命令提示符窗口菜单,您将看到熟悉的带下划线的键盘命令快捷方式,就像在 Windows GUI 中一样。

                      祝你好运!

                      【讨论】:

                        【解决方案21】:

                        在 VISTA 命令提示下: 点击系统图标 从菜单中选择默认值 在选项组中的选项选项卡上,我有 选择“快速编辑模式”、“插入模式”和“自动完成” 我认为“快速编辑模式”是它起作用的原因。

                        要在插入点粘贴剪贴板中的任何内容:右键单击。 从命令行窗口复制 通过按住鼠标左键并将指针拖过要复制的内容进行选择 选择后,右键单击 要在插入点粘贴,请再次单击鼠标右键。

                        【讨论】:

                        • 你不明白“而不是使用鼠标右键”的哪一部分;)
                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 2017-09-19
                        • 2013-05-16
                        • 1970-01-01
                        • 2020-12-10
                        • 1970-01-01
                        • 2013-06-22
                        • 2011-01-20
                        相关资源
                        最近更新 更多