在Notepad ++中双击捕获PHP变量

时间:2011-02-23 15:10:16

标签: php variables notepad++ behavior

我刚从eclipse切换到Notepad ++,我修改了记事本的一些行为,但仍有一个未解决: 当我双击一个变量时,我希望我的编辑器能够捕获整个变量。 记事本自动排除php前缀“$”,这是无效的。 有没有办法可以改变行为?

谢谢

4 个答案:

答案 0 :(得分:9)

从版本7。3。1(2017年1月17日发布)开始,他们添加了一种简单的方法。引自release notes

  

此版本中添加了自定义单词字符的增强功能:双击以选择或搜索“仅匹配整个单词”选项时,所选字符将停留在非单词字符上。 通过此增强功能,用户可以将任何非单词字符添加到单词字符集中,以便更改其默认行为。

要启用它,请转到设置 - >偏好 - >分隔符,选择“将您的角色添加为单词的一部分”,并在文本框中添加一个美元符号($)。关闭,它的工作原理!

答案 1 :(得分:3)

我理解您的问题,但不幸的是,Notepad ++无法设置此行为。

您可以在美元符号和变量名称之间单击。只要美元符号前没有特殊字符(例如[$var]),您就会获取整个变量。

答案 2 :(得分:3)

以下是如何在Npp中选择整个$ php_variable / $单词,包括'$'符号,使用Alt + Click:

编辑:我现在意识到您可以跳过Npp宏并仅使用AutoHotKey进行操作。但是无论如何我都会离开宏,以防smb喜欢它。有关详细信息,请查看AutoHotkey.chm,在内容选项卡中,导航至:Kheyboard Control>>发送/发送...

不要在{LButton} {...}之间放置空格,否则它们会被插入到编辑器中(逗号之后的空格似乎没问题)。

它可能会像这样(没有测试过它)。

!LButton::
Send, {LButton}{CTRLDOWN}{LEFT}{CTRLUP}{LEFT}{CTRLDOWN}{SHIFTDOWN}{RIGHT}{RIGHT}{SHIFTUP}{CTRLUP}
return

结束编辑

我终于在

的帮助下完成了这项工作
  • Autohotkey(google it)。
  • npp macro

宏:

  • 在开始录制宏之前:在php变量中单击以使闪烁的光标位于其中(例如:$php_varia|ble
  • 现在点击记录宏
  • 现在按:Ctrl +左,左(无ctrl),ctrl + shift + right,ctrl + shift + right;这将选择整个php变量/单词,包括'$'
  • 停止宏记录,然后:'保存当前记录的宏'。为其分配键盘快捷键(我指定了Ctrl + Alt + Shift + B)

Autohotkey脚本:

; alt + click translated to Click followed by Ctrl Shift Alt B
!LButton::
Send, {LButton}{CTRLDOWN}{SHIFTDOWN}{ALTDOWN}b{ALTUP}{SHIFTUP}{CTRLUP}
return

现在,当您在NPP中按住Alt +单击某个php变量时,它将选择所有内容,包括“$”符号。

我还有按Ctrl + LMouseBtn / Ctrl + Shift + LMouseButton / Ctrl + RMouseButton复制/剪切/粘贴的脚本:

^RButton::
Send, {CTRLDOWN}v{CTRLUP}
return

^LButton::
Send, {CTRLDOWN}c{CTRLUP}
return

^+LButton::
Send, {CTRLDOWN}x{CTRLUP}
return

; the plus sign means the Shift key, etc
; see 'Keyboard control' >> 'Hotkeys and Hotstrings' in the Autohotkey help.chm

答案 3 :(得分:2)

我创建了一个写入$然后粘贴剪贴板中的内容的宏,然后为该宏分配了一个快捷方式 ctr + alt + v