如何在Notepad ++中模仿Visual Studio的CTRL-X,CTRL-V功能?

时间:2009-03-06 17:44:36

标签: keyboard-shortcuts notepad++

我正在使用Notepad ++进行某些项目而错过了Visual Studio的 Ctrl + X Ctrl + C 在没有选择文本时剪切或复制整个当前行的功能。剪切线快捷键似乎是 Ctrl + L ,这不如 Ctrl + X 和复制快捷方式似乎是 Ctrl + D Ctrl + L ,这样更不方便。

虽然以前曾问过similar question,但是没有提供在Notepad ++中执行此操作的方法,我在Notepad ++网站或论坛上找不到解决方案。

8 个答案:

答案 0 :(得分:22)

我已经创建了一个Notepad ++插件,可以执行此操作(无需python)。它可以在https://bitbucket.org/zastrowm/notepad-visualstudiolinecopy找到。

答案 1 :(得分:21)

综合所有其他答案和评论,以及一些尚未提及的其他必要步骤:

Scintilla提供了一个“copyAllowLine”命令来执行此操作。 Notepad ++不会在快捷方式映射器中公开该命令,但您可以从Python脚本中调用它,并将 Ctrl + C 映射到该脚本。 “cutAllowLine”没有相应的命令,但是会有一些额外的Python代码。必须将这些脚本添加到菜单中,并且Notepad ++必须重新启动才能在快捷方式映射器中可用

  1. 安装Python Script插件(可以使用Notepad ++插件管理器完成)

  2. 使用菜单插件创建以下两个python脚本 - > Python脚本 - >新脚本

    copyAllowLine.py

    editor.copyAllowLine()
    


    cutAllowLine.py

    if editor.getSelectionStart() == editor.getSelectionEnd():
        editor.lineCut()
    else:
        editor.cut()
    


  3. Python脚本 - >构造

    • 用户脚本下,为每个脚本添加一个菜单项。

  4. 重启notepad ++(重要)

  5. 设置 - >快捷方式Mapper ......

      Scintilla命令
    • ,删除 Ctrl + C Ctrl + <的现有关联KBD> X

    • 插件命令
    • ,找到您刚创建的脚本并将快捷方式映射到它们。

  6. 注意:通过插件管理器安装时,安装了1.0.6版。当我试图在Notepad ++中运行任何与python相关的东西时,我从插件管理器中得到了一个未知异常。解决方案是从这里手动下载并安装1.0.8 .msi:1.0.8 installer

答案 2 :(得分:3)

  1. 安装NppPython plugin(可以使用Notepad ++插件管理器完成)
  2. 使用菜单插件创建此python脚本 - &gt; Python脚本 - &gt;新脚本:

    if editor.getSelectionStart() == editor.getSelectionEnd():
        editor.lineCut()
    else:
        editor.cut()
    
  3. 重启notepad ++(重要)

  4. 转到菜单设置 - &gt;快捷方式映射器 - &gt;插件命令

  5. 在列表中找到您刚刚创建的脚本并为其设置CTRL + X快捷方式

  6. 享受!

答案 3 :(得分:2)

转到设置 - &gt;快捷键映射器,然后单击顶部的“Scintilla命令”选项卡。在那里,您应该能够将 Ctrl + L 命令更改为 Ctrl + X

答案 4 :(得分:1)

您可以使用Python Script Notepad ++插件添加脚本,并将 Ctrl + C 分配给脚本(删除 Ctrl + < kbd> C 从快捷方式映射器中的SCI_COPY映射,Scintilla命令选项卡)

脚本只是:

if editor.getSelectionStart() == editor.getSelectionEnd():
    line = editor.getCurLine()
    editor.copyText(line)
else:
    editor.copy()

显然,只需为Ctrl-X添加另一个类似的脚本,即删除该行。

答案 5 :(得分:1)

来自MackieChan: notepad-visual studio line copy

的插件 必须按照以下方式设置

  1. 将其放入notepad ++ / plugin文件夹

  2. 打开记事本++(重启)

  3. 设置中的
  4. - &gt;快捷方式映射器

    Scintilla命令下,删除Ctrl + C,X

    的现有关联

    插件命令下,找到您刚创建的脚本并将快捷方式映射到它们。

答案 6 :(得分:0)

https://github.com/kbilsted/NppPluginCutNCopyLine开源时有一个插件,如果你有额外的需求,代码很容易修改。

答案 7 :(得分:-2)

你可以编写一个带有全局键事件挂钩的程序,每次你做一个 Ctrl + X 检查notepad ++是否是最重要的应用程序运行,抓取屏幕,检查是否选择了任何文本(通过查看屏幕截图和记事本++颜色设置),并将WM_KEYPRESS消息发送到模拟 Ctrl + L 的记事本++窗口(假设你正在使用Windows。)

(这不会把线放到剪贴板中,你必须做一些字符识别才能允许它)