Консольный текстовый редактор с сочетаниями клавиш в стиле Windows (ctrl-z, x, c, v)

31

Хорошо, я понимаю, что я рискую религиозной войной, задавая вопрос о текстовых редакторах, но здесь идет.

Требования

  • В основном используется для редактирования файла конфигурации
  • Текстовый не GUI
  • Доступен для Raspian вкус Debian
  • Для пользователя Windows / Mac GUI обучение не требуется (нет vi / vim)
  • В полной мере использует клавиши, найденные на современных клавиатурах, например home, end, pgup, pgdn, del
  • Используйте сочетания клавиш, найденные практически во всех приложениях с графическим интерфейсом, например, Отменить ( Ctrl-Z), Повторить ( Shift-Ctrl-Z), Выбрать все ( Ctrl-A), Вырезать ( Ctrl-X), Копировать ( Ctrl-C), Вставить ( Ctrl-V), Расширить выбор ( Shift-Arrow), Пропустить слово ( Ctrl-Arrow), Удалить выбор ( Del) так далее
  • Необязательно : поддержка мыши для изменения положения курсора и выбора текста

Конечно, это не большой вопрос в наше время?

Грег Вудс
источник
2
«Не требуется обучение» звучит как необычно ограничительный (и, возможно, нереалистичный) критерий, особенно когда вы просите инструмент CLI ...
jasonwryan
1
nanoбыло бы близко. Он не будет иметь точно такие же ярлыки, но похожие ярлыки для выполнения той же операции. или вы можете создать .nanorc и иметь собственные ярлыки
h3rrmiller
2
@jasonwryan Как опытный пользователь Windows (или Mac), у меня уже есть знания, необходимые для использования современного текстового редактора, использующего только клавиатуру. Я хотел бы использовать тот же опыт в инструменте CLI Linux.
Грег Вудс,
3
Ярлыки, которые вы ожидаете, являются модификациями Microsoft в соответствии с рекомендациями IBM CUA . Ни CUA, ни модификации MS не являются традиционными в мире Unix.
Жиль "ТАК - перестать быть злым"
4
@ Жиль Я не совсем уверен, что согласен называть эти ярлыки «Windows». Каждое обычное приложение с графическим интерфейсом, которое выполняет редактирование текста, использует эти ярлыки на всех основных платформах. Многие из этих ярлыков предшествуют Windows.
jw013

Ответы:

13

Я перепробовал все вышеперечисленные решения (кроме тех, которые явно глупы, например, конфигурации emacs или vi).

Лучший в целом это тильда. Действительно сделан на заказ, чтобы ответить на оригинальный вопрос, заданный Грегом Вудсом. Он должен быть добавлен во все стандартные репозитории linux.

Как давний нано-пользователь, который нашел свой путь здесь в поисках чего-то такого же простого, с настоящим буфером отмены / повтора и стандартными привязками клавиш редактора GUI, я искренне рекомендую редактор Sanos. Он крошечный и выполняет только то, что требует исходный запрос. Единственный недостаток - отсутствие поддержки мышью для размещения курсора. Это мой новый любимый минимальный редактор, и nano уходит в мусорную корзину. Вы должны скомпилировать его, но это простая программа для компиляции - один исходный файл на языке Си. Я скомпилировал его в "вменяемый" для "редактора sanos" (sanos на самом деле является мини-ОС).

А теперь, чтобы повторить вопрос, который большинство ответов и голосов, похоже, игнорируют: запрос на мертвый простой базовый редактор, который просто работает и использует стандартные привязки GUI (которые, кстати, не принадлежат Windows).

Два, которые я рекомендую, и fte, являются единственными, которые заполняют счет, и fte слишком причудливый в xterm.

may2015visitor
источник
Я скомпилировал Sanos, но клавиши Shift + стрелка не работают, также Shift работает для заглавных букв, я использую
замазку
Это лучший ответ imho. Я пробовал оба, и Shift + Arrows для выделения, и Ctrl + C Ctrl + V и т. Д. Работает в обоих. Мне пришлось отключить конфликтующие сочетания клавиш в эмуляторе терминала, хотя, как Shift + Up для прокрутки назад на одну строку.
SoleSoul
Интересно, что редактор Sanos содержит всего ~ 2000 строк кода, имеет Control-Z, отмену, shift-select, хорошо обрабатывает вкладки. Кажется, в функции unindent () есть ошибка. Я думаю, что это было бы отличной отправной точкой для создания более мощного редактора.
PJ Brunet
о Господи. Спасибо тебе за это. попробовал тильду 20 секунд и сказал: "Да, это то, что я хочу!" ура!
Пол Эрленмейер
11

