Текстовий редактор консолі з комбінацією клавіш на клавіші Windows (ctrl-z, x, c, v)


31

Гаразд, я розумію, що я ризикую релігійною війною, задаючи питання про текстові редактори, але ось що.

Вимоги

  • В основному використовується для редагування файлів конфігурацій
  • На основі тексту не графічний інтерфейс
  • Доступний для розпіянського аромату Debian
  • Не потрібне навчання користувачеві GUI для Windows / Mac (без vi / vim)
  • Повноцінно використовує клавіші, знайдені на сучасних клавіатурах, тобто home, end, pgup, pgdn, del
  • Використовуйте комбінації клавіш, які знаходяться у всіх програмах GUI, наприклад, скасувати ( 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), у мене вже є навчання, необхідне для використання сучасного текстового редактора з використанням лише клавіатури. Я б хотів використати той самий досвід у інструменті Linux CLI.
Грег Вудс

3
Швидкі клавіші, які ви очікуєте, - це модифікація корпорації Майкрософт щодо керівництва IBM CUA . Ні модифікація КУА, ні МС не є традиційними у світі Unix.
Жил "ТАК - перестань бути злим"

4
@Gilles Я не зовсім впевнений, що згоден з тим, щоб називати ці ярлики "Windows". Кожна загальна програма GUI, яка редагує текст, використовує ці ярлики на всіх основних платформах. Багато з цих ярликів також передують Windows.
jw013

Відповіді:


13

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

Найкращий в цілому - тильда. Справді зроблено для того, щоб відповісти на оригінальне запитання, поставлене Грегом Вудсом. Його слід додати до всіх стандартних сховищ Linux.

Як давно користувач нано, який знайшов тут пошук чогось не менш простого з справжнім буфером відміни / повтору та стандартними прив’язками редактора GUI, я щиро рекомендую редактор Sanos. Він крихітний і робить саме те, що вимагає оригінальний запит. Єдиним його дефектом є відсутність підтримки миші для розміщення курсору. Це мій новий улюблений мінімальний редактор, і нано йде на смітник. Вам потрібно скомпілювати його, але це тривіальна програма для компіляції - єдиний вихідний файл мови C. Я скомпілював це для "здорового" для "редактора sanos" (sanos - це насправді міні-ос).

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

Два, які я рекомендую, і fte - єдині, які заповнюють рахунок, а fte занадто химерний у xterm.


Я компілював sanos, але shift + клавіші зі стрілками не працює, також працює робота з перезаписом літер, я використовую шпаклівку для ssh
BioHazard

Це найкраща відповідь імхо. Я спробував і те, і Shift + Стрілки для вибору та Ctrl + C Ctrl + V і т.д. працює в обох. Мені довелося вимкнути конфліктні комбінації клавіш у емуляторі терміналів, хоча, як Shift + Up для прокрутки назад на одну лінію.
SoleSoul

Цікавим є те, що редактор Sanos має лише ~ 2000 рядків коду, має Control-Z скасувати, shift-select, добре обробляє вкладки. Здається, у функції unindent () є помилка. Я думаю, це було б чудовою відправною точкою для створення більш потужного редактора.
PJ Brunet

Боже мій. Дякую тобі за це. спробував тильду протягом 20 секунд і сказав: "так, це я хочу!" ура!
Пол Ерленмайер

11

Спробуйте Micro.

https://github.com/zyedidia/micro

Micro - це текстовий редактор на базі терміналів, який має на меті бути простим у використанні та інтуїтивно зрозумілим, а також користуватися всіма можливостями сучасних терміналів. Він поставляється як один, статичний бінарний комплект, що не містить залежності, і ви можете завантажити його та використовувати прямо зараз.

Як видно з назви, мікромобіль має на меті бути деяким спадкоємцем наноредактора шляхом простого встановлення та використання в крайньому випадку, але мікро також має на меті бути приємним використовувати повний робочий день, будь то робота в терміналі, тому що ви віддаєте перевагу (як я) або тому, що вам потрібно (понад ssh).

Знімки екрана та кольорові схеми

Це просто ідеально. Вибір стрілок Shift працює чудово. Control-C (вирізати), Control-V (вставити), Control-Z (скасувати), Control-S (зберегти), все працює як очікувалося. Він також ідеально відступає та скасовує вибір.

Вам потрібен емулятор терміналу, який належним чином підтримує клавішу shift. Термінатор чудово працює поза коробкою. Деякі термінали на базі ОС Android не підтримують вибір зсуву, але JuiceSSH (найпопулярніший в Google Play) працює, хоча я ще не пройшов тестування.


2
І відмінна підтримка миші, і прекрасне підкреслення синтаксису.
PJ Brunet

Це, мабуть, самий «сучасний», про що свідчить кольорова схема за замовчуванням та вибір підтримуваних мов. Однак зв'язки клавіатур істотно відрізняються від чогось на зразок Sublime, це PIA, щоб змінити їх, і багато комбінацій клавіш просто не підтримуються.
Олександр Дубінський

