17

当我每天在工作中使用 Notepad++ 时,我想扩展它以提高工作效率。

我想要做的是选择包含单词的多行,右键单击并单击“逗号分隔”之类的菜单项,然后将所有单词放在单行逗号分隔。

我知道 Notepad++ 支持宏和插件。最好的方法是什么?

我的 C++ 技能有限。

更新:

澄清一下,我需要重新格式化的单词永远不会超过 5 或 6 行。问题是我每天这样做 50 次,所以加快速度的方法会很棒。有没有其他应用程序可以为我做到这一点?

更新2

感谢您的回答。我将尝试创建一个 Notepad++ 插件。

更新3

有谁知道创建 Notepad++ 插件的 .NET 包装器?也许这应该是一个新问题。

4

6 回答 6

8

您现在可以使用 Notepad++ 的 Python 脚本插件轻松完成此操作。

只需添加一个类似的脚本

text = editor.getSelText()
text = text.replace(' ', ',')
editor.replaceSel(text)

为脚本分配一个快捷方式或工具栏按钮,然后您就离开了。我并不完全清楚您要替换什么,但显然更改脚本的逻辑应该很容易。

于 2010-08-23T13:55:22.950 回答
5

我经常使用 Notepad++ 的宏函数来做这样的事情。

例如。假设你有这个:

apple
pear
banana
grape
orange

要使用逗号分隔行,您可以转到第一行,按 ctrl+r(开始录制),然后按结束、删除、逗号,然后再次按 ctrl+r 停止录制。

然后反复按 control+p(播放录音),直到你得到你想要的。如果我正在处理一个大文件,我只是按住它,然后如果我走得太远,我会按 ctrl+z 回去。

您无法保存宏以供以后使用,但简单的事情很容易再次完成。

编辑:实际上,事实证明您可以保存宏以供以后使用,甚至可以为其分配热键。只录制宏,然后去Macro -> Save current recorded macro

于 2009-06-30T08:48:05.690 回答
3

由于他在上次编辑中要求采用 .NET 方法,因此我们开始:

用于 Visual Studio 和 SharpDevelop 的 Notepad++ .NET 插件模板

于 2012-05-22T22:04:02.740 回答
1

实际上,在 Notepad++ 中,您必须使用此字符串来匹配一行中的单个单词,可能带有尾随空格:

^\<(.*)\> *$

然后你用\1,

我自己尝试这样做,一切正常,除了在此之后您必须从正则表达式搜索模式切换到扩展并删除所有\r\n\n取决于您的行尾。

于 2009-06-30T09:10:23.913 回答
1

根据 PhiLho 的回答:

  1. 关闭记事本++
  2. 在 N++ 以外的任何文本编辑器中编辑 %AppData%\Notepad++\shortcuts.xml
  3. 找到 <Macros> 标签并粘贴到下面的代码中:

    <Macro name="Lines to comma separated text" Ctrl="no" Alt="yes" Shift="yes" Key="82">
        <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
        <Action type="3" message="1601" wParam="0" lParam="0" sParam="\r\n" />
        <Action type="3" message="1625" wParam="0" lParam="1" sParam="" />
        <Action type="3" message="1602" wParam="0" lParam="0" sParam="," />
        <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
        <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
    </Macro>
    
  4. 保存、关闭并打开 Notepad++ - 您将在“宏”菜单中看到一个新宏,其快捷键设置为 Alt+Shift+R(易于在 shortcuts.xml 中配置)
于 2011-10-30T13:28:05.207 回答
0

让我们看看。我有5行单词。我选择它们。Ctrl+H。检查扩展和在选择。搜索“\r\n”,替换为“,”,点击全部替换。我得到了大部分你想要的结果(最后有一个额外的逗号)。

那是你要的吗?也许你可以用它做一个宏,我对这个功能了解不多(实际上我主要使用 SciTE)。

于 2009-06-30T08:35:49.507 回答