Самый популярный текстовый редактор. Программное обеспечение для Linux: Инструментарий разработчика ПО

Текстовый редактор Linux, наверное, одна из самых часто используемых программ, после браузера и файлового менеджера. Его можно использовать для написания кода, редактирования конфигурационных файлов, создания инструкций для пользователей или заметок и много чего еще.

В Linux, текстовые редакторы существуют в двух видах: текстовом — консольные редакторы, и графическом — текстовые редакторы для Linux с графическим пользовательским интерфейсом.Первые чаще всего используются на серверах, вторые же на домашних компьютерах. В этой статье мы рассмотрим лучшие текстовые редакторы Linux с открытым исходным кодом, как для серверов, так и для персональных компьютеров.

1. Редактор Vi/Vim

Vim — это мощный редактор текста Linux для командной строки, который расширяет и улучшает функционал старого Unix редактора Vi. Это один из лучших редакторов для Linux, он один из самых популярных и часто используемых текстовых редакторов среди системных администраторов и программистов. Многие пользователи считают его редактором для программистов. При редактировании кода и конфигурационных файлов можно включить подсветку синтаксиса.


2. Gedit

Это многофункциональный лучший текстовый редактор Linux, с графическим интерфейсом. Он поставляется по умолчанию в окружении рабочего стола GNOME. Редактор очень прост в использовании и настройке, а также поддерживает кучу плагинов.

Вот его основные преимущества:

  • Поддержка UTF-8
  • Настройка размера шрифта и цветов
  • Настройка подсветки синтаксиса
  • Функциональность копирования и вставки
  • Отмена и повтор действий
  • Откат файлов
  • Поиск и замена
  • Буфер обмена


3. Редактор Nano

Nano — это очень простой в использовании консольный текстовый редактор Linux как для новичков, так и для продвинутых пользователей Linux. Он очень удобен в использовании.

Некоторые особенности Nano:

  • Высоко настраиваемые сочетания клавиш
  • Подсветка синтаксиса
  • Отмена и повтор действий
  • Занимает все доступное пространство стандартного вывода
  • Поддерживает чтение из стандартного ввода


4. GNU Emacs

Это очень расширяемый и настраиваемый текстовый редактор линукс, со встроенным интерпретатором языка программирования lisp. Для расширения функциональности можно устанавливать различные расширения.

  • Особенности Emacs:
  • Большое количество документации
  • Подсветка синтаксиса
  • Поддержка множества языков с помощью Unicode
  • Поддержка различных расширений, включая почту, новости, отладчик, календарь и другие.

5. Kate / Kwrite

Это многофункциональный и очень расширяемый текстовый редактор, который поставляется вместе с окружением рабочего стола KDE Plasma. Проект Kate направлен на развитие двух основных программ: KatePart и Kate.

KatePart это компонент текстового редактора, используемый во многих приложениях KDE, где может понадобиться редактирование текста, а Kate — это интерфейс для работы с несколькими документами в текстовом редакторе.

Основные возможности:

  • Расширение функциональности с помощью скриптов
  • Поддержка Unicode
  • Редактирование текста в нескольких панелях
  • Поддержка автодополнения

Также поддерживается удаленное редактирование файлов и многие другие функции, включая поиск и замену, программирование, выделение текста, резервное копирование и т д.


6. Lime Text

Это даже больше чем просто мощный текстовый редактор для linux. Это целая IDE с открытым исходным кодом. Можно сказать, преемник популярного Sublime Text. Можно использовать как в командной строке, так и с графическим интерфейсом.


7. Pico Editor

Это еще один редактор, работающий в командной строке основанный на редакторе, используемом в Pine news. Это лучший текстовый редактор Linux для новых пользователей, в основном, из-за своей простоты по сравнению с другими редакторами, имеющими графический интерфейс.


8. Jed Editor

Это еще один консольный текстовый редактор linux с поддержкой графического интерфейса и меню в виде раскрывающейся строки. Он сделан специально для разработки программного обеспечения и одной из его ключевых особенностей является поддержка режима Unicode.


9. GVim

Это графическая версия популярного текстового редактора VIm. Здесь есть все те же возможности что и у Vim, а также меню, с помощью которого можно сделать много действий.


10. Geany

Это еще один IDE подобный текстовый редактор linux, заточенный под разработку программного обеспечения с использованием инструментов GTK.

Он имеет все необходимые базовые функции:

  • Подсветка синтаксиса
  • Интерфейс плагинов
  • Поддержка различных типов файлов
  • Поддержка свертывания кода и навигации
  • Автозавершение
  • Поддержка автоматического закрытия HTML и XML тегов
  • Функции управления проектами

11. Leaf Pad

Это легкий текстовый редактор linux с графическим интерфейсом на основе GTK. Он популярен среди новых пользователей Linux из-за своей простоты.

Особенности редактора:

  • Автоматическое определение кодировки
  • Функции отмены и повтора
  • Номера строк в файле
  • Поддержка перетаскивания
  • Поддержка печати