9

joeє, IMO, найкращий з редакторів, які не є vi. Це гідний повнофункціональний редактор сам по собі, а не збитий безфункціональний мінімальний редактор, як nano.

Якщо виклик як jstarабо joe, за замовчуванням прив'язки клавіш є WordStar- подібними, які також використовувалися в багатьох інших програмах протягом багатьох років, включаючи редактор ID ID Borland Turbo Pascal & Turbo C, тому вони повинні бути знайомі багатьом користувачам. Якщо їх викликають як jmacприв'язки ключів, - emacsподібні. Прив’язки клавіш налаштовуються, і якщо ви не можете знайти конфігурацію, яка саме вам підходить, ви можете додати її самостійно або скопіювати та змінити існуючу.

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

Ось опис у пакунку debian:

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

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

Завдяки простим файлам конфігурації стилю QEdit, Джо може бути налаштований на емуляцію редакторів, таких як Pico та Emacs, разом із повною імітацією WordStar та версією з обмеженим режимом (дозволяє редагувати лише ті файли, які вказані в командному рядку). Joe також має відкладене оновлення екрана для обробки typehahead, і це гарантує, що відстрочка не обходить сторонніми буферизаціями. Його можна використовувати навіть при 2400 бодах, і він буде працювати на будь-якому розумному терміналі.

Це, AFAIK, упакований для всіх дистрибутивів, а джерело доступне на веб-сайті http://joe-editor.sourceforge.net/ - дебіанізоване джерело має компілюватись на Raspian, якщо ще немає бінарного пакету.


1
Дякуємо за пропозицію. Можливо, комусь це стане в нагоді, але мені ніколи не подобалися ярлики у стилі Wordstar. Я можу переглянути, коли мені потрібен редактор, багатий на функції.
Грег Вудс

11
-1: Клавіші Джо на клавіатурі здаються такими ж «неортодоксальними», як і vim's або nano. Наприклад, CTRL + A не "вибирає всіх", CTL + F не "знаходить".
Гаррет

Я використовую Джо з 1994 року, і не думаю, що це найкраща відповідь на питання, хоча Джо порівняно легко з Vim. Я помітив, що Джо відсутній у деяких дистрибутивах, але ви можете легко отримати "Jupp" (на основі Джо) з yum або apt-get. Jupp має SHIFT-вибір. Вирізати та вставити трохи дивно з Jupp, але це легко навчитися, Control-J для допомоги.
PJ Brunet

3
Вибачте, але чи справді це відповідає на питання? joeтак само важко вийти з, як vimі гарячі клавіші Windows не працюють.
мафу

На цю відповідь мене повернув адвокат. Як підкреслив Гілль у своїй відповіді , існують цілісні зв'язки КУА joe.
cas

7

Спробуйте редактор тексту FTE . Є кілька версій; той, який ви хочете, мабуть, sfteє в fte-terminalпакеті Debian .

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


Приємна пропозиція, але лише спроба Shift + DownArrow для вибору тексту призвела до завантаження екрана повідомлення FIXME. Ярлики прямі з вісімдесятих ... Ctrl-Ins для копіювання? Alt-Backspace для скасування? Деякі з варіантів є чистим linux geek: "Копіювати - додавати"? Мені не потрібно було читати посібник для команди Копіювати! З плюсу мені сподобався браузер каталогів при запуску.
Грег Вудс

1
Дивно. Перше, що я спробував, це Shift + DownArrow для вибору тексту, а потім Ctrl-C та Ctrl-V для копіювання та вставки, оскільки я зрозумів, що це теж ви спробуєте. Всі вони працювали на мене.
Jim Paris

Хм. Незвичайно. Я був у термінальній версії, яку я отримав з sudo apt-get install fte-terminal. Я ще раз поїду, коли у мене є кілька хвилин.
Грег Вудс

1
Те ж саме. Можливо, це залежить від використовуваного термінального емулятора; моя - xterm.
Джим Парис

це має сенс, бо і Діаконос не працював належним чином. Мені доведеться переглянути варіанти, доступні в PuTTY
Грег Вудс

7

Довга коротка історія: Використовуйте nano

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

Ви можете зв'язати комбінації клавіш, змодельованих за Ctrl+допомогою попереднього ^та за Alt+допомогою M-("Meta"). На жаль, схоже, немає способу прив’язати комбінації, що містять Shiftключ. Значення nano за замовчуванням для пропуску слів є Ctrl+Spaceі Meta+Space. І як ніби цього було недостатньо, ви також не можете прив’язувати клавіші зі стрілками . Але, можливо, ви зможете жити з цими недоліками.

Тому що погляньте на яскраву сторону: Насправді, на github є пакет , що містить, в основному, покращене підсвічування синтаксису, але також постачається майже з усіма бажаними клавіатурними вкладками . Встановіть його, зателефонувавши , але пам’ятайте, що ваш струм буде перезаписаний під час процесу.make~/.nanorc

Я думаю, ви повинні спробувати, хоча цей Shift+Arrowвибір, як видається, є одним з найвищих пріоритетів. В nano, ви б використовували Ctrl+Aдля того, щоб ініціювати режим вибору, тому вам навіть не доведеться весь час Shiftнатискати вниз! І ви завжди можете використовувати Ctrl+Shift+Xярлики тощо, які надає ваш термінал. Як ви могли визнати, я цілком задоволений nano, можливо, частково через те, що був колишнім користувачем Windows.


Редагувати: Ось скріншот, на якому показано деякі відповідні прив'язки клавіш на нижній панелі довідки.

Редактор Nano оснащений пакетом налаштувань github.com/craigbarnes/nanorc


5

Cream - це конфігурація vim, яка не працює і в якій використовуються всі комбінації клавіш, такі як Ctrl + X, Ctrl + V, які, можливо, очікуються.

На відміну від Vim, він не чужий людям, які звикли до програм GUI Windows, таких як Блокнот. Якщо ви можете використовувати Блокнот, ви можете використовувати крем.

  • Можна використовувати для редагування файлів конфігурації
  • Текстовий та графічний інтерфейс
  • Доступний для розпіянського аромату Debian
  • Не потрібне навчання користувачеві GUI для Windows / Mac
  • Повноцінно використовує клавіші, знайдені на сучасних клавіатурах, тобто home, end, pgup, pgdn, del
  • Використовуйте комбінації клавіш, які знаходяться у всіх програмах GUI, наприклад, скасувати (Ctrl-Z), повторно (Shift-Ctrl-Z), вибрати всі (Ctrl-A), вирізати (Ctrl-X), скопіювати (Ctrl-C), Вставити (Ctrl-V), Розгорнути вибір (Shift-стрілка), Пропустити слово (Ctrl-Стрілка), Видалити виділення (Del) тощо
  • Підтримка миші для зміни положення курсору та вибору тексту

Зайняв мене деякий час, щоб знайти його, cream -vпереведе вас у текстовий режим, і F12 отримує меню.
PJ Brunet

4

Emacs оснащений режимом прив’язки CUA . Додайте рядок

(cua-mode 1)

до свого ~/.emacs.

Джо - це редактор текстового режиму з невеликим та середнім рівнем із налаштованими вкладками клавіш. Існує набір прив’язок CUA (я думаю, що не у стандартній дистрибуції, тому встановіть їх у домашній каталог).


3
Нічого собі, є назва того, що я шукаю "Загальний доступ користувачів" en.wikipedia.org/wiki/IBM_Common_User_Access Дякую за це!
Грег Вудс

3

Діаконос також відповідає більшості вимог:

Розчаровані тими іншими редакторами консолей? Ви вже знаєте, які клавіші натискати у ваших програмах GUI, щоб відкрити, зберегти, скопіювати, вирізати, вставити та скасувати. Чому ваш редактор тексту консолі повинен вести себе по-різному? Відповідь: не повинно.

Ласкаво просимо до Diakonos, консольному текстовому редакторі з ключовим відображенням, яке ви практично вже знаєте. Простий у користуванні та простий у налаштуванні, але потужний у руках енергоспоживачів.

Пакет Debian існує, я не маю інформації про цей запитуваний аромат.


Дякую за пропозицію. Я міг вдало потрапити в Распіан. Ще не вдається змінити функції та інші функції. Але як запропонував @ jim-paris, це, ймовірно, проблема емулятора терміналу.
Грег Вудс

2

Погляньте на редактора Sanos:

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

Тільки двійковий файл з 28 кілограмів може робити те, що намагаються всі інші редактори - і не вдається.

Це робить саме те, про що вимагала ОП:

Shift + стрілки, щоб виділити текст

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

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

кіт вашефайл

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


1

Відповідь kitty + tilde (KiTTY - це виделка від версії 0.66 PuTTY) хлопці! Все моє життя була брехнею: D

http://www.9bis.net/kitty/?page=Завантажити

У ньому встановлена ​​помилка shift + клавіша зі стрілками, яка доставляється із шпаклівкою (також shift + клавіші зі стрілками не працювали в інших клієнтах ssh)


Здається, щонайменше частина проблеми виникає з терміналу, тому я з нетерпінням чекаю спробувати це.
Грег Вудс

1

Далі було протестовано нано з терміналу в MS-Windows.
Це наблизить ваш нано на крок, підтримуючи "універсальні" ярлики для копіювання / вирізання / вставки тощо (принаймні, у світі 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

Будьте в курсі, що вони працюють на весь рядок, якщо ви не вибрали текст спочатку: - /

Якщо у вас є питання , підбираючи текст в нано з shift+arrow-keysпотім знайте , що це , здається, не бути пов'язане з нано , але термінальної програми! Він не працює в PuTTY, але він працює, наприклад, у Kitty (роздріб PuTTY, Windows-версія / Linux-версія ) або клієнта SSH Google для Chrome.

(Я використовую Debian buster)


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


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

Мабуть, він знаходиться в тестуванні 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 (краще).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.