Попробуйте Микро.

https://github.com/zyedidia/micro

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

Как видно из названия, micro стремится быть в некотором роде преемником нано-редактора, будучи простым в установке и использовании в крайнем случае, но micro также стремится быть приятным в использовании на постоянной основе, работаете ли вы в терминале, потому что предпочитаете его (как я), или потому что вам нужно (через ssh).

Скриншоты и схемы цветов

Это просто идеально. Выбор стрелки Shift работает отлично. Control-C (вырезать), Control-V (вставить), Control-Z (отменить), Control-S (сохранить) - все работает как положено. Это также отступы и выборки отступов отлично.

Вам нужен эмулятор терминала, который правильно поддерживает клавишу Shift. Терминатор отлично работает из коробки. Некоторые терминалы на базе Android не поддерживают функцию shift-selection, но JuiceSSH (самый популярный в Google Play) работает, хотя я еще не тестировал его всесторонне.

PJ Brunet
источник
2
И отличная поддержка мыши, и красивая подсветка синтаксиса.
PJ Brunet
Это, пожалуй, самый «современный», о чем свидетельствует цветовая схема по умолчанию и выбор поддерживаемых языков. Тем не менее, сочетания клавиш значительно отличаются от чего-то вроде Sublime, это PIA, чтобы изменить их, и многие сочетания клавиш просто не поддерживаются.
Александр Дубинский
9

joeИМО, лучший из редакторов, которых нет. Это достойный полнофункциональный редактор сам по себе, а не урезанный безликий минимальный редактор вроде nano.

При вызове как jstarили joe, привязки клавиш по умолчанию подобны WordStar, которые также использовались во многих других программах на протяжении многих лет, включая редактор в интегрированных средах Borland Turbo Pascal и Turbo C, поэтому должны быть знакомы многим пользователям. Если вызывается как jmacпривязки клавиш emacs-подобны. Привязки клавиш настраиваются, и если вы не можете найти конфигурацию, которая подходит именно вам, вы можете добавить ее самостоятельно или скопировать и изменить существующую.

Я слишком большой viпользователь, чтобы использовать его сам, но я часто рекомендую его людям, которые не любят или хотят изучать модальный редактор, например vi, с хорошими результатами.

Вот описание в пакете debian:

Джо, или Собственный редактор Джо, похож на большинство текстовых редакторов на ПК: последовательности клавиш напоминают редакторы WordStar и Turbo C, но набор функций намного больше, чем у них. У Джо есть все функции, которые должен ожидать пользователь Unix: полное использование termcap / terminfo, полная интеграция Unix в стиле VI, мощный конфигурационный файл и система поиска по регулярным выражениям. Он также имеет шесть справочных карт, которые всегда доступны, и интуитивно понятный, простой и продуманный пользовательский интерфейс.

У Джо отличный алгоритм оптимизации обновления экрана, несколько окон (через / между которыми вы можете прокручивать), и в нем отсутствует запутанное понятие именованных буферов. Он имеет историю команд, расширение TAB в меню выбора файлов, функции отмены и возврата, (un) отступ и форматирование абзацев, фильтрацию выделенных блоков через любую внешнюю команду Unix, редактирование канала в команду или из команды, а также перемещение, копирование и копирование блоков. удалить или отфильтровать.

С помощью простых файлов конфигурации в стиле QEdit Джо может быть настроен на эмуляцию таких редакторов, как Pico и Emacs, наряду с полной имитацией WordStar и версией в ограниченном режиме (позволяет редактировать только файлы, указанные в командной строке). У Джо также есть отложенное обновление экрана для обработки заголовка, и это гарантирует, что отсрочка не будет обойдена буферизацией tty. Его можно использовать даже на скорости 2400 бод, и он будет работать на любом нормальном терминале.

Он, AFAIK, упакован для всех дистрибутивов, а источник доступен по адресу http://joe-editor.sourceforge.net/ - исходный код debianised должен компилироваться на Raspian, если бинарного пакета еще нет.

