为Jedit安装复制选择或行宏

时间:2015-03-14 05:33:25

标签: macros text-editor jedit

嗨,我是jedit的新手,我正在尝试安装一项功能,让我在没有选择时复制当前行。我在Copy_Selection_or_Line.bsh下找到了这个宏http://www.jedit.org/users-guide/macros-clipboard.html

它似乎是一个默认宏,我应该能够在不安装任何东西的情况下使用它。但我在列表中找不到它。

然后我尝试在这里使用此宏的代码https://github.com/aismail/sedemo2011/blob/master/lib/jason/bin/jedit/macros/Clipboard/Copy_Selection_or_Line.bsh 我安装了它,现在我可以启用它,但它不起作用。

我花了很多年时间试图让这个宏工作,但它只是不起作用。谁有能力帮我一把?感谢

2 个答案:

答案 0 :(得分:0)

Copy_Selection_or_Line.bsh宏在7年前重新命名,可以在这里看到:https://sourceforge.net/p/jedit/svn/11860。 似乎文档没有相应更新。 如果你在这里打开文档错误会很棒:https://sourceforge.net/p/jedit/bugs/new/ 这个发布的宏应该没有任何问题。

您上面链接的内容是我之前链接的更改之前的宏。很可能是7年前一些API发生了变化,并且宏不能按原样使用。 Copy_Lines.bsh宏是否正在执行您想要的操作?如果没有,它可能至少有助于更新旧的Copy_Selection_or_Line.bsh宏以使用当前的jEdit。

答案 1 :(得分:0)

我修改了宏(附在下面):

// My Copy_Selection_or_Line.bsh
if (textArea.getSelectionCount() == 0) {
    caretLine = textArea.getCaretLine();
    lineEndOffset = textArea.getLineEndOffset(caretLine);
    textArea.setSelection(new Selection.Range(textArea.getLineStartOffset(caretLine), textArea.getBufferLength() >= lineEndOffset? lineEndOffset : lineEndOffset-1));
}

Registers.copy(textArea,'$');