New plugin release -- ViSimulator for Notepad++ 0.1.0.1a

2013-11-22
2013-12-16
  • visimulator

    visimulator - 2013-11-22

    visimulator for notepad++ 0.2.0.1

    Description:
    ViSimulator for notepad++ is a plug-in for notepad++, which make it possible to edit as vi/vim in notepad++. ViSimulator simulate/emulate most frequently-used vi/vim commands to provide more powerful editing capability for notepad++.

    Commands currently supported:

    Motions

    0: move the cursor to colum 1 (hard beg-of-line)
    $: move the cursor to end-of-line
    ^: move the cursor to the first non-blank character (soft 
        beg-of-line)
    -: move the cursor to the first non-blank character (soft 
        beg-of-line) of the previous [count] line 
    +, <RETURN>: move the cursor the first non-blank character 
        (soft beg-of-line) of the next [count] line
    hjkl: move the cursor left, down, up and right [count] 
        colum/line
    w: move the cursor to the beginning of next [count] word
    b: move the cursor to the beginning of previous [count] word
    e: move the cursor to the end of next [count] word
    ge: move the cursor to the end of previous [count] word
    W: move the cursor to the beginning of next [count] WORD
    B: move the cursor to the beginning of previous [count] WORD
    E: move the cursor to the end of next [count] WORD
    gE: move the cursor to the end of previous [count] WORD
    f* ('*' can be any character): move the cursor to next 
        [count] appearance of the character in current line
         (e.g. fa fb fc ...)
    F*: move the cursor to previous [count] occurrence of the 
        character in current line (e.g. Fa Fb Fc ...)
    t*: move the cursor to just before the next [count] 
        occurrence of the character in current line
    T*: move the cursor to just after the previous [count] 
        occurrence of the character in current line
    ;: repeat last f*/F*/t*/T* search
    ,: repeat last f*/F*/t*/T* search in opposite direction
    H: move the cursor to the first non-blank character
        (soft beg-of-line) of the line at the top of the screen
    M: move the cursor to the first non-blank character
        (soft beg-of-line) of the line at the middle of the screen
    L: move the cursor to the first non-blank character 
        (soft beg-of-line) of the line at the bottom of the screen
    gg: move the cursor to the first non-blank character of the 
        line(default the first) of the file
    G: move the cursor to the last line of the file (if a count is 
        given(e.g. 10G), move to that line)
    %: move to the matching parenthesis (or similar). If a count is 
        given(e.g. 50%), move the cursor to the line percentage 
        of the file
    *: (literal asterisk) search forward for the [count] occurrence 
        of the word under the cursor
    #: (literal hash) search backward for the [count] occurrence 
        of the word under the cursor
    Ctrl-d: Scroll file downward for half page (window)
    Ctrl-u: Scroll file upward for half page (window)
    Ctrl-f: Scroll file downward for one page (window)
    Ctrl-b: Scroll file upward for one page (window)
    z<return>, z. or z-: scroll the view so that current line is at 
        the top/middle/bottom of the screen, and move the cursor 
        to the first non-blank character
    zt, zz and zb: scroll the view so that current line is at the 
        top/middle/bottom of the screen
    

    Regular commands

    i: enter input mode to insert text before the cursor
    a: enter input mode to append text after the cursor
    gi: enter input mode where insert mode was exited last time
    I: enter input mode before the first non-blank in the line 
        (soft beginning-of-line)
    gI: enter input mode at the column one (hard beginning-of-line)
    A: enter input mode to append text after end of line
    R: enter input mode in overtype mode
    o: insert an new line below the cursor and enter input mode at 
        column 1 of the new line
    O: insert an new line above the cursor and enter input mode at 
        column 1 of the new line
    s: delete [count] character start from that under the cursor and 
        enter input mode there
    S: delete [count] line down from the current line (include current 
        line), and reserve one blank line, then enter input mode at
        column 1 of this blank line.
    C: remove all characters from the cursor to end-of-line and enter 
        input mode there
    x: delete [count] character start from the one under
        the cursor, and copy them to the clipboard
    X: delete [count] character before the cursor, and
        copy them to the clipboard
    ~: toggle case to upper or lower of current character
    r*: (where '*' is any character), replace [count] 
        character that starts from the one under the cursor with 
        the given character
    J: join the current line with the next one, leaving 
        exactly one space charactr between them
    u: undo last action
    Ctrl-r: redo last undone action
    D: remove all characters start from that under the 
        cursor to end-of-line
    Y: copy current line
    p: paste text in the clipboard after the cursor
    P: paste text in the clipboard at the cursor
    v: enter visual mode
    V: enter visual mode linewise
    Ctrl-e: scroll the view one line upward (keep 
        cursor on screen)
    Ctrl-y: scroll the view one line downward (keep 
        cursor on screen)
    ZZ: save current file and close it (same as :wq)
    .: repeat last command
    d{w|b|B|e|0|$||}{[t|T|f|F]*}: (where, '*' is any character)
        delete the specified region, and copy them to the 
        clipboard
    c{w|b|B|e|0|$||}{[t|T|f|F]*}: (where, '*' is any character)
        delete the specified region, and copy them to the 
        clipboard, then enter input mode
    y{w|b|B|e|0|$||}{[t|T|f|F]*}: (where, '*' is any character)
        copy the specified region to the clipboard
    >{gg|G}: Indent all the lines from start/end/count line of 
        the file to current line. 
    <{gg|G}: Unindent all the lines from start/end/count line of 
        the file to current line.
    >>: indent all the lines in the specified region
    <<: unindent all the lines in the specified region
    

    Ex Commands

    :w : save current file
    :q : close current file
    :wq : save and close current file
    :bd : close current file
    

    Download

    http://www.visimulator.com/public/p/visimulator.dll

    Installation

    Download visimulator.dll and copy it to  plugins directory of
    notepad++, then restart notepad++, you will find ViSimulator 
    below plugins menu.
    

    IMPORTANT

    It can only work under Notepad++ UNICODE edition, and tested 
    under Notepad++ 6.4.2 Unicode and 6.5.1 Unicode. but it 
    should work under most Notepad++ Unicode version (which is 
    not promised, cause of not being tested).
    

    Questions and Answers

    1.How to Enable/Disable ViSimulator?
    Click at menu "Plugins"->"ViSimulator"->"Enable ViSimulator" 
    to enable or disable ViSimulator.
    
    2.How to input character?
    By default, when ViSimulator is enabled, it's in NORMAL mode, 
    which can be telled from the word "--NORMAL--" on the head of the
    status bar of Notepad++. and, by entering 'ESC' anytime, 
    ViSimulator will turn into NORMAL mode. In NORMAL mode, all 
    commands listed above are in ready to work. 
    By enter 'i' or 'a', it will turn into INSERT mode, which can be
    telled from the word "--INSERT--" on the head of the status bar 
    of Notepad++. In INSERT mode, you can do any usual editing
    operation.
    
     
    Last edit: visimulator 2013-11-29
  • visimulator

    visimulator - 2013-11-29

    The ViSimulator 0.2.0.1 has been released. in this version, some bugs were fixed, and some new functions were added.

    fixed: some bugs related to 'l' '|' '{d|c|y|>|<}{l|gg|G|$||}'
    
    added: '{>|<}{gg|G}' to indent/unindent
    added: "online help" menu item.
    added: in NORMAL mode, you can use BACKSPACE to modify commands.
    added: ":q" ex command to close current file.
    
     
  • visimulator

    visimulator - 2013-12-09

    visimulator for notepad++ 0.3.0.659 released

    What's New?

    FIXED : use alt+w and other combined keys to active corresponding menu
    item. use alt to active menu, and then enter a character to
    active corresponding menu item.
    FIXED: 'O' insert new line before current line when the cursor is at
    the very firt line of the file.
    FIXED: if the count preceding command char is too large, it may lead
    to Notepad++ not responding for a while.
    ADDED: supports commands 'y[H|L|M]' 'd[H|L|M|' 'c[H|L|M]'
    '>[H|L|M]' '<[H|L|M]'
    ADDED: supports commands 'dj' 'dk' 'cj' 'ck' 'yj' 'yk'
    ADDED: supports commands 'gU' 'gu' 'gUU' 'guu' 'gu3j' 'gU3k' 'gugg'
    'gUgU' 'gugu' 'gUG' 'gU[fFtT]*' etc.
    CHANGED: 'H' 'L' will not scroll one page up or one page down when
    the cursor stay at the top line or the bottom line in
    current view.
    CHANGED: '123G' '123gg' (where, 123 may be any digital)will move cursor
    to line 123 and scroll line 123 to the middle of the view.
    CHANGED: '80%' will move the cursor to the 80 percent line of file and
    scroll current line to the middle of the view.
    CHANGED: disabled visual mode temporarily.

     
    Last edit: visimulator 2013-12-09
  • drobosoft

    drobosoft - 2013-12-11

    Thank you very much for this plugin. This is something I was missing...

    I have one question. Is there any shortcut for searching? "/" or "?" doesn't work for me and Ctr+F is mapped to page forward.

    thanks,

     
  • shogun1970

    shogun1970 - 2013-12-12

    This is great! Thank you. Anyone know what needs to be done to recognize this plugin via plugin manager?

     
  • dail8859

    dail8859 - 2013-12-12

    Getting a new plugin into the Plugin Manager is fairly easy. It is normally added to the list of plugins by the author but I guess technically anyone could add it (preferably with the author's permission). It involves going here and creating an account. It can then be added to the list.

    The only drawback is that the official list of plugins recognized by the Plugin Manager has to be manually updated by the Plugin Manager's author, which sometimes takes a while (e.g. a few months). But once that happens the plugin will show up in the Plugin Manager in Notepad++.

     
  • visimulator

    visimulator - 2013-12-16

    Thanks for all feedback and advice above, and I am glad to know it is of use. As for the '/' '?' search, they are still lying in the todo list. for now, we will just map '/' '?' to "Search->Find..." of N++ as a substitution.