саз
источник
1
Спасибо за предложение. Это может быть кому-то полезно, но мне никогда не нравились ярлыки в стиле Wordstar. Я могу пересмотреть, когда мне нужен более функциональный редактор.
Грег Вудс
11
-1: сочетания клавиш у Джо кажутся такими же «неортодоксальными», как у vim или nano. Например, CTRL + A не «выбрать все», CTL + F не «найти».
Гарретт
Я использовал Джо с 1994 года, и я не думаю, что это лучший ответ на вопрос, хотя Джо относительно легок по сравнению с Vim. Я заметил, что Джо отсутствует в некоторых дистрибутивах, но вы можете легко получить "Jupp" (на основе Джо) с помощью yum или apt-get. У Джаппа есть SHIFT-выбор. Вырезать и вставлять немного странно с Джаппом, но легко научиться, Control-J за помощью.
PJ Brunet
3
Извините, но действительно ли это отвечает на вопрос? joeтак же трудно выйти, как vimи Windows, горячие клавиши не работают.
Мафу
Я был возвращен к этому ответу upvote. Как отметил в своем ответе Жиль , для CUA доступны комбинации клавиш joe.
Cas
7

Попробуйте текстовый редактор FTE . Есть несколько доступных версий; тот, который вам нужен, вероятно, sfteнаходится в fte-terminalпакете Debian .

введите описание изображения здесь

Джим Пэрис
источник
Хорошее предложение, но просто попытка Shift + стрелка вниз для выделения текста привела к загрузке сообщений «FIXME», повреждающих экран. Ярлыки прямо с восьмидесятых ... Ctrl-Ins для копирования? Alt-Backspace для отмены? Некоторые из опций - это просто выродок Linux: «Копировать - Добавить»? Мне не нужно читать руководство по команде копирования! Из плюсов мне понравился браузер каталогов при запуске.
Грег Вудс,
1
Weird. Первое, что я попробовал, это Shift + DownArrow, чтобы выделить текст, затем Ctrl-C и Ctrl-V, чтобы скопировать и вставить, так как я решил, что это то же самое, что и вы. Они все работали на меня.
Джим Пэрис
Хм. Странный. Я был в терминальной версии, которую я получил с помощью sudo apt-get install fte-terminal. Я попробую еще раз, когда у меня будет несколько минут.
Грег Вудс
1
Тоже самое. Возможно, это зависит от используемого эмулятора терминала; мой xterm.
Джим Пэрис
это имеет смысл, потому что Диаконос тоже не работал должным образом. Мне придется просмотреть варианты, доступные в PuTTY
Грег Вудс
7

Короче говоря: использование nano

Вы можете легко настроить nanoв соответствии с вашими требованиями, особенно в отношении желаемых сочетаний клавиш. Для этого взгляните на bindпараметр, который вы можете установить в своем локальном ~/.nanorcфайле. Конечно, вы также можете скачать готовые файлы конфигурации (см. Ниже).

Вы можете связать комбинации клавиш, смоделированные Ctrl+с предыдущим ^и Alt+с M-(«Meta»). К сожалению, кажется, что нет способа связать комбинации, содержащие Shiftключ. В по nano умолчанию , чтобы пропустить wordwise являются Ctrl+Spaceи Meta+Space. И как будто этого было недостаточно, вы не можете связать клавиши со стрелками . Но, возможно, вы можете жить с этими недостатками.

Потому что взгляните на яркую сторону: на самом деле, на github есть пакет , в основном содержащий улучшенную подсветку синтаксиса, но также включающий почти все нужные комбинации клавиш . Установите его, позвонив , но помните, что ваш текущий будет перезаписан во время процесса.make~/.nanorc

Я думаю, вы должны попробовать, даже если этот Shift+Arrowвыбор кажется одним из ваших самых высоких приоритетов. В nano, вы бы использовали Ctrl+Aдля запуска режима выбора, так что вам даже не нужно постоянно Shiftнажимать! И вы всегда можете использовать Ctrl+Shift+Xярлыки и т. Д., Которые предоставляет ваш терминал. Как вы могли заметить, я вполне доволен nano, возможно, отчасти из-за того, что я бывший пользователь Windows.