Bluefish — это простой в установке и использовании лучший текстовый редактор Linux, рассчитанный на программистов и веб-разработчиков. Он поддерживает большое количество функций:

  • Легкий и быстрый
  • Интеграция с внешними утилитами LInux: lint, weblint, make, awk, grep, sort и другими.
  • Функция проверки орфографии
  • Поддержка работы над несколькими проектами
  • Удаленное редактирование файлов
  • Поддержка поиска и замены
  • Поддержка отмены и повтора действий
  • Автоматическое восстановление измененных файлов


13. Atom

Это очень настраиваемый редактор текста Linux для разработчиков от Github основанный на движке Chromium. Программа больше похожа на IDE чем просто редактор. Функциональность можно расширить с помощью огромного количества плагинов.

Наверное, это один из лучших редакторов для веб-разработчиков. Вот его особенности:

  • Современный интерфейс в стиле Flat
  • Поддержка огромного количества плагинов
  • Поддержка множества языков программирования
  • Подсветка синтаксиса
  • Отладка программ в Chromium
  • Подсветка ошибок


14. Brackets

Еще один современный текстовый редактор Linux, основанный на движке Chromium, на этот раз от Adobe. Особенности:

  • LivePreview — все изменения, вносимые в документ сразу видны на веб-странице
  • Подсветка синтаксиса
  • Подсказки при редактировании
  • Большое количество плагинов и расширений


Выводы

Лучшие текстовые редакторы linux не ограничиваются этим списком. Для Linux существует еще очень большое количество хороших текстовых редакторов, если вы используете другой редактор, напишите в комментариях!

