Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #10664
    QiaoJiao
    Participant

    Is it possible to jump to a given line in macros/scripts?

    I only found

    editor.ExecuteCommandByID(4139);

    But where do I write line’s number?

    Or is it possible to open file and jump to a given line with arguments?

    #10665
    QiaoJiao
    Participant

    The closest way is:

    clipboardData.setData("Text", line_number); 
    editor.ExecuteCommandByID(4139);

    Then you have to press “ctrl+v” and “enter”.

    #10666
    Yutaka Emura
    Keymaster

    Hello,

    The following macro will move the cursor to the n-th line.

    document.selection.SetActivePoint(eePosLogical, 1, n);

    Thanks!

    #10667
    QiaoJiao
    Participant

    Thank you, it is exactly what I am looking for.

    Actually, I need to jump to a random line. Here is a code for it:

    var lines_total = document.GetLines();
    var line_random = Math.floor((Math.random()*lines_total)+1);

    document.selection.SetActivePoint(eePosLogical, 1, line_random);
    #10703
    QiaoJiao
    Participant

    I’ve just found that it is possible to use command line options for this:

    EmEditor /l 1234 D:file.txt

    It is not a macro, but it is much more powerful for my case. I am using it with Python script that counts lines, selects random line and starts a program.

    One difference is that SetActivePoint macro sets pointer to the bottom edge of a screen. And /l sets it to the middle.

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.