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

eft*_*eft 24 keyboard-shortcuts notepad++

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

虽然之前已经提出了类似的问题,但是没有提供在Notepad ++中执行此操作的方法,我无法在Notepad ++站点或其论坛上找到解决方案.

Fri*_*Guy 22

我已经创建了一个Notepad ++插件来实现这一点(不需要python).它可以在https://bitbucket.org/zastrowm/notepad-visualstudiolinecopy找到.


And*_*din 21

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

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

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

  2. 使用菜单Plugins - > Python Script - > New script创建以下两个python脚本

    copyAllowLine.py

    editor.copyAllowLine()
    
    Run Code Online (Sandbox Code Playgroud)


    cutAllowLine.py

    if editor.getSelectionStart() == editor.getSelectionEnd():
        editor.lineCut()
    else:
        editor.cut()
    
    Run Code Online (Sandbox Code Playgroud)


  3. Python脚本 - >配置

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

  4. 重启记事本++(重要)

  5. 设置 - >快捷方式映射器...

    • Scintilla命令下,删除Ctrl+ CCtrl+ 的现有关联X.

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

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

  • 我在插件管理器中找不到NppPython.我从它的网站安装没有问题,但安装后它被列为"Python脚本".也许它现在也列在可用插件下.除了轻微的皱纹,这些说明仍然可以正常工作.谢谢! (2认同)

小智 2

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

  • 再次感谢,但随后发生的情况是,即使选择了文本,CTRL-X 也会删除整行。这些看似很小的差异,但当您在一个会话中执行数百次操作时,它就会累积起来。 (3认同)