Is a command-line utility that extracts specially tagged comment blocks from programming source files and generates rich text files containing the contents of those comment blocks. Autoduck has traditionally been used to document programming APIs. Placing API documentation within the source files helps programmers disseminate information about a developing codebase.

  • The Cocoon utilities process C++ include files and produce a net of relocatable web pages that document the libraries, classes, and global functions and types that are found in them. Cocoon relies on a small set of simple formatting conventions in the header files. Use of these conventions does not interfere with most formatting preferences, and does not obfuscate the code. (Cocoon is fairly flexible, and can probably do something useful even with code that doesn"t comply with its usual conventions...)
  • CWEB . The philosophy behind CWEB is that an experienced system programmer, who wants to provide the best possible documentation of his or her software products, needs two things simultaneously: a language like TeX for formatting, and a language like C for programming. Neither type of language can provide the best documentation by itself; but when both are appropriately combined, we obtain a system that is much more useful than either language separately.
  • Doxygen (doxygen) Межплатформенная документационная система в стиле JavaDoc для C++, C, Objective-C, C#, Java, IDL и PHP.
    Doxygen is a documentation system for C, C++ and IDL. It can generate an on-line class browser (in HTML) and/or an off-line reference manual (in LaTeX) from a set of documented source files. Doxygen can also be configured to extract the code-structure from undocumented source files. This can be very useful to quickly find your way in large source distributions.
  • DOC++ is a documentation system for C/C++ and Java generating both, LaTeX output for high quality hardcopies and HTML output for sophisticated online browsing of your documentation. The documentation is extracted directly from the C++ header or Java class files.
  • FunnelWeb is a powerful literate-programming macro preprocessor that enables you to weave programs and documentation together.
  • is a general purpose source code indexer and cross-referencer that provides web-based browsing of source code with links to the definition and usage of any identifier. Supports multiple languages.
  • Natural Docs Утилита для генерирования "документированных" исходников в HTML. Написана на Perl.
    Natural Docs is an open-source, extensible, multi-language documentation generator. You document your code in a natural syntax that reads like plain English. Natural Docs then scans your code and builds high-quality HTML documentation from it.
  • Noweb A Simple, Extensible Tool for Literate Programming.
  • In 1984, Knuth introduced the idea of literate programming. The idea was that a programmer wrote one document, the web file, that combined documentation with code. Nuweb works with any programming language and LaTeX.
  • ProgDoc a small tool box of utilities which can be used to easily produce nicely formatted PostScript, PDF and HTML documentations for software projects with LaTeX. It is especially useful for mixed language projects and for documenting already finished programs and libraries. Due to it"s sophisticated syntax highlighting capabilities (currently implemented for C/C++/Java, Scheme/Elisp and XML) it is also a good choice for writing articles or technical white papers which contain source code examples.
  • is a documentation tool similar to JavaDoc. It extracts the documentation from comment headers in the source code and formats it in HTML, RTF, TeX, or ASCII. It works with C, Tcl/Tk, FORTAN, and many others languages.
  • . Исходный код -> HTML-файл с подсветкой синтаксиса
  • Текстовый редактор используется для редактирования текстовых файлов. Текстовые редакторы отличаются от текстовых процессоров, таких как Microsoft Word или WordPerfect, тем, что они не добавляют в документы дополнительную информацию о форматировании. Вы могли бы написать статью в Word, так как он содержит инструменты для изменения шрифтов, полей и макета, но он по умолчанию вставляет информацию о форматировании и разметке непосредственно в файл, что будет путать компилятор. Если открыть файл формата.doc в текстовом редакторе, вы увидите, что большая часть файла — это коды форматирования. Текстовые редакторы, однако, не добавляют коды форматирования, что помогает легче скомпилировать код.

    Почему я должен использовать текстовый редактор?

    Текстовые редакторы имеют набор функций, отличающийся от традиционной программы обработки текстов. Например, большинство из них не позволит вам вставлять фотографии или таблицы, или установить двойной междустрочный интервал. Особенности текстовых редакторов варьируются, но есть несколько функций, которые есть у большинства редакторов. Ниже приведены некоторые из наиболее распространенных и полезных функций.

    Подсветка синтаксиса

    Подсветка синтаксиса является очень полезной функцией. Она заключается в том, что редактор будет выделять определенные слова, или типы, или синтаксис, характерные для языка. Например, если у вас включена подсветка C++, редактор может сделать все ключевые слова C++ зелеными. Так гораздо легче следовать потоку вашей программы. Вот другой пример: редактор может отображать весь текст в кавычках светло-голубым. Таким образом, если вы забыли поставить открывающие или закрывающие кавычки, вы быстро это поймете из-за цвета текста на экране. Текстовый редактор также может указать на неправильное употребление квадратной или круглой скобки, выделяя их красным цветом; если у вас есть закрывающая скобка, но нет открывающей, цвет подскажет вам, что вы сделали где-то синтаксическую ошибку.

    Гибкость

    Откуда редактор знает какие слова выделять? Хороший вопрос. Редактор знает, на каком языке вы программируете. Либо вы можете сами указать язык, либо он может, как Vim , определить это по расширению файла. Если вы работаете с файлом с именем code.cc , он увидит.cc и будет знать,что надо использовать правила C++, но если вы работаете с одним из code.html , он будет применять правила HTML. Некоторые редакторы знают сотни языков, начиная от банальных (C, Java, Perl) до по-настоящему сложных (TADS, ABAQUS). Это означает, что вы можете использовать один и тот же редактор для программирования практически в любом языке и по-прежнему пользоваться теми же функциями и набором команд, к которым вы привыкли.

    Автоматические отступы

    Автоматические отступы, пожалуй, самая полезная функция текстового редактора. Вы бы предпочли иметь дело с кодом, который выглядит следующим образом:

    // поиск минимального элемента в матрице const int search_min(int **const array, const int kol_tasks,const int type_model) { int min; for (int i = 0; i < kol_tasks; i++) { for (int j = 0; j < type_model; j++) { if (array[i][j] != -1) { min = array[i][j]; i = kol_tasks; j = type_model; } } } for (int i = 0; i < kol_tasks; i++) { for (int j = 0; j < type_model; j++) { if (array[i][j] < min && array[i][j] != -1) { min = array[i][j]; } } } return min; }

    или кодом, который выглядит следующим образом?:

    // поиск минимального элемента в матрице
    const int search_min(int **const array, const int kol_tasks,const int type_model)
    {
    int min;
    for (int i = 0; i < kol_tasks; i++)
    {
    for (int j = 0; j < type_model; j++)
    {
    if (array[i][j] != -1)
    {
    min = array[i][j];
    i = kol_tasks;
    j = type_model;
    }
    }
    }
    for (int i = 0; i < kol_tasks; i++)
    {
    for (int j = 0; j < type_model; j++)
    {
    if (array[i][j] < min && array[i][j] != -1)
    {
    min = array[i][j];
    }
    }
    }
    return min;
    }

    Я так и думал. Текстовый редактор избавит вас от необходимости ставить все табы самостоятельно, он добавит их автоматически. Это позволяет вам следить за потоком управления через отступы, так что вы можете убедиться, что вы находитесь в нужном блоке кода.

    Быстрые функции навигации

    Если ваша программа не тривиальна, вы захотите иметь возможность быстро находить в ней определенные функции, экземпляры определенных переменных или отдельные строки. Текстовые редакторы обычно имеют больше возможностей, чем текстовые процессоры. Например, скажем, при компиляции программы вы обнаружили, что у вас есть синтаксические ошибки в строке 312. В Vim все что вам нужно сделать, это набрать 312G, и курсор переместится на строку 312. (Откуда Vim знает, что вы не хотите ввести символы 312G в документе? Подробнее об этом по ссылке в конце статьи).

    Какой текстовый редактор я должен использовать? В чем разница между ними? Как я могу его получить? Сколько они стоят?

    Есть много-много разных редакторов, среди которых Vim и Emacs являются самыми популярными, мощными и есть на разных ОС. Другой популярный редактор Notepad++ — это значительно улучшенная версия Notepad . Большинство редакторов (Vim и Emacs входит в комплект) бесплатны, но некоторые из них shareware. Я использую Vim , но у каждого редактора есть свои поклонники. Для составления списка некоторых из лучших редакторов, доступных для вашей платформы, просмотрите FAQ о текстовых редакторах. (Он нацелен на среднестатистических пользователей, но все перечисленные редакторы очень хороши для написания C++ кода.)