Редактировать: Вот скриншот, показывающий некоторые соответствующие привязки клавиш в нижней панели справки.

Нано-редактор с пакетом настроек github.com/craigbarnes/nanorc

Дж. Кацвинкель
источник
5

Cream - это конфигурация vim, которая немодальна и использует все сочетания клавиш, такие как Ctrl + X, Ctrl + V, которые вы можете ожидать.

В отличие от Vim, он не чужд людям, привыкшим к приложениям с графическим интерфейсом Windows, таким как Блокнот. Если вы можете использовать Блокнот, вы можете использовать крем.

  • Может использоваться для редактирования файла конфигурации
  • Текстовый, а также графический интерфейс
  • Доступен для Raspian вкус Debian
  • Для пользователя Windows / Mac GUI обучение не требуется
  • В полной мере использует клавиши, найденные на современных клавиатурах, например home, end, pgup, pgdn, del
  • Используйте сочетания клавиш, которые можно найти практически во всех приложениях с графическим интерфейсом, например, «Отменить» (Ctrl-Z), «Вернуть» (Shift-Ctrl-Z), «Выбрать все» (Ctrl-A), «Вырезать» (Ctrl-X), «Копировать» (Ctrl-C), Вставить (Ctrl-V), Расширить выделение (Shift-Arrow), Пропустить слово (Ctrl-Arrow), Удалить выделенное (Del) и т. Д.
  • Поддержка мыши для изменения положения курсора и выбора текста
RedGrittyBrick
источник
Мне потребовалось некоторое время, чтобы найти его, cream -vперевести вас в текстовый режим, и F12 выдает вам меню.
PJ Brunet
4

Emacs поставляется с режимом привязки CUA . Добавьте строку

(cua-mode 1)

к вашему ~/.emacs.

Joe - редактор текстового режима от маленького до среднего с настраиваемыми сочетаниями клавиш. Существует набор привязок CUA (я думаю, что они не входят в стандартный дистрибутив, поэтому установите их в своем домашнем каталоге).

Жиль "ТАК - перестань быть злым"
источник
3
Вау, есть название для того, что я ищу "Общий доступ пользователя" en.wikipedia.org/wiki/IBM_Common_User_Access Спасибо за это!
Грег Вудс
3

Diakonos также соответствует большинству требований:

Разочарованы этими другими консольными редакторами? Вы уже знаете, какие клавиши нажимать в приложениях с графическим интерфейсом для открытия, сохранения, копирования, вырезания, вставки и отмены. Почему ваш консольный текстовый редактор должен вести себя по-другому? Ответ: не должно.

Добро пожаловать в Diakonos, консольный текстовый редактор с отображением клавиш, которое вы уже практически знаете. Простой в использовании и простой в настройке, но мощный в руках опытных пользователей.

Пакет Debian существует, у меня нет информации об этом запрошенном аромате.

manatwork
источник
Спасибо за предложение. Я мог бы попасть в Распиан. Все еще не могу сместить-выбрать и другие функции. Но, как предположил @ jim-paris, это, скорее всего, проблема с эмулятором терминала.
Грег Вудс
2

Посмотрите на редактор Sanos:

http://www.jbox.dk/sanos/editor.htm

Только 28-килобайтный двоичный файл может сделать то, что все остальные редакторы пытаются - и терпят неудачу.

Он делает именно то, что попросил ОП:

Shift + стрелки для выделения текста

Ctrl-X, C, V для вырезания / копирования / вставки

У вас также может быть несколько открытых файлов одновременно и команды "pipe". Например, нажмите Ctrl-P и по запросу введите:

кот твой файл

и он вставит ваш файл в позицию курсора. Таким образом, в вашем распоряжении вся мощь команд bash (используйте grep, чтобы вставить только определенные части файла).

ernobe
источник
1

Ответ: котенок + тильда (KiTTY - это вилка PuTTY версии 0.66), ребята! Вся моя жизнь была ложью: D

http://www.9bis.net/kitty/?page=Download

Исправлена ​​ошибка с клавишами shift + стрелка, поставляемая с putty (также клавиши shift + стрелка не работали в других клиентах ssh)

Биологическая опасность
источник
Кажется, по крайней мере, часть проблемы исходит от терминала, поэтому я с нетерпением жду возможности попробовать это.
Грег Вудс,
1

Следующее было протестировано с использованием nano из терминала в MS-Windows.
Это сделает ваш nano на один шаг ближе, поддерживая «универсальные» ярлыки для копирования / вырезания / вставки и т. Д. (По крайней мере, в мире Windows).
Добавьте эти строки в файл/etc/nanorc

bind ^c copytext main
bind ^x cut main
bind ^v uncut main
bind ^z undo main
bind ^y redo main
bind ^f whereis main
bind F3 findnext main
bind ^h replace main

Имейте в виду, что они работают на всю строку, если вы сначала не выделите текст: - /

Если у вас есть проблемы с выбором текста в nano с, shift+arrow-keysто имейте в виду, что это не связано с nano, а с вашей терминальной программой! Он не работает в PuTTY, но, например, работает в Kitty (форк PuTTY, версия для Windows / версия для Linux ) или SSH-клиент Google для Chrome.

(Я использую Debian Buster)

MrCalvin
источник
0

Ле это другое решение. Это похоже на Norton Commander (известность Midnight Commander), но, возможно, более интуитивно понятно.

В MC вы нажимаете F3, чтобы начать и завершить выбор региона, затем используйте F5 или F6, чтобы скопировать или переместить его. На ле F5 начинается выбор, и если вы двигаетесь вперед, F6 завершит его. Если вы двигаетесь вперед после предыдущего выбора, F6 добавит все к нему, или если вы вернетесь назад и нажмете F5, все до него будет добавлено. Таким образом, вы можете использовать F5 или F6, как если бы это было F3 в MC. Если вы нажмете F5, вернетесь назад и нажмете еще раз, он выберет этот регион. Если вы нажмете F6 и двинетесь вперед и нажмете еще раз, он выберет этот регион.

Для установки используйте:

apt-get install le

или загрузите исходный код и соберите его (я тестировал его на sid Debian):

http://lav.yar.ru/download/le/le-1.14.9.tar.gz

Вот пакет Debian: http://packages.debian.org/sid/le

ernobe
источник
0

Я пробовал Nano, Joe, Pico и т. Д. Хотя они проще, чем Emacs или Vi [m], все они имеют странные, своеобразные пользовательские интерфейсы, в отличие от любой другой программы с 1980-х годов.

Но есть современные, CUA-совместимых редакторов для Linux вне там!

Кто-то рекомендовал FTE. Он долго не поддерживается, но есть текущая ветка под названием eFTE: http://sourceforge.net/projects/efte/

Это очень хорошо; например, он может перехватывать клавишу Alt для доступа к меню даже при работе в окне эмулятора терминала X.

Есть еще один, который мне тоже нравится, называется Tilde, который в настоящее время поддерживается и имеет последние доступные пакеты. http://os.ghalkes.nl/tilde/

Лиам Провен
источник
1
Редактор тильды должен быть правильным ответом. Этот редактор действительно хорош!
0

Недавно наткнулся на MinEd [ http://towo.net/mined/]

# Option "emul": emulation mode, especially control key function mapping; 
# takes a single-letter value: 
# e: emacs mode 
# s: WordStar mode 
# w: Windows keyboard mode 
# W: Windows behaviour (-w, CRLF for new files, cmd.exe with ESC !) 
# p: pico mode 
# m: mined default 
#emul m
go2null
источник
По-видимому, он находится в тестировании Debian и имеет поддержку мыши, но я еще не пробовал.
PJ Brunet
0

Fiflo - это минималистичное решение. Поддерживаемые сочетания клавиш: Ctrl+Arrows Ctrl+Backslash Ctrl+D Ctrl+O Ctrl+Q Ctrl+O Ctrl+F1-F4.

Я использую это, потому что у меня нет времени, чтобы открыть etc/nanorc.

Шимон Талачна
источник
0

mcedit - лучший. по крайней мере, отправляет вас в 90-е годы с пользовательским интерфейсом. нет стрелок SHIFT, как во всех упомянутых редакторах, но очень интерфейс Norton Commander, клавиши Fx, CtrlO, чтобы увидеть оболочку. Запоминает позицию при возвращении, распознает подсветку даже для маловероятных файлов (без расширения). Более интеллектуальный, близкий к альтернативам Windows, и далек от альтернатив Unix (лучше).

user533385
источник