Одним из самых популярных текстовых редакторов является Notepad++. Софт бесплатный, есть русская локализация. Даже встроенных из коробки возможностей достаточно, чтобы сделать его текстовым редактором по умолчанию и внедрить как просмотрщик в файловые менеджеры. Текстовый редактор разработан под windows платформу, на mac и linux можно найти только аналоги. Скачать последнюю версию notepad++ можно по ссылке.
Но кроме стандартных возможностей notepad++, к нему есть куча дополнений — плагинов, которые позволяют допилить функциональность «под себя».
В обзоре я расскажу о наиболее полезных для меня плагинах.
Общие плагины notepad++.
Plugin Manager
Позволяет загружать новые плагины и обновлять уже установленные. Идет в базовой поставке редактора. Рекомендуется использовать его для работы.
Compare
Как ясно из названия, позволяет сравнить содержимое двух файлов. Полезно, если нет времени или желания просматривать изменения в git или svn.
NppAutoIndient
Как тоже очевидно из названия, расставляет отступы в коде, что улучшает его читаемость. После установки плагин по умолчанию выключен, его надо активировать и выбрать режим работы, я рекомендую smart. Плагин в этом режиме учитывает действия пользователя и форматирует текст в том же стиле, что и разработчик.
TextFX
Очень мощный инструмент для преобразования текста.
-
TextFX Characters.
Блок всевозможных операций с кавычками. Все эти действия можно решить и поиском с заменой, но в TextFX это сделать можно более визуально.
- Convert quotes to » (+)
"require" long " float 'string' -> "require" long " float "string"
- Convert quotes to ‘ (+)
int "require" long " float 'string' -> int 'require' long ' float "string"
- Swap quotes (» -> ‘) (+)
int "require" long " float 'string' -> int 'require' long ' float "string"
- Drop quotes » & ‘ (+)
int "require" long " float 'string' -> int require long float string
- Escape » to \» (+)
int "require" long " float 'string' -> int \"require\" long \" float 'string'
- Escape ‘ to \’ (+)
int "require" long " float 'string' -> int "require" long " float \'string\'
- Escape ‘ to \» (+)
int "require" long " float 'string' -> int "require" long " float \"string\"
- Escape both «&’ to \»&\’ (+)
int "require" long " float 'string' -> int \"require\" long \" float \'string\'
- unEscape \» to » (+)
int \"require\" long \" float 'string' -> int "require" long " float 'string'
- unEscape \’ to ‘ (+)
int "require" long " float \'string\' -> int "require" long " float 'string'
- unEscape \» to ‘ (+)
int \"require\" long \" float 'string' -> int 'require' long ' float 'string'
- unEscape both \»&\’ to «&’ (+)
int \"require\" long \" float \'string\' -> int "require" long " float 'string'
- Escape » to «» (+)
int "require" long " float 'string' -> int ""require"" long "" float 'string'
- Escape ‘ to «» (+)
int "require" long " float 'string' -> int "require" long " float ""string""
- unEscape «» to » (+)
int "require" long " float ""string"" -> int "require" long " float "string"
- unEscape «» to ‘ (+)
int "require" long " float ""string"" -> int "require" long " float 'string'
Все эти функции достаточно легко, да и более полезно для общей практики выполнять командами замены (Ctrl+h)
Работа со строками:
- UPPER CASE (+)
Пример текст. текст второй -> ПРИМЕР ТЕКСТ. ТЕКСТ ВТОРОЙ
- lower case (+)
Пример текст. текст второй -> пример текст. текст второй
- Proper Case (+)
Пример текст. текст второй -> Пример Текст. Текст Второй
- Sentence case (!+)
Пример текст. текст второй -> Пример текст. Текст второй
- iNVERT cASE (+)
Пример текст. текст второй -> пРИМЕР ТЕКСТ. ТЕКСТ ВТОРОЙ
- Zap all characters to space (?)
Пример текст. текст второй -> 48 пробелов
- Zap all non printable characters to # (-)
Пример текст. This is Sparta *-()+= k hh/?- -> ############ ##########. This is Sparta *-()+= k hh/?-
Все функции, кроме последней, полезные. Последняя, к несчастью, не работает с кириллицей.
-
TextFX Quick. Поисковые функции
- Mark Word or Find Reverse
Пример текста Пример пример вот так
Шоколад Печенье ходит само по себе пример кат
->
Пример текста Пример пример вот так
Шоколад Печенье ходит само по себе пример кат
- Mark Word or Find Forward
Пример текста Пример пример вот так
Шоколад Печенье ходит само по себе пример кат
->
Пример текста Пример пример вот так
Шоколад Печенье ходит само по себе пример кат
- +Mark Word or Find Case Sensitive
Пример текста Пример пример вот так
Шоколад Печенье ходит само по себе пример кат Пример.
->
Пример текста Пример пример вот так
Шоколад Печенье ходит само по себе пример кат Пример.
- +Mark Word or Find Whole Words
Пример текста Пример пример вот так
Шоколад Печенье ходит само по себе пример кат Пример.
->
Пример текста Пример пример вот так
Шоколад Печенье ходит само по себе пример кат Пример.
- Find matching {([])}
Поставьте курсор к какой-нибудь скобке (или выделите её) из набора: {([])}. Функция найдет соответствующую скобку и перейдет к ней. Аналог действия клавиш Ctrl + B.
- Mark to matching {([])}
Поставьте курсор к какой-нибудь скобке (или выделите её) из набора: {([])}. Функция выделит текст между скобками, включая их.
- Delete Marked {([])} Pair
Поставьте курсор к какой-нибудь скобке (или выделите её) из набора: {([])}. Функция удалит пару соответствующих скобок.
- Mark lines to matching {([])}
Поставьте курсор к какой-нибудь скобке (или выделите её) из набора: {([])}. Функция выделит строки, в которых есть текст, заключенный между скобками, включая сами скобки. Функция Mark to matching {([])} выделяет текст между скобками, а эта функция именно строки.
- Find/Replace
Абсолютно бесполезная функция поиска/замены. Проще/лучше/полезнее использовать встроенные инструменты.
- Duplicate Line or Block
Аналогично бесполезная функция. Легко заменяется Ctrl+D или Ctrl+C и Ctrl+V
-
TextFX Edit
- Fill Down Insert
С помощью клавиши Alt выделите вертикально текст.
- Fill Down Overwrite
- Insert (Clipboard) through lines
- Reindent C++ code
Функция форматирует отступы в коде C++. То есть расставляет знаки табуляции в блоках, находящихся в фигурных скобках. Возможно и иные места обрабатывает.
- Leading space to tabs or tabs to spaces
Заменяет пробелы на табы.
- Leading space to tabs or tabs to spaces
Меняет пробелы на табы, а табы на пробелы.
- Leading space to tabs or tabs to spaces width=8
Не понял, чем отличается эта функция от вышеописанной.
- Trim Trailing Spaces
- Indent text sticky left margin
Бесполезный пункт. Для получения нужного результата достаточно выделить несколько строк и нажать tab.
- Indent & surround { text lines }
Обрамляет текст в фигурные скобки, а текст сдвигает табуляцией.
- Delete Blank Lines
Удаляет пустые строки. Если в строке есть табуляция или пробелы, то пустой строкой не является.
- Delete Surplus Blank Lines
Бесполезная функция замены пустых строк, эффективнее и проще воспользоваться стандартной заменой.
- Strip unquoted text (C) separate by (Clipboard<=20)
- Strip unquoted text (VB) separate by (Clipboard<=20)
- Kill unquoted (C) whitespace
Удаляет множественные пробелы, заменяя их одним пробелом. Очень полезная функция.
- Kill unquoted (VB) whitespace
Та же самая функция, только в синтаксисе VB.
- Split lines at (clipboard character) or, (C)
- Split lines at (clipboard character) or, (VB)
Та же самая функция, только в синтаксисе VB.
- Line up multiple lines by (,)
Форматирует строки по вертикали по запятым.
- Line up multiple lines by (=)
То же самое, только по знаку равенства. Полезная функция.
- Line up multiple lines by (Clipboard character)
То же самое, только по знаку из буфера обмена. По сути универсальный вариант предыдущих функций.
- Unwrap Text
- ReWrap Text (Clipboard or 72) width
Разбивает текст по разделителю или по 72 символа (максимум). Странная функция, непонятно, чем может пригодиться.
- Pad rectangular selection with spaces
Вообще не понял, как этим пользоваться, и чем оно могло бы быть полезно.
-
TextFX Convert
- Encode URI Component
Аналог php-функции urlencode. Полезная и удобная функция.
- Encode HTML (&<>»)
Аналог php-функции htmlentities. Полезная и удобная функция.
- Strip HTML tags table tabs
Аналог php-функции strip_tags. Полезная и удобная функция.
- Strip HTML tags table nontabs
Аналогично предыдущей функции, только при этом таблицы делает таблицами с разделителем в виде пробелов.
- Submit to W3C HTML Validator
Пункт не работает.
- Submit to W3C CSS Validator
Пункт не работает.
- Convert text to code command («text=\»value\»»);
Полезный пункт. Превращает какой-нибудь текст в строку под тот или иной язык. Данная функция требует выбора синтаксиса языка в документе.
- Convert Decimal Number to Binary
Конвертирует десятичное число в двоичное.
121 -> $1111001
- Convert Decimal Number to Octal
Конвертирует десятичное число в восьмеричное.
121 -> 0171
- Convert Decimal
Конвертирует десятичное число в шестнадцатеричное.
121 -> 0x79
- Convert Hex Number to Decimal
Конвертирует шестнадцатеричное число в десятичное.
0x79 -> 121
- Convert Octal Number to Decimal
Конвертирует восьмеричное число в десятичное.
0171 -> 121
- Convert Binary Number to Decimal
Конвертирует двоичное число в десятичное.
1111001 -> 121
- Convert C-style Number to Decimal
Конвертирует число в форме C стиля в десятичное. Слабо понял, как может помочь эта функция.
- Convert text to Hex-16
Переводит текст в Hex формат по 16 символов в строке.
- Convert text to Hex-32
Аналогично предыдущей функции переводит текст в Hex формат, но уже по 32 символа в строке.
- Convert text to Hex-64
Аналогично предыдущей функции переводит текст в Hex формат, но уже по 64 символа в строке.
- Convert text to Hex-128
Аналогично предыдущей функции переводит текст в Hex формат, но уже по 128 символов в строке.
- Convert hex byte runs into LE-WORDS
Переводит текст из Hex формата в Little Endian WORD (порядок байтов от младшего к старшему). Это мало полезно в веб-разработке.
- Convert hex byte runs into LE-DWORDS
Переводит текст из Hex формата в Little Endian DWORD (порядок байтов от младшего к старшему). Это мало полезно в веб-разработке.
- Convert LE-words to hex byte runs
Переводит текст из Little Endian DWORDS формата в Hex.
- Convert LE-words to hex byte runs
Переводит текст из Little Endian DWORDS формата в Hex.
- Convert Hex to text
Переводит текст из Hex формата в обычный текст.
- ROT13 Text
Кодирует и раскодирует латинский текст по шифру ROT13.
zl anzr vf -> my name is
- Convert EBCDIC to ASCII
Функция конвертирует EBCDIC текст в текст в кодировке ASCII.
- Convert ASCII to EBCDIC
Обратная предыдущей функция.
- Convert KOI8_R to CP1251
Конвертирует текст из кодировки KOI8_R в CP1251.
- Convert CP1251 to KOI8_R
Конвертирует текст из кодировки CP1251 в KOI8_R.
-
TextFX Insert
- Current Full Path
Функция не работает. Если нужен адрес файла, надо нажать на вкладку с файлом правой кнопкой и выбрать пункт «Полный путь к файлу в буфер» и ctrl+v.
- Current File Name
Функция не работает. Если нужен адрес файла, надо нажать на вкладку с файлом правой кнопкой и выбрать пункт «Имя файла в буфер» и ctrl+v.
- Current Directory
Функция не работает. Если нужен адрес файла, надо нажать на вкладку с файлом правой кнопкой и выбрать пункт «Путь к директории файла в буфер» и ctrl+v.
- Date & Time — short format
Вставляет дату и время в коротком формате. Удобная функция.
- Date & Time — long format
Вставляет дату и время в полном формате, но работает нормально только для документов в кодировке UTF-8.
-
TextFX HTML Tidy
Пункт не работает.
-
TextFX Tools
- Sort lines case sensitive (at column)
Сортировка строк с учетом регистра.
- Sort lines case insensitive (at column)
Сортировка строк без учета регистра. Работает корректно только для латиницы. Для кириллицы сортировка будет производиться, но с учетом регистра.
- +Sort ascending
При включенной галочке сортировка в предыдущий двух функциях будет вестись по возрастанию. Без ее включения сортировка будет вестись по убыванию.
- +Sort outputs only UNIQUE (at column) lines
При включенной галочке при сортировке будут удалены копии строк.
- Insert Ascii Chart or Character
Если выделить любой символ, функция покажет его ASCII код и другие характеристики. Если не выделять – вставится вся ASCII таблица.
- Insert Ruler
Вставляет линейку. Как это использовать на практике – не представляю.
- Insert Line Numbers
Вставляет номера строк для выделенных строк.
- Delete Line Numbers or First Word
Удаляет первое слово в выделенных строках. Полезная функция.
- Clean eMail > Quoting
Очищает текст e-mail письма от знаков цитирования >.
- UUdecode
Декодирует текст в виде UUE.
#0V%T -> Cat
- Base64 Decode
Декодирует текст в виде Base64.
dGVzdA== -> test
- Word Count
Показывает число слов в тексте и другие характеристики.
- Add up numbers
Суммирует выделенные цифры.
- Empty Undo Buffer (be sure to save)
Очищает буфер изменений.
-
TextFX Viz
Функционал предназначен для работы со скрытыми строками. Можно выделить несколько строк и нажать alt+h. Глобально, не думаю, что есть реальные сценарии работы, при которых все нижеописанные функции могут быть полезны.
- Show Between-Selected or All-Reset Lines
Разворачивает в выделенном фрагменте все свернутые строки. Если ничего не выделено, то развернет все строки.
- Hide Between-Selected or All-Reset Lines
Функция работает плохо и глючно. Не рекомендую использовать.
- Invert Visibility Between-Selected or All-Reset Lines
Показывает скрытые строки в выделенном фрагменте.
- Hide Lines with (Clipboard) text
Функция работает плохо и глючно. Не рекомендую использовать.
- Hide Lines without (Clipboard) text
Функция работает плохо и глючно. Не рекомендую использовать.
- Show Lines with (Clipboard) text
Функция показывает те строки, в которых есть текст в буфере обмена.
- Show Lines without (Clipboard) text
Функция показывает те строки, в которых нет текста из буфера обмена.
- Show More Lines around my position
Функция работает плохо и глючно. Не рекомендую использовать.
- Hide/Show sequence all steps
Функция работает плохо и глючно. Не рекомендую использовать.
- Hide/Show sequence singlestep start
Функция работает плохо и глючно. Не рекомендую использовать.
- Hide/Show sequence singlestep next
Функция работает плохо и глючно. Не рекомендую использовать.
- Hide/Show sequence singlestep rest
Функция работает плохо и глючно. Не рекомендую использовать.
- Select at Hide/Show sequence
Функция работает плохо и глючно. Не рекомендую использовать.
- Insert Show/Hide Sequence
Функция работает плохо и глючно. Не рекомендую использовать.
- Copy Visible Selection
Копирует только видимый текст, но без переносов строк.
- Cut Visible Selection
Вырезает только видимый текст, но без переносов строк.
- Delete Visible Selection
Удаляет только видимый текст.
- Copy Invisible Selection
Копирует только невидимый текст, но без переносов строк.
- Cut Invisible Selection
Вырезает только невидимый текст, но без переносов строк.
- Delete Invisible Selection
Удаляет только невидимый текст.
- Copy Entire Selection (no append)
Копирует текст (и видимый и невидимый), но без переноса строк.
- Cut Entire Selection (no append)
Вырезает текст (и видимый и невидимый), но без переноса строк.
- Copy & Append Entire Selection
Копирует текст (и видимый и невидимый), но без переноса строк. Добавляет все к буферу обмена.
- Cut & Append Entire Selection
Вырезает текст (и видимый и невидимый), но без переноса строк. Добавляет все к буферу обмена.
- Paste as UTF-8/ANSI
Вставляет текст, преобразуя попутно кодировку.
- Paste
Вставляет текст. Походу просто вставляет текст.
-
TextFX Viz Settings
Настройки TextFX Viz.
- +Viz Text Search Case Sensitive
Включить регистр зависимый вариант поиска в вышеописанных функциях.
- +Viz Text Search Whole Words
Включить поиск по полным словам.
- +Viz Text Search Regex
Включает поиск по регулярным выражениям.
- +Viz Copy-Cut Appends to clipboard
При включенной этой галочке все функции раздела TexFX Viz при копировании, вырезании элемента в буфер обмена будут копировать текст, не удаляя его, а добавляя его к тому, что уже было в буфере. Как в функции Cut & Append Entire Selection.
- +Viz Copy-Cut always converts to CRLF
Конвертирует строки в CRLF при копировании и вырезании.
- +Viz Copy-Cut replace [NUL] with space
При копировании в функциях TextFX Viz заменяет [NULL] на пробел.
- +Viz Copy-Cut also in UTF-8
Копирование и вставка происходит только в формате UTF-8.
- +Viz Paste retains position
Возвращает курсор при вставке обратно в то место, где был курсор до вставки.
- +Viz Paste/Append binary
Добавляет в буфер данные в бинарном формате.
- +Viz Paste converts EOL to editor
При включенной галочке должна конвертировать символ EOL.
- +Viz Capture Keyboard Ctrl-C,X,V
При включенной галочке должна перехватывать клавиши Ctrl-C,X,V и навязывать свои функции. Крайне не рекомендую использовать.
-
TextFX Settings
Общие настройки плагина TextFX
- +Cancel Overwrite Mode moving from current line
При нажатии на кнопку Insert включается режим Overwrite. Это значит, что если нажать на клавишу, то вводимый текст будет заменять текущий. Если эта стандартная функция бесит – можно включить эту опцию, и режим работы будет стандартным.
- +Autoclose XHTML/XML
Закрывает html теги. Если ввести <p и > <p></p>. Аналогичная настройка есть и в редакторе. Использовать обе настройки сразу нельзя!
- +Autoclose {([Brace
Включает автозакрытие скобок. Аналогичная настройка есть и в редакторе. Использовать обе настройки сразу нельзя!
- +Autoconvert typed leading spaces to tabs
Включает автоматическое превращение пробелов в знаки табуляции в начале строк, когда их число равно 4. Очень полезная функция.
- +Autoconvert typed HTML/XML to &entities;
Довольно странный функционал. При включенной опции нажатие кнопки Enter приводит к появлению <br/>.
- +Disable Subclassing & advanced features
Я не подключил Tidy и настройка по сути не работает.
- +Move quick menus out of ‘Plugins’ menu
Выносит в меню настройки TextFX.
- +Move quick menus out of ‘Plugins’ menu
Ctrl+D дублирует строку, на которую установлен курсор. Если выделена подстрока, дублирует подстроку.