zaLinux.ru

Основы использования Joe’s Own Editor


Что такое joe в Linux

JOE — мощный текстовый редактор с консольным интерфейсом. Он имеет «безрежимный» пользовательский интерфейс, который похож на многие удобные редакторы для ПК. Пользователи языков WordStar от Micro-Pro или "Turbo" от Borland будут чувствовать себя как дома. JOE — это полнофункциональный экранный редактор UNIX, который имеет множество функций для редактирования программ и текста.

JOE также эмулирует несколько других редакторов. JSTAR — близкая имитация WordStar со многими расширениями "JOE". JPICO является близкой имитацией редактора PICO почтовой системы Pine, но с множеством расширений и улучшений. JMACS — это имитация GNU-EMACS. RJOE — это ограниченная версия JOE, которая позволяет редактировать только файлы, указанные в командной строке.

Хотя на самом деле JOE — это пять разных редакторов, для него по-прежнему требуется только один исполняемый файл, но с пятью разными именами. Имя редактора с добавленным «rc» даёт имя файла инициализации JOE, который определяет личность редактора.

Чтобы запустить редактор, введите joe, а затем ноль или несколько имён файлов, которые вы хотите отредактировать. Каждому имени файла может предшествовать установка локального параметра. Другие глобальные параметры, которые применяются к редактору в целом, также могут быть помещены в командную строку. Если вы редактируете новый файл, вы можете указать имя нового файла при вызове редактора или в редакторе при сохранении нового файла. Предоставляется модифицированный синтаксис для имён файлов, позволяющий редактировать вывод программы, стандартный ввод/вывод или разделы файлов или устройств.

Находясь в редакторе, вы можете вводить текст и использовать специальные последовательности управляющих символов для выполнения других задач редактирования. Чтобы получить справку по последовательностям управляющих символов, введите Ctrl-K H.

Вы можете столкнуться с joe при редактировании системных настроек, так как в некоторых дистрибутивах он выбран в качестве редактора по умолчанию.

Например, в Debian команда вида

sudo systemctl edit --full СЛУЖБА

Откроет для редактирования файл запуска указанной службы в редакторе joe.

Как запустить joe

Выполните в командной строке:

joe

Вы можете указать файл, который хотите открыть, или создать новый:

joe ИМЯ-ФАЙЛА

Как сохранить документ в Joe's Own Editor

Возможно, всё, что вам нужно, это просто сохранить файл, который был открыт в joe. В этом случае нажмите Ctrl+K, а затем клавишу Q. Эта команда означает закрыть редактор, а если в файле были сделаны изменения, то вам будет предложено сохранить их. Если изменений не было, то редактор просто закроется.

Вы можете явно указать, что файл следует сохранить при выходе, для этого используйте Ctrl+K, а затем клавишу X.

Вы также можете сохранить файл без выхода из редактора, для этого используйте Ctrl+K, а затем клавишу D.

Как показать справку по Joe's Own Editor

Вы можете вывести справку и продолжить работу с редактором. Чтобы это сделать используйте Ctrl+K, а затем клавишу H. В результате вверху окна редактора будет показана справка, но при этом вы можете вводить и редактировать текст.

Главные команды редактора joe:

В следующих записях символ ^ означает нажатие клавишу Ctrl. После неё идёт одна или две буквы. Первую букву нужно нажать одновременно с Ctrl. Затем их можно отпустить и нажать вторую букву. Через двоеточие написано выполняемое указанной комбинацией действие. К примеру, запись «^Z: Предыдущее слово» означает: «нажмите Ctrl+Z» чтобы перейди к предыдущему слову. А надпись «^KL: К строке с номером» означает «нажмите Ctrl+K, а затем нажмите L чтобы перейти к строке с введённым вами номером (вам будет предложено ввести цифру)».

ОБЛАСТЬ

  • ^Стрелка: Выбор
  • ^KB: Начало
  • ^KK: Конец
  • ^KC: Копировать
  • ^KM: Движение
  • ^KW: Файл
  • ^KY: Удалить
  • ^K/: Фильтр

ПЕРЕЙТИ

  • ^Z: Предыдущее слово
  • ^X: Следующее слово
  • ^KU: Верх файла
  • ^KV: Низ файла
  • ^A: Начало строки
  • ^E: Конец строки
  • ^KL: К строке с номером
  • ^G: Поиск (и замена) совпадений
  • ^U/^V: Страница вверх/Страница вниз

ПРОЧЕЕ


  • ^KJ: Параграф
  • ^KA: Центр строки
  • ^K Пробел: Статус

ПРАВОПИСАНИЕ

  • Esc N: Слово
  • Esc L: Файл

УДАЛИТЬ

  • ^D: Символ
  • ^Y: Строка
  • ^W: >Слово
  • ^O: Слово<
  • ^J: >Строка
  • ^[O: Слово<
  • ^_: Отменить
  • ^^: Повторить

ВЫХОД

  • ^KX: Сохранить
  • ^C: Прервать
  • ^KQ: Все

ФАЙЛ

  • ^KE: Редактировать
  • ^KR: Вставить
  • ^KD: Сохранить
  • ^K`: Обратить назад

ПОИСК

  • ^KF: Найти
  • ^L: Следующее совпадение

ПОМОЩЬ


  • Esc .: Далее
  • Esc ,: Предыдущее
  • ^KH: Выключить
  • ^T: Меню

Полный перечень опций и команд с детальным описанием вы можете посмотреть в справочной странице:

man joe

Некоторые расширенные функции имеют решающее значение

Из того, что вы уже прочитали, у вас достаточно навыков, чтобы использовать joe для вашей собственной деятельности по редактированию на элементарном уровне. Но очень важно изучить некоторые из более продвинутых функций joe. Всегда помните, что цель расширенных функций в joe или любом другом сложном редакторе (многие из функций, которые вы здесь увидите, также есть в emacs, vim, elvis и т. д.), - это сэкономить ваше время! По этой причине выделите немного времени, чтобы изучить их СЕЙЧАС; эти очень небольшие затраты времени сейчас сэкономят вам много времени позже, позволяя вам лучше сосредоточиться на текущей задаче — написании программ.

Большинство дополнительных функций становится очевидным, просто взглянув на окно интерактивной справки. Например, вы можете удалить всю строку, набрав ^Y. (Это намного лучше, чем кропотливый набор ^D для удаления строки по одному символу за раз.)

Чтобы вызвать функцию интерактивной справки (если она ещё не активирована), введите ^KH. Затем вверху экрана появится окно справки. Чтобы пролистать окно справки, введите «^[.», чтобы перейти вперёд, «^[,», чтобы вернуться. Вы можете выйти из справки, набрав ^KH ещё раз, но, с другой стороны, если вы новичок, вы можете просто оставить окно справки там на протяжении всего сеанса редактирования.


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

Искать/заменить

Предположим, вы редактируете исходный файл программы и у вас есть переменная Sum. Вы знаете, что в файле есть строка, содержащая сумму, которую вы хотите изменить. Один из способов найти это — прокрутить файл с помощью ^U для прокрутки вверх или ^V для прокрутки вниз и визуального сканирования.

Но гораздо лучше было бы использовать поисковую систему joe. Просто введите ^KF. Вам будет предложено ввести строку, которую вы хотите найти, в данном случае «Сумма». (Затем вам будет предложено указать параметры типа поиска, но в этом простом случае просто нажмите клавишу Return.) Это переместит курсор к первому экземпляру Sum после исходной позиции курсора. После этого вы можете перемещаться по всем экземплярам Sum, продолжая нажимать ^L.

Предположим, вы хотите изменить все экземпляры Sum на Total. Затем вы можете продолжить, как указано выше, но введите r), когда вам будет предложено указать параметр в вашем поиске. Это изменит первый экземпляр Sum на Total; ^L перенесёт вас к следующему экземпляру, и если вы наберёте r, тогда замена будет произведена всеми остальными экземплярами Sum.

Отменить повторить

Все мы делаем ошибки, но продвинутые редакторы, такие как joe, позволяют их исправить. Просто введите ^_ (удерживайте клавиши Control, Shift и -), чтобы отменить последнее изменение в этом сеансе редактирования. А если вы хотите отменить предпоследнее изменение, снова введите ^_ и так далее. И если вы решите, что отменили слишком много изменений, вы можете повторить их, набрав ^^ (удерживая клавиши Control, Shift и ^), где снова вы можете сделать это несколько раз для нескольких изменений.

Режим автоматического отступа

Как вы знаете, хороший стиль программирования включает в себя отступы строк для выделения циклов, конструкции if-then-else и так далее. Но не удерживайте эту клавишу пробела, чтобы увеличить отступы! Вместо этого используйте режим автоматического отступа. В этом режиме всякий раз, когда вы нажимаете Return, чтобы начать печатать в следующей строке, joe автоматически будет делать отступ до той же величины, что и в предыдущей строке.

В общем, по типу редактируемого файла (например, файлов .c для C) joe сделает вывод, что это исходный файл программы, и поэтому joe начнёт работу в режиме автоотступа. Вы можете выйти/войти в этот режим, набрав ^TL.

Сохранение без выхода, переход к строке, переход к последней позиции, сопоставление скобок и т. д.

Допустим, вы отлаживаете программу и только что исправили ошибку в файле, например g.c. Теперь вы хотите его скомпилировать. Сначала вы должны сохранить файл, но вы не хотите покидать joe. Чтобы сохранить без выхода, введите ^KD.

После компиляции вы можете обнаружить некоторые ошибки компиляции, отмеченные номерами строк. Команда joe ^KL перенесёт вас в указанную строку. (У joe также есть свои собственные команды для компиляции и перехода к строкам с ошибками компиляции. Однако документации по этому поводу, похоже, не существует.)

Ещё одна полезная команда для перемещения курсора - ^K-, которая перемещает вас в предыдущее место, где у вас был курсор. Поэтому, если вы смотрите на одну часть своего кода, но хотите кратко проверить что-то в другой части кода, вы можете перейти к другой части, а затем легко вернуться в исходное место с помощью этой команды.

Фактически, эта команда ^K возвращает вас в последнее место, где вы внесли изменения в файл. Если вы продолжите нажимать ^K-, вы пройдёте по обзору всех ваших предыдущих изменений; и наоборот, если вы продолжите нажимать ^K=, вы переместитесь вперёд по этому списку.

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

Заключение

joe — это редактор с огромным количеством функций и опций — здесь не рассмотрено даже 1% его возможностей. По своим возможностям программа близка к emacs, vim.


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *