Автоматический перенос строки



  • Уважаемые друзья! Возможно ли реализовать автоматический перенос на начало строки после вставки& Например, вставил какой-либо текст или ссылку и курсор автоматом встаёт в начало следующей строки, без нажатия Enter

    Благодарю, с уважением



  • @Vio-Ru

    Dear friends! Is it possible to implement automatic wrapping to the beginning of a line after insertion & For example, I inserted some text or a link and the cursor automatically goes to the beginning of the next line, without pressing Enter
    Thank you respectfully

    Exactly as you describe? Probably not. “Inserted some text” is a nebulous concept, and could be done via typing or pasting or other means. How would Notepad++ be expected to know when your “insert” is done, so that it can automatically put in a line break.

    It would be possible to define a macro that would paste the contents of the clipboard, then automatically type the newline sequence (CRLF) for you.

    1. Close all active Notepad++ and open one instance
    2. Open the file %AppData%\Notepad++\shortcuts.xml
    3. in the <Macros> section, add the following lines:
            <Macro name="PasteEnter" Ctrl="no" Alt="no" Shift="no" Key="0">
                <Action type="0" message="2179" wParam="0" lParam="0" sParam="" /><!-- paste -->
                <Action type="1" message="2170" wParam="0" lParam="0" sParam="&#x000D;&#x000A;" /><!-- type CRLF -->
            </Macro>
    
    1. save, exit Notepad++, and reload
    2. Now Macro > PasteEnter will paste the current clipboard and type a newline for you.
    3. If you want to assign that to a keyboard shortcut, you can use Macro > Modify Shortcut/Delete Macro…, select the PasteEnter row, and change the shortcut for it. From then on, using that keyboard shortcut instead of the normal paste (Ctrl+V) will do what you want.

    If you don’t just want it on Paste, but anytime you are typing text, using Settings > Preferences > Editing and setting the Vertical Edge Settings will allow you turn it on so Notepad++ will wrap after 80 characters (or whatever you set it to).

    Other than those, I’m not sure how else to accomplish what you want.

    I will use Google Translate to translate my reply from English to Russian, but I have no idea as to the quality of that translation. The standard language of this forum is English.

    ----
    Точно, как вы описываете? Возможно нет. «Вставленный текст» является туманным понятием, и его можно выполнить с помощью набора текста, вставки или других средств. Как Notepad ++ должен знать, когда ваша «вставка» завершена, чтобы он мог автоматически вставлять разрыв строки.

    Можно было бы определить макрос, который вставит содержимое буфера обмена, а затем автоматически наберет последовательность новой строки (CRLF).

    1. Закройте все активные Notepad ++ и откройте один экземпляр
    2. Откройте файл % AppData% \ Notepad ++ \ shortcuts.xml
    3. в разделе «<Macros>» добавьте строки из раздела «английский»:
    4. сохранить, выйти из Notepad ++ и перезагрузить
    5. Теперь ** Macro> PasteEnter ** вставит текущий буфер обмена и наберет новую строку для вас.
    6. Если вы хотите назначить это сочетанию клавиш, вы можете использовать ** Macro> Изменить ярлык / Удалить макрос … **, выбрать строку PasteEnter и изменить для нее ярлык. С тех пор использование этого сочетания клавиш вместо обычной вставки (Ctrl + V) будет делать то, что вы хотите.

    Если вы хотите не просто вставить его, а в любое время набирать текст, [используя ** Настройки> Настройки> Редактирование **] (https://npp-user-manual.org/docs/preferences/#editing) а установка ** Vertical Edge Settings ** позволит вам включить его, чтобы Notepad ++ переносился после 80 символов (или любого другого значения).

    Кроме тех, я не уверен, как еще выполнить то, что вы хотите.

    Я буду использовать Переводчик Google, чтобы перевести мой ответ с английского на русский, но я не имею представления о качестве этого перевода. Стандартный язык этого форума - английский.



  • Спасибо за ответ! Нужно именно после вставки из буфера обмена, то есть - вставил из буфера и Notepad перенёс курсор на новую строку. Длина текста в буфере обмена может быть любой



  • @Vio-Ru said,

    Thanks for the answer! It is necessary after pasting from the clipboard, that is, pasted from the clipboard and Notepad moved the cursor to a new line. The length of the text on the clipboard can be any

    If you want the newline after pasting from the clipboard, then the macro I showed should work for you.

    @PeterJones said,

    [original phrasing by @Vio-Ru]: вставил какой-либо текст
    [English version]: “Inserted some text”
    [Translated to Russian]: «Вставленный текст»
    [Translated back to English]: “Pasted text”

    Looking at the translation of my translation, apparently “pasted text” and “inserted some text” are closer in Russian than they are in English.
    0b1df9a9-0987-479a-a729-0778d6994dfb-image.png
    53bdd079-570d-4268-b534-c95d21feee90-image.png

    I was misinterpreting the auto-English translation of “вставил какой-либо текст”, which was shown to me as “inserted some text”, as “inserted [by typing] some text”, rather than the “inserted [by pasting from the clipboard] some text” that was apparently meant. Sorry for the lingual confusion.



  • Thank you for answer! But your macros is not working ))
    Here are the screenshots, what I need

    alt text

    alt text



  • 12-03-2020 02-47-47.png

    12-03-2020 02-53-21.png



  • @Vio-Ru said in Автоматический перенос строки:

    But your macros is not working ))

    Apparently there was confusion (probably a language thing, still), because with the screenshots you showed, you are not using the macro. The macro doesn’t change the normal paste behavior – whether you use Edit > Paste, RightClick > Paste, or Ctrl+V. The macro is a separate command – in the Macro menu – which does both a paste and an enter.

    I will use pictures, in case my words don’t translate well for you.

    You have to use the macro to get the paste-then-enter behavior.

    If you want a keyboard shortcut, like maybe Ctrl+Shift+V, to be used for this paste+enter, you can use Macros > Modify Shortcut / Delete Macro
    429f3b28-9155-4edd-8e44-80024cba92f0-image.png
    Then (1) select PasteEnter, (2) Modify, (3) select keys – I checked Ctrl and Shift, and selected the V, for Ctrl+Shift+V as the keyboard shortcut, (4) OK, (5) CLOSE.
    6603cce7-9def-4709-9686-85eff302d176-image.png
    After this, Ctrl+Shift+V (or whatever key sequence you choose) will run Macro > PasteEnter.

    But without running the PasteEnter macro, you cannot expect the new behavior.

    I hope this makes it clear.



  • Yes, it works like that. But I need it without additional taps, such as Macros or hot keys. I need to configure it once and then so that at each insert from the buffer the cursor jumps to the next line without using additional clicks.
    As I understand it, this behavior is impossible to implement.
    In any case, thank you for your time.



  • @Vio-Ru ,

    But I need it without additional taps, such as Macros or hot keys. I need to configure it once and then so that at each insert from the buffer the cursor jumps to the next line without using additional clicks.

    There are no additional clicks. There are different clicks. Instead of using Ctrl+V for paste, use whatever shortcut you assign to that macro. It’s really simple, and the same number of keystrokes.

    In fact, if you always want paste to be paste+enter, you can use shortcut mapper to remove Ctrl+V from normal Paste, and instead assign Ctrl+V to the PasetEnter macro
    6a1ea07c-1004-4d38-ba7a-360d351c7f0b-image.png

    Also, if you usually use RightClick > Paste to access the paste function from the context menu, you can also edit the context menu config to give you the option of RightClick > PasteEnter instead, an put it right next to the paste:

    1. Use Settings > Edit Popup ContextMenu
    2. Add <Item MenuEntryName="Macro" MenuItemName="PasteEnter"/> immediately after the <Item MenuEntryName="Edit" MenuItemName="Paste"/> line
    3. save, exit, and reload Notepad++
    4. Now your RightClick menu will show PasteEnter right after Paste. You can use RClick > PasteEnter anytime you would have used RClick > Paste, with exactly the same amount of effort from now on.

    So, to sum up:

    1. if you assign a keyboard shortcut to PasteEnter macro, you can use that anytime you would have used Ctrl+V, with exactly the same number of clicks as a normal Ctrl+V.
    2. if you assign the Ctrl+V keyboard shortcut to PasteEnter macro, you can use that every time you paste with Ctrl+V, because it will be using that macro instead of the normal just-paste functionality
    3. if you add the PasteEnter macro to the right click context menu, you can use that entry in the right click context menu exactly as easily as you can use the normal paste from the right click menu.

    There are many ways to make the Paste+Enter functionality identically-easy to use as the builtin paste functionality. I have shown three right here – including one that replaces Ctrl+V functionality with the new Paste+Enter with the same keystroke. There is no difference in difficulty of long-term use between using PasteEnter macro and using normal Paste – it can be done in the same number of keystrokes (1) or in the same right-click context menu; it’s exactly the same difficulty to use.



  • Thanks a lot, Peter! Everything turned out as I wanted :)


Log in to reply