Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Активные темы » Notepad++ (часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177

Открыть новую тему     Написать ответ в эту тему

DmitryFedorov

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущая часть темы: часть 1
 

 
Notepad++ — это бесплатный редактор текстовых файлов (замена стандартного Блокнота) с поддержкой синтаксиса большого количества языков программирования, ориентирован для работы в операционной системе MS Windows. Этот проект базируется на компоненте Scintilla (очень мощном компоненте для редактирования) написанном на C++ с использованием только Win32 API и STL (что гарантирует максимальную скорость выполнения при минимальном размере программы), распространяется под лицензией GPL.  
 

Переводы на русский
 
  • (полный перевод!) Npp_exe_7.9.5_Ru + Плагины_RU от Dm.Fedorov
  • Русификатор 7.8.9 без сКаКаНиЯ текста от wvxwxvw
  • Notepad++Portable 7.9.1 AkulaBig от 21.11.2020 г.  
  • Как в Notepad++ включить проверку орфографии
     

    ! Проблема с "макинтош"-распознаванием кириллицы в кодировке 1251 (и другим неверным авто-распознаванием, где часть символов отображается кракозябрами) решается снятием галки "Autodetect character encoding" в Preferences|Misc.
    - Если в NP++ до v7.32 ссылка не подчеркивается, нужно применить плагин ScrollPastEOF


    ! Все вопросы и обсуждения по поводу поиска/замены текста задавайте пожалуйста в теме Регулярные выражения
     
    Системные требования, совместимость с Win2K,WinXP
     
    Любое упоминание политических аспектов, не касающихся непосредственного функционирования ПО, в данной теме будет заканчиваться запретом на пост.


  • Всего записей: 1967 | Зарегистр. 19-03-2006 | Отправлено: 01:23 02-12-2015 | Исправлено: MAX63ru, 08:03 30-03-2024
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    UTF8 - символы могут быть разной длины, каждый символ заканчивается нулём. Это как формат jpg он сжат, чтобы меньше занимать места на диске. Когда UTF8 считается в память, то разжимается в UTF16, чтобы Windows было удобно с ним работать, то есть также как с jpg, когда он прочитан, то становится растровым как bmp, так как для вывода на экран нужно для каждого пикселя выдать точку и в памяти jpg занимает тоже место как и bmp. Аналогично когда Windows делает поиск и замену удобно шагать блоками равной длины, а не проверять длину каждого символа. Но именно у Scintilla данные в памяти хранятся в UTF8. А функции Windows работают со строкой UTF16. Поэтому UNICODE тут размытое понятие, в PureBasic под Unicode подразумевается UTF16. А есть ещё UTF32, если в тексте встретятся символы, которые выходят за ширину символа UTF16.
     
    provera
    Кстати, просмотрщик "Total Commander" даже в андроиде в поддерживает 1251, так что он крут. И кстати в CHM файле если использовать UTF8, то поиск не работает. Вывод: не всё так однозначно.

    Всего записей: 4413 | Зарегистр. 03-05-2006 | Отправлено: 13:01 30-05-2023 | Исправлено: AZJIO, 13:10 30-05-2023
    jterror

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek
    Цитата:
    Привет!
    Ситуация такая: беру файл UTF-8, оставляю пару строк, сохраняю, открываю снова, сабж говорит - ANSI. Делаю преобразовать в UTF-8, сохранить, закрытие, открытие - ANSI. Открываю этот файл Notepad - говорит - UTF8. Как работать с такими файлами, чтоб все было  однозначно?

    В вашем случае это одно и то же. UTF-8 имеет переменную длину символов и за счет этого обратно совместима с ANSI, поэтому если текст состоит из ASCII символов (английских и стандартной пунктуации) он получается неотличим, одни и те же однобайтовые символы, вот редактор и указывает любую из этих кодировок, ведь это одно и то же. Разница тут проявится только при наличии других, национальных символов за пределами ASCII, и желательно чтобы они были в начале текста, чтобы попасть в буфер автоопределения редактора, иначе он не сможет определить, нет данных.
     
    Чтобы было всё однозначно UTF-8 не годится. Эту его неоднозначность пытались побороть специальной бинарной меткой в начале файла (BOM), но она в свою очередь создает проблемы (бинарный мусор в тексте) и не все её добавляют, в результате нормального решения нет. Для однозначности лучше использовать UTF-16, там все символы одинаковые по два байта, получается просто и однозначно, редактор не ошибется в определении кодировки.

    Всего записей: 110 | Зарегистр. 11-06-2008 | Отправлено: 13:09 30-05-2023
    Samotek

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    jterror

    Цитата:
    Чтобы было всё однозначно UTF-8 не годится.

    Проблема не в том, какая кодировка нужна мне, проблема в том, что определенная программ требует файл определенной кодировки и мне надо понять в ++, что я сделал то, что надо этой программе.

    Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 13:29 30-05-2023
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Все редакторы понимают метку BOM. Её не понимают html-файлы, у них кодировка файла прописана в тегах, так как страница загружаемая и ей нет необходимости в начале файла добавлять метку. Она может быть вложенной подгружаемой. В общем для html своё правило. В остальных случаях определяется программой. Например в AutoIt3 раньше было, если внутри скрипта есть подключаемые скрипты и они содержат метку BOM, то когда этот файл включался внутрь основного, то там оказывались эти 3 бинарные байта, которые вызывали ошибку. А может это была проблема что основной код ANSI, а включаемый UTF8, сейчас уже не важно, но всё индивидуально. В данном случае это даже не текстовый файл для редактора, это исполняемый скрипт. Но все текстовые редакторы должны уметь открывать файлы с меткой BOM.
     
    Кстати, AkelPad запоминает кодировку для файла. То есть она при первом открытии определилась не как ожидалось, как выше было сказано, что англ текст без BOM может быть в любой кодировке иметь одинаковое содержание, то AkelPad запомнит если кодировка была принудительно назначена и будет открывать в ней, даже если содержание стало не поддерживаемым, то есть  файл из ANSI уже стал UTF, а AkelPad всё равно откроет его в ANSI и надо либо нажать "Определить кодировку заново" или включить принудительно любую.

    Всего записей: 4413 | Зарегистр. 03-05-2006 | Отправлено: 14:02 30-05-2023 | Исправлено: AZJIO, 14:07 30-05-2023
    jterror

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek
    Тогда не понимаю проблемы. Если кодировка известна заранее, надо её в настройках установить по умолчанию и всё. А преобразовывать текст из английских букв из ANSI в UTF-8 и обратно это бессмыслица, получается одно и то же, Notepad++ в таком случае при следующем открытии покажет кодировку установленную по умолчанию.

    Всего записей: 110 | Зарегистр. 11-06-2008 | Отправлено: 17:26 30-05-2023
    Samotek

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    jterror

    Цитата:
    Тогда не понимаю проблемы

    Пишу файл в кодировке UTF8, сохраняю. Открываю через некоторое время, ++ показывает ANSI. Я недоумеваю: как так, бесит.

    Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 18:45 30-05-2023
    RTX

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Попробуйте сохранять в UTF-8-BOM

    Всего записей: 3518 | Зарегистр. 13-11-2003 | Отправлено: 21:43 30-05-2023
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek
    Делай по совету RTX.
    А в чём боль то? Когда будет введён UTF символ Notepad++ сам тебе скажет что не может сохранить файл в текущей кодировке. А до этого файл не повредится.
    Хотел удостовериться, создал пустой файл и Notepad++ открывает его как UTF8 без BOM, проверил настройки, там стоит галка, что открывать ANSI файлы как UTF8 (Опции - Настройки - Новый документ - Кодировка).

    Всего записей: 4413 | Зарегистр. 03-05-2006 | Отправлено: 22:04 30-05-2023
    asku



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день.
    Такой вопрос.
    Открываю в N++ текстовый файл, работаю в нем, а когда закрываю, то программа не спрашивает сохранить ли изменения. То есть он у себя где-то сохраняет по умолчанию.
     
    А как можно сделать так, чтобы N++ не сохраняла у себя, а при закрытии программы спрашивала нужно ли сохранить в файле изменения, и сохраняла в моем файле?

    Всего записей: 535 | Зарегистр. 04-05-2016 | Отправлено: 16:26 11-06-2023
    gutasiho

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    asku
    Попробуйте снять эту птичку.

    Всего записей: 6422 | Зарегистр. 14-09-2020 | Отправлено: 16:44 11-06-2023
    MAX63ru



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Notepad++ v8.5.4 2023-06-18

    Цитата:
        Fix macro recording regression on Unicode character. (Fix #13757)
        Fix regression of defective detection for file read-only attribute removal via Explorer. (Fix #13742)
        Fix opening multi-files on multi-instance mode regression. (Fix #36, #13778)
        Update: Scintilla 5.3.5 Lexilla 5.2.5. (Implement #13729)
        Fix Notepad++ hanging issue running macro to EOF. (Fix #13342)
        Fix EOL symbol color/appearence being reset issue while changing encoding. (Fix #13728)
        Enable code folding in Assembly source files. (Fix #13758, #9888)
        Fix document language not remembered through sessions issue. (Fix #13743)
        Add SHA-1 hash features. (Fix #13791)
        Add “open new blank document in addition on startup” ability. (Fix #11134, #9535, #5527)
        Fix lexer plugin is sorted unconventionally in language menu issue (Fix #9516)
        Add message NPPM_DARKMODESUBCLASSANDTHEME to allow plugin to use generic dark mode. (Fix #13574)
        Add the ability to close multiple files without saving in Document list. (Fix #13768, #13178)
        Several GUI Enhancements. (Fix #13764, #10349, #8109, #13703, #13701, #13686, #13665, #13657, #13676, #13667, #13624, #13622)
        Fix error message on uninstallation. (Implement #13653)
        Fix tabContextMenu_example.xml not being deleted while uninstallation. (Fix #13670)

    Всего записей: 8267 | Зарегистр. 14-04-2012 | Отправлено: 16:39 18-06-2023
    Samotek

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет. В сабже строка удаляется горячей клавишей Ctrl+L, а я привык к Ctrl+Y. Как это переназначить?

    Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 11:45 23-06-2023
    gutasiho

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek
    Опции - Клавиши быстрого доступа - Найти Ctrl+L и изменить на Ctrl+Y. Или записать макрос и назначить ему Ctrl+Y.

    Всего записей: 6422 | Зарегистр. 14-09-2020 | Отправлено: 11:51 23-06-2023
    Samotek

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gutasiho
    Так в том то дело, что не нашел там сочетания ни Ctrl+L, ни описания типа "Удалить строку".

    Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 12:06 23-06-2023
    rrr777

    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Все также крякозябры?

    Всего записей: 2850 | Зарегистр. 22-12-2005 | Отправлено: 12:17 23-06-2023
    Death_INN

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek

    Цитата:
    Так в том то дело, что не нашел там сочетания ни Ctrl+L, ни описания типа "Удалить строку"

    ищи не в основных, а в Scintilla
    SCI_REDO:      Ctrl+Y или Ctrl+Shift+Z
    SCI_LINECUT: Ctrl+L

    Всего записей: 3062 | Зарегистр. 24-10-2002 | Отправлено: 15:12 23-06-2023 | Исправлено: Death_INN, 15:13 23-06-2023
    Samotek

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Death_INN

    Цитата:
    ищи не в основных, а в Scintilla
    SCI_REDO:      Ctrl+Y или Ctrl+Shift+Z
    SCI_LINECUT: Ctrl+L
     

    Вот клянусь там искал! По Ctrl+L не фильтрует. По SCI_LINECUT - сразу нашлось! Спасибо!

    Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 15:43 23-06-2023
    Celsus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как поменять кодировку по умолчанию? Чтобы при открытии текстового файла открывался с определенной кодировкой. Или может в windows, чтобы создавала файлы с кодировкой UTF-16 LE BOM

    Всего записей: 364 | Зарегистр. 02-04-2011 | Отправлено: 13:20 14-07-2023 | Исправлено: Celsus, 13:22 14-07-2023
    ARoma



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Celsus
    Опции --> Настройки --> Новый документ --> Кодировка

    Всего записей: 675 | Зарегистр. 13-06-2019 | Отправлено: 13:28 14-07-2023 | Исправлено: ARoma, 13:29 14-07-2023
    Celsus



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ARoma
    Спасибо. Правда, другая ситуация. У меня английская версия windows
    Я создаю документ в проводнике, для примера, открываю его блокнотом windows, пишу по русски, сохраняю, открываю в notepad++, а там вместо русских букв крякозябы, а кодировка Hebrew 8859-8.
     
    Если создать пустой документ в проводнике и открыть пустой документ в notepad++, то кодировка ANSI (если снята галка преобразовывать ANSI в UTF-8). Но при этом не поддерживается русский текст. Руский алфавит и алфавит со всякими ударениями над буквами (испанский или др, не знаю) поддерживается только в UTF-16 Little Endian with BOM.  
     
    Другой пример, создаю документ в проводнике, открываю в notepad++, там кодировка UTF-8, так windows создал в кодировке ANSI, а notepad++ открыл его в UTF-8, потому что по умолчанию там стоит эта галка преобразовывать ANSI в UTF-8.
    Я поменял настройку на UTF-16 Little Endian with BOM, создаю документ в проводнике, открываю в notepad++, там кодировка ANSI, так как в настройках нет галки "Преобразовывать ANSI в UTF-16 Little Endian with BOM, она нужна, нужно написать разработчику.  
     
    Я нашел твик реестра, чтобы через контекстное меню проводника документ создавался не блокнотом windows, а notepad++
     
    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT\Notepad++.txt]
    @="Текстовый документ"
    [HKEY_CLASSES_ROOT\Notepad++.txt\DefaultIcon]
    @="\"C:\\Users\\Admin\\Desktop\\notepad++.ico\""
    [HKEY_CLASSES_ROOT\Notepad++.txt\shell]
    [HKEY_CLASSES_ROOT\Notepad++.txt\shell\open]
    [HKEY_CLASSES_ROOT\Notepad++.txt\shell\open\command]
    @="\"C:\\Notepad++\\notepad++.exe\" \"%1\""
     
    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT\.txt]
    "Content Type"="text/plain"
    "PerceivedType"="text"
    @="Notepad++.txt"
    [HKEY_CLASSES_ROOT\.txt\PersistentHandler]
    @="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
    [HKEY_CLASSES_ROOT\.txt\ShellNew]
    "ItemName"=hex(2):40,00,43,00,3a,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,\
      73,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,00,6f,\
      00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,2c,00,2d,00,34,00,\
      37,00,30,00,00,00
    "NullFile"=""
     
    Я перезапускал проводник, путь к notepad++ прописал, но чтото твик не работает, документы по прежнему создаются блокнотом с кодировкой ANSI (а если в блокноте писать чтото по русски, кодировка меняется на 8859-8), перезагрузка системы не помогла
     
    Либо нужна галка в notepad++, либо нужно, чтобы блокнjn windows создавал документы с нужной кодировкой по умолчанию.
     
     
    Ура, вот этот твик реестра помог:
     
    В ветке реестара (HKEY_CLASSES_ROOT\.txt\ShellNew) добавиить строковый параметр "FileName" со значением "TEXT.TXT", создав юreg файл с таким содержанием:
     

    Код:
    Windows Registry Editor Version 5.00
     
    [HKEY_CLASSES_ROOT\.txt\ShellNew]
    "FileName"="TEXT.TXT"

     
    2. Создать в папке %SystemRoot%\ShellNew файл с раширением txt: "TEXT", открыть его в Notepad++, преобразовать кодировку документа в UTF-16 Little Endian with BOM и сохранить.
     
     
     
    В Excel 2007 тоже сменить бы

    Всего записей: 364 | Зарегистр. 02-04-2011 | Отправлено: 08:42 15-07-2023 | Исправлено: Celsus, 09:33 15-07-2023
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177

    Компьютерный форум Ru.Board » Компьютеры » Программы » Активные темы » Notepad++ (часть 2)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru