使用键盘在 Notepad++ 中打开链接

使用键盘在 Notepad++ 中打开链接

我可以通过双击链接在 Notepad++ 中打开互联网链接。有没有办法只使用键盘来实现这一点?我的意思是有没有键盘快捷键可以实现这一点?

答案1

官方说法是没有。至少在 Notepad++ 6.1.2 中没有

在“设置”>“偏好设置”>“其他”中,你只能“启用可点击链接”——没有提到键盘。

在设置 > 快捷方式映射器 > 主菜单、运行命令或 Scintilla 命令中没有对此的提及。

无法以此方式录制宏以便为该宏指定快捷方式。

“启动...”命令将整个文件发送到所选的浏览器。

当然,如果你能找到合适的插件来做这件事,那你就很幸运了。安装它并为其指定一个快捷方式。

...但是如果你很极端,你可以启用(在 Windows 上)鼠标键并将数字键盘用作鼠标,这样你就可以在键盘上进行“左键单击”。

答案2

您可以手动向 notepad++ 添加一个快捷方式,以选定的文本作为链接启动默认浏览器。

添加快捷方式的方法如下:

  1. 打开 Notepad++ 快捷方式文件:%appdata%\notepad++\shortcuts.xml
  2. 在本节末尾<UserDefinedCommands>添加:使用+ +
    键的快捷键: CtrlShiftEnter
    <Command name="Open Link" Ctrl="yes" Alt="no" Shift="yes" Key="13">explorer &quot;$(CURRENT_WORD)&quot;</Command>
    
    或者没有定义键绑定的快捷方式:
    <Command name="Open Link" Ctrl="no" Alt="no" Shift="no" Key="0">explorer &quot;$(CURRENT_WORD)&quot;</Command>
    
    您可以在 Notepad++ 本身中定义键绑定(设置 > 快捷方式映射器 > 运行命令)。
  3. 重新启动 notepad++。

笔记:当选择的文本为本地文件夹或文件路径时,将使用文件资源管理器打开文件夹,或使用默认程序打开文件。

怎么运行的:此解决方案通过使用所选文本作为参数来调用 Windows 文件资源管理器,因此它实际上就像打开文件资源管理器并在地址栏中输入链接一样。

这个答案基于我在这里找到的答案:在默认 Web 浏览器中启动,但我认为它更安全,因为它不能运行任何命令,它只打开文件资源管理器知道如何打开的内容。

答案3

怎么运行的:

您选择整行(例如Shift+ End),然后按Ctrl+ Enter (或仅选择链接,但速度较慢)。

如果该行包含http*www*字符串,它将在您的浏览器中打开,即该行可以包含其他前缀或后缀文本,它将被修剪。

如何实现:

将此/这些行添加到元素%appdata%Notepad++\shortcuts.xml<UserDefinedCommands>

<!-- Shortcut: CTRL+ENTER -->
<Command name="Launch in Edge" Ctrl="yes" Alt="no" Shift="no" Key="13">&quot;C:\util\OpenLink.cmd&quot; $(CURRENT_WORD)</Command>
<!-- Shortcut: CTRL+K -->
<Command name="Launch in Edge" Ctrl="yes" Alt="no" Shift="no" Key="75">&quot;C:\util\OpenLink.cmd&quot; $(CURRENT_WORD)</Command>

在此处输入图片描述

OpenLink.cmd从行中提取链接并打开浏览器的脚本文件的内容如下:

@echo off
SET BrowserPath="C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" 
:loop
SET Str=%~1
REM echo TextPart: %Str%
IF %Str:~0,4%==http (
   REM echo Execute: %Str%
   cmd /c %BrowserPath% %Str%
)
IF %Str:~0,3%==www (
   REM echo Execute: %Str%
   cmd /c %BrowserPath% %Str%
)
SHIFT
IF NOT "%~1"=="" GOTO loop
REM pause

(抱歉,关于 Edge...你可以用更好的东西替换它。另外请注意 CTRL+K 可能已被占用,请在快捷方式 GUI 中检查)

命令变量$(当前单词)抓取选定的文本并将其解析为 cmd 脚本。不幸的是,NPP 中没有命令变量来抓取整行,因此您不必先自己动手,希望将来可以实现。另一个改进是制作一个宏,选择整行,然后执行定义的 NPP 命令或执行 cmd 脚本文件,但这在宏中似乎是不可能的 :-(。所以您必须先选择整行/超链接字符串。我提出了一个功能请求这里

相关内容