• INFOS on the "ViSimulator" N++ plugin

    Locked
    2
    0 Votes
    2 Posts
    8k Views
    guy038G

    Hi, All,

    Here are, below, the syntax of all the commands of the ViSimulator plugin :

    VI Commands : ¯¯¯¯¯¯¯¯¯¯¯ The commands, CURRENTLY supported, in ViSimulator v0.4.0.1093, are : ¯¯¯¯¯¯¯¯¯¯¯ CURSOR MOTIONS : ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 0 / Home : Move the cursor to column 1 of CURRENT line ^ / Home : Move the cursor to the FIRST NON-blank character of CURRENT line $ / End : Move the cursor to the END of CURRENT line | : Move the cursor to the [COUNTth] COLUMN ( or FIRST ) of CURRENT line ( NOT with French Keyboard ) - : Move the cursor to the FIRST NON-blank character of the PREVIOUS [count] line + / Enter : Move the cursor to the FIRST NON-blank character of the NEXT [count] line h : Move the cursor to the LEFT [count] column, in CURRENT line l or Space : Move the cursor to the RIGHT [count] column, in CURRENT line k : Move the cursor to the UP [count] line j : Move the cursor to the DOWN [count] 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, ignoring PUNCTUATION B : Move the cursor to the BEGINNING of previous [count] word, ignoring PUNCTUATION E : Move the cursor to the END of next [count] word, ignoring PUNCTUATION gE : Move the cursor to the END of previous [count] word, ignoring PUNCTUATION f* : Move the cursor to NEXT [count] OCCURRENCE of the character *, in CURRENT line F* : Move the cursor to PREVIOUS [count] OCCURRENCE of the character *, in CURRENT line 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 the OPPOSITE direction H : Move the cursor to the FIRST NON-blank character of the [count] line from the TOP of the screen M : Move the cursor to the FIRST NON-blank character of the line at the MIDDLE of the screen L : Move the cursor to the FIRST NON-blank character of the [count] line from the BOTTOM of the screen gg : Move the cursor to the FIRST NON-blank character of the [count] line ( or FIRST ) of the file G : Move the cursor to the FIRST NON-blank character of the [count] line ( or LAST ) of the file Ctrl-D : Scroll file DOWNWARD, [count] HALF page(s), with CURRENT line at the SAME RELATIVE location Ctrl-U : Scroll file UPWARD, [count] HALF page(s), with CURRENT line at the SAME RELATIVE location Ctrl-F : Scroll file DOWNWARD, [count] page(s), with CURRENT line at the SAME RELATIVE location Page Down : Scroll file DOWNWARD, ONE page with CURRENT line at the SAME RELATIVE location Ctrl-B : Scroll file UPWARD, [count] page(s), with CURRENT line at the SAME RELATIVE location Page Up : Scroll file UPWARD, ONE page with CURRENT line at the SAME RELATIVE location Ctrl-E : Scroll file UPWARD, [count] line(s) with CURRENT line INCHANGED Ctrl-Y : Scroll file DOWNWARD, [count] line(s), with CURRENT line UNCHANGED z<Enter> : Scroll CURRENT line at the TOP of the screen and move the cursor to the FIRST NON-blank char. z. : Scroll CURRENT line at the MIDDLE of the screen and move the cursor to the FIRST NON-blank char. z- : Scroll CURRENT line at the BOTTOM of the screen and move the cursor to the FIRST NON-blank char. zt : Scroll CURRENT line at the TOP of the screen zz : Scroll CURRENT line at the MIDDLE of the screen zb : Scroll CURRENT line at the BOTTOM of the screen % : Move to the MATCHING boundary of a BLOCK {[(<...>)]} % : Move the cursor to the count PERCENTAGE of the file * : Select the NEXT occurrence, of the word UNDER the cursor # : Select the PREVIOUS occurrence, of the word UNDER the cursor ( NOT with French Keyboard ) ?Text : Move the cursor, right AFTER the FIRST occurrence of Text, found UPWARD ( REGEX syntax possible ) /Text : Move the cursor, right AFTER the FIRST occurrence of Text, found DOWNWARD ( REGEX syntax possible ) n : Select next SELECTED text, UPWARD, after an INITIAL search ?Text n : Select next SELECTED text, DOWNWARD, after an INITIAL search /Text N : Select next SELECTED text, in the OPPOSITE direction REGEX Syntax : ¯¯¯¯¯¯¯¯¯¯¯¯ Globally, identical to BOOST Regex syntax, in Notepad++. Unfortunately, when matches are CONSECUTIVE, a SINGLE character is ALWAYS skipped, while searching for the NEXT occurrence :-(( Text OBJECTS : ¯¯¯¯¯¯¯¯¯¯¯¯ i( / i) : Select the (..) block, at cursor location, with possible NESTED / JUXTAPOSED (..) blocks, NOT including its BOUNDARIES i[ / i] : Select the [..] block, at cursor location, with possible NESTED / JUXTAPOSED [..] blocks, NOT including its BOUNDARIES i{ / i} : Select the {..} block, at cursor location, with possible NESTED / JUXTAPOSED {..} blocks, NOT including its BOUNDARIES i< / i> : Select the <..> block, at cursor location, with possible NESTED / JUXTAPOSED <..> blocks, NOT including its BOUNDARIES i" : Select the ".." block, at cursor location, WITHOUT INNER ".." blocks inside, NOT including its BOUNDARIES i' : Select the '..' block, at cursor location, WITHOUT INNER '..' blocks inside, NOT including its BOUNDARIES a( / a) : Select the (..) block, at cursor location, with possible NESTED / JUXTAPOSED (..) blocks, including its BOUNDARIES a[ / a] : Select the [..] block, at cursor location, with possible NESTED / JUXTAPOSED [..] blocks, including its BOUNDARIES a{ / a} : Select the {..} block, at cursor location, with possible NESTED / JUXTAPOSED {..} blocks, including its BOUNDARIES a< / a> : Select the <..> block, at cursor location, with possible NESTED / JUXTAPOSED <..> blocks, including its BOUNDARIES a" : Select the ".." block, at cursor location, WITHOUT INNER ".." blocks inside, including its BOUNDARIES a' : Select the '..' block, at cursor location, WITHOUT INNER '..' blocks inside, including its BOUNDARIES dObject : Delete the SELECTION cObject : Delete the SELECTION and enter INPUT mode yObject : Copy the SELECTION in the CLIPBOARD guObject : Change the SELECTION to LOWERCASE (Forms 'i' and 'a' give SAME results !) gUObject : Change the SELECTION to UPPERCASE (Forms 'i' and 'a' give SAME results !) REGULAR commands : ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Esc : Enter NORMAL mode and delete any SELECTION i : Enter INPUT mode to insert text BEFORE the cursor Inser : Toggle to NORMAL mode OR to INPUT mode to insert text BEFORE the cursor a : Enter INPUT mode to append text AFTER the cursor gi : Enter INPUT mode at the LOCATION which was, LAST time, exited gI : Enter INPUT mode at column ONE, of the CURRENT line I : Enter INPUT mode BEFORE the FIRST NON-blank character, of the CURRENT line A : Enter INPUT mode AFTER the END, of the CURRENT line R : Enter INPUT mode with OVER-TYPE behavior, at CURRENT position of the CURRENT line Tab : Insert a TABULATION character, when INPUT mode Backspace : Delete the PREVIOUS character, when INPUT mode Delete : Delete the CURRENT character, when INPUT mode Delete : Delete the PREVIOUS character, when NORMAL mode Enter : Cut from UNDER the cursor to END of line and paste, at PREVIOUS indentation, on a NEW line, DOWN, when INPUT mode Ctrl-M : Cut from UNDER the cursor to END of line and paste, at column 1, on a NEW line, DOWN, in BOTH modes o : Insert an NEW line BELOW the cursor and enter INPUT mode at INDENT column of that NEW line Ctrl-Alt-Shift : Insert an NEW line BELOW the cursor at column 1 of that NEW line and keep the CURRENT VI mode (N++ Command) + Enter O : Insert an NEW line ABOVE the cursor and enter INPUT mode at column 1 of that NEW line Ctrl-Alt-Shift : Insert an NEW line ABOVE the cursor at column 1 of that NEW line and keep the CURRENT VI mode (N++ Command) + Enter s : Delete [count] character(s) from UNDER the cursor and enter INPUT mode S / cc : Delete [count] line(s) DOWN, from CURRENT line, insert a BLANK line and enter INPUT mode, in CURRENT line cw : Delete [count] NEXT word(s), from CURRENT word, and enter INPUT mode, in CURRENT line cb : Delete [count] PREVIOUS word(s), from CURRENT word, and enter INPUT mode, in CURRENT line C : Remove ALL characters from UNDER the cursor to the END of [count] line(s) and enter INPUT mode D / d$ : Remove ALL characters from UNDER the cursor to the END of [count] line(s) dd : Delete [count] line(s) DOWN, from CURRENT line dw : Delete [count] NEXT word(s), from CURRENT word db : Delete [count] PREVIOUS word(s), from CURRENT word x : Delete [count] character(s) from UNDER the cursor, and copy them to the CLIPBOARD X : Delete [count] character(s) BEFORE the cursor, and copy them to the CLIPBOARD r* : Replace [count] character(s), from UNDER the cursor, with the character * J : Join the CURRENT line with the [count] NEXT line(s), with ONE SPACE character as separator Ctrl-J : Join SELECTED lines, with ONE SPACE character as separator (N++ Command) u : Undo, [count] time(s) the LAST action Ctrl-Z : Undo, ONE time, the LAST action (N++ Command) Ctrl-R : Redo, [count] time(s) the LAST undone action Ctrl-Shift-Z : Redo, ONE time, the LAST undone action (N++ Command) Y / yy : Copy [count] line(s) to the CLIPBOARD p : Paste, [count] time(s), the contents of the CLIPBOARD, AFTER the cursor P : Paste, [count] time(s), the contents of the CLIPBOARD, BEFORE the cursor Ctrl-V : Paste ONE time, the contents of the CLIPBOARD, BEFORE the cursor (N++ Command) v : Toggle to VISUAL mode, with selection of [count] character(s), to the RIGHT, OR to NORMAL mode V : Toggle to VISUAL mode, with selection of [count] line(s), DOWNWARD OR to NORMAL mode ZZ : SAVE and CLOSE current file, WITHOUT any message (same as EX command :wq) . : Repeat, [count] time(s), the LAST text CHANGE command > : Indent ALL the SELECTED line(s) < : UN-indent ALL the SELECTED line(s) >> : Indent [count] line(s) DOWN << : UN-indent [count] line(s) DOWN >{CC} : Indent ALL the line(s) from CURRENT line to CURSOR command line <{CC} : UN-indent ALL the line(s) from CURRENT line to CURSOR command line d{CC} : Delete ALL text from CURRENT position to CURSOR command and copy contents to the CLIPBOARD c{CC} : Delete ALL text from CURRENT position to CURSOR command, copy contents to the CLIPBOARD, and enter INPUT mode y{CC} : Copy ALL text from CURRENT position to CURSOR command and copy contents to the CLIPBOARD where {CC} means any "Cursor Movement Command" ~ : Toggle CASE of CURRENT character to UPPER or LOWER ( NOT with French keyboard ) guu : Change ALL characters of CURRENT line in LOWER case gUU : Change ALL characters of CURRENT line in UPPER case gu{CC} : Change ALL characters, from CURRENT position to CURSOR command, to LOWER case. gU{CC} : Change ALL characters, from CURRENT position to CURSOR command, to UPPER case. EX Commands : ¯¯¯¯¯¯¯¯¯¯¯ : : Enter EX mode :w : SAVE current file Ctrl-S : SAVE current file :q : CLOSE current file, with message if CURRENT file is MODIFIED :bd : CLOSE current file, with message if CURRENT file is MODIFIED Ctrl-W : CLOSE current file, with message if CURRENT file is MODIFIED :wq : SAVE and CLOSE current file, WITHOUT any message (same as VI command ZZ) NOTES : ¯¯¯¯¯ - The LOWER commands g, m, q et z do NOT exist, in ViSimulator - The UPPER commands K, Q, U et Z do NOT exist, in ViSimulator - All CTRL Commands, EXCEPT Ctrl-B, Ctrl-F, Ctrl-U, Ctrl-D, Ctrl-Y, Ctrl-E and Ctrl-R, do NOT exist, in ViSimulator ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ So, the UNDERLINED N++ ACTIVE shortcuts, in Notepad++, are NOT available, when ViSimulator is ENABLED, in NORMAL mode, from within N++ PARTICULARITIES, with a FRENCH keyboard : ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ - Use the £ key ( instead of : ) to switch to EX mode - Use the : key ( instead of / ) to search FORWARD for [ regex ] string ( Use UP and DOWN arrows to navigate between search HISTORY ) - Use the / key ( instead of ? ) to search BACKWARD for [ regex ] string ( Use UP and DOWN arrows to navigate between search HISTORY ) - The 8 "Text Object" commands i[ , i] , i{ , i} and a[ , a] , a{ , a} do NOT work, because of the MANDATORY use of the ALT key to write the [ , ] , { or } symbols Copyright © 2014 Simon HE. All rights reserved.

    Cheers,

    guy038

  • Notepad++ 7.5.6 (x64) - About Turkish Language Issue

    Locked
    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Compiling NPP - what version of Qt source code do I need?

    Locked
    2
    0 Votes
    2 Posts
    1k Views
    dailD

    Scintilla supports multiple platforms…one of them being Qt. However Notepad++ uses the native Win32 platform. So you don’t need Qt at all.

  • 自定义语言的语法高亮问题

    Locked
    2
    0 Votes
    2 Posts
    5k Views
    古旮

    哈哈哈,居然用中文。
    你最好是用英文提问,这样这个论坛里的人才可以帮助你。而且你发错区了,最好发到 Help wanted 区去。
    语法高亮我没用过,不太了解,不过你可以了解一下这个插件 Scintillua++。貌似这个插件比较适合自定义语法高亮。

  • Can't donate from Russia

    Locked
    2
    1 Votes
    2 Posts
    1k Views
    ChillerThonC

    I took the description and I also made a donation, it worked! But I’m not in Russia.
    As I have already registered on paypal for some time, I performed the operation without any problem.
    When I opened my Paypal account, I do not remember if I had to choose the country, probably yes.

  • First login using twitter

    Locked
    1
    0 Votes
    1 Posts
    650 Views
    No one has replied
  • Game Maker 2 scripting language?

    Locked
    1
    0 Votes
    1 Posts
    897 Views
    No one has replied
  • Feature Loss? Find Direction alt-key removed? why?!

    Locked
    2
    1 Votes
    2 Posts
    1k Views
    Scott SumnerS

    @Kevin-Hexemer

    You can do it yourself. Here’s how:

    Edit the english_customizable.xml file Find the text Backward direction in that file Change that text to be Backward &direction (suggestion if you like Alt-d as a shortcut) Save the file In the Preferences, General section, set Localization to “English (customizable)
  • What's going on with Spell-Checker 1.3.3 and DSpellCheck ???

    3
  • Bug: Cursor position gets lost when integration tab into window

    Locked
    1
    0 Votes
    1 Posts
    632 Views
    No one has replied
  • Feature Request: Advanced Mark

    Locked
    1
    0 Votes
    1 Posts
    875 Views
    No one has replied
  • Add color icons to Style token submenus

    Locked
    3
    2 Votes
    3 Posts
    3k Views
    Scott SumnerS

    Of course, what I have done with customizing the menus works for me because I know that I haven’t changed the default colors of the various “styles”. If you’ve changed the colors, and want to put text descriptions in the menus, obviously you’d want to use text that describes your own color choices.

    This makes the OP’s original suggestion clearly superior to my suggestion: Notepad++ could be changed to dynamically read the colors you’ve set up and then use samples of them in the menus. I like it.

  • Line wrapping search strange behavior

    Locked
    2
    1 Votes
    2 Posts
    921 Views
    Scott SumnerS

    @Cosk-Lender

    It is a known behavior that having wrapping enabled slows down certain operations on large files, sometimes drastically. Just something to get used to, or find another editor… :(

  • 1 Votes
    3 Posts
    1k Views
    Alexandre MachadoA

    @Scott-Sumner

    Excellent! It worked perfectly.

    Thank you very much!

  • Plugin "Location Navigate"

    Locked
    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Optionally Ignore Tab Setting

    Locked
    1
    0 Votes
    1 Posts
    757 Views
    No one has replied
  • Program crashes

    1
    0 Votes
    1 Posts
    781 Views
    No one has replied
  • 0 Votes
    2 Posts
    1k Views
  • Save Session improvements

    3
    0 Votes
    3 Posts
    3k Views
    Jim DaileyJ

    @jeronymite2 You can also try the Session Manager plug-in. http://mfoster.com/npp

  • Save "Find what" and "Replace with" in Notepad++

    10
    1 Votes
    10 Posts
    10k Views
    gromexeG

    Why not just save a user-defined dictionary of all your codes in any format you think is best.

    I use one where I save all my codes each accompanied with headers so i can find what I need easily, like:

    1 ⁣ ⁣ ⁣#Tags: beta,query,inventory,report,qoh,stock
    2 ⁣ ⁣ ⁣#Language: MySQL
    3 ⁣ ⁣ #Date: 3/26/18
    4 ⁣ ⁣ ⁣⁣#Code:
    5 ⁣ ⁣ ⁣[
    6 ⁣ ⁣ ⁣SELECT * FROM table
    7 ⁣ ⁣ ⁣]

    And if I was to add a search and replace code to this personal library…

    ⁣ ⁣ ⁣8⁣ ⁣ ⁣ ⁣#Tags: search,find,replace,query
    ⁣ ⁣ ⁣9 ⁣ ⁣ ⁣#Language: Regular Expression
    10 ⁣ ⁣ #Date: 3/26/18
    11 ⁣ ⁣ #Code:
    12 ⁣ ⁣ [
    13 ⁣ ⁣ Search= [-·•…:_,~..\s]{3,}
    14 ⁣ ⁣ Replace= null
    15 ⁣ ⁣ ]

    You can be more detailed than that, but once you find out what works best for you, adding changes to your “Dictionary” or “Library” of codes can get really simple. You can define any keywords you want for the headers and whichever open/close characters separating the code blocks from each other. In my chicken scratch example,I can customize the language to either separate each block by the first bracket to the last bracket or the first hashtag to the last bracket. I’m not too sure about the code folding since I don’t really use that, but I would imagine that is possible.

    I also noticed that if you use a tag system like in my example, it would be very difficult to find what you need if you have thousands of code blocks with similar tags. And you can do a regexp find lines that contains all words, but that would just void the purpose of you having to type regular expressions every time. So like I said, you can be more detailed than my example, you can use a naming convention like “regex-find-name” where name is a word or phrase you’d give that function. You could also build your dictionary in a different format that makes searching for multiples words on the same line much easier. A bad recommendation would be excel, but that’s the simplest method I can think of. Write the dictionary in a csv format and run a saved formula to check if all words exist on the same row. But if you have the time, build yourself a small desktop tool with all these functions to build and search your dictionary. Create forms to add to it, search and modify or remove definitions. There’s gotta be a program for this already no!? A personal and highly customizable dictionary?