Який редактор можна використовувати як просту альтернативу vi / vim?


17

Я користувач Windows, який приходить до Bash Ubuntu завдяки WSL . Тепер мені потрібно відредагувати деякі файли, і я дуже ненавиджу Vi. Мені просто доведеться з цим розібратися, чи є простіша альтернатива?

Я шукаю функції:

  • На основі CLI
  • простий у використанні (введення та редагування має бути схожим на Блокнот)
  • можливостей простого редагування достатньо

Я спробую освоїти Vim, але мені потрібно зробити швидке редагування прямо зараз!


Це питання думки. Початківці використовують nano howtogeek.com/howto/42980/… . vim (vi вдосконалений) має трохи кривої навчання, але він дуже потужний - Дивіться linux.com/learn/vim-101-beginners-guide-vim або будь-які посібники vim або підручник vim, vimtutor (включений у vim)
Пантера

Зауважте, що це питання може бути закритим як цілком виходячи з думки. Ви можете переробити його так, щоб він відповідав правилам сайту (наприклад, що я можу використовувати як альтернативу vim?)
Андреа Лаццаротто

3
Голосування, щоб закрити це як запитання на основі думки. Слово поради: почніть з нано, а пізніше переходьте до vim з кроками дитини. Це окупиться в довгостроковій перспективі, оскільки vim є в основному на будь-якій системі Linux
Сергій Колодяжний

1
Як наступний мій коментар, поточний заголовок все ще дискусійний і може призвести до закриття. Люди можуть вважати себе vim "добрим", і це суб'єктивно. Чи можу я замість цього запропонувати слово "легше"? Також уточнення деяких бажаних функцій може допомогти звузити питання.
Андреа Лацаротто

2
@Jos ми говоримо про WSL, де можна запускати програми GUI, але це не банально. Крім того, питання не існує для редакторів GUI, оскільки всі вони легші, ніж vim.
Андреа Лацаротто

Відповіді:


24

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

Тепер, мабуть, відповідь на ваше запитання nano.

Якщо ви використовуєте якийсь сценарій автоматизованої збірки, використовуючи gitабо виконуючи інші команди, вони можуть відкриватися, vimне бажаючи цього. Ви можете запобігти цьому, виконавши наведене нижче, перш ніж продовжувати:

export EDITOR=nano

1
Спасибі! додатковий бал за EDITORпідказку
sebagomez

3
"В основному життя занадто коротке, щоб вивчити vi". Не потрібно витрачати все життя, хоча можна, якщо вони люблять вим. Я провів 2 години, переглядаючи хороший підручник на YouTube, і просто продовжував практикувати основи, які я дізнався з відео. Зараз 70% усіх моїх відповідей на Ask Ubuntu написано vim.
Сергій Колодяжний

7
Щодо "життя занадто коротке", я вважав, що цей нарис має хороший сенс. Однією з найбільших (штучних) блокпостів у навчанні Vim є помилкова передумова, що вам потрібно негайно зануритися, щоб стати користувачем "жорсткого ядра". Ви цього не робите. Використовуйте клавіші зі стрілками. Використовуйте ярлики GUI, щоб скопіювати / вставити. Повіть у режимі вставки Ігноруйте вкладки та регістри та дзвіночки (поки що). Порівняно швидко дістатися до нанорівневих функцій у Vim, і ви можете повільно додавати розширені функції пізніше, коли вони вам потрібні.
RM

Ярлики @RM GUI?
Андреа Лацаротто

1
@Sergiy vim має сенс, якщо ви хочете використовувати розширені функції. Якби я використовував vim, як я використовую nano, я б просто продовжував користуватися nano (фактично, я це роблю ... я використовую vim, коли я перебуваю на сервері, на якому я не можу додавати програмне забезпечення, наприклад, на машині клієнта).
Андреа Лацаротто

11

Це питання думки.

Початківці використовують нано .

vim ("vi вдосконалений") має трохи кривої навчання, але він дуже потужний. Дивіться цей посібник для початківців щодо vim або будь-яких інших посібників для vim або підручника для vim vimtutor(включений у vim).

Наразі настійно пропоную нано

nano -B /path/to/file/to/edit

-B робить резервну копію

Команди видаються за допомогою клавіші керування та вказані внизу вікна редактора.

Є посібник із підсвічування синтаксису, див.: Як увімкнути підсвічування синтаксису в нано?

нано

emacsє альтернативою для обох vimі nanoі має багато переваг , а також. emacsє складнішим, ніж нано. Ви можете побачити тур emac .

Тільки для повноти теми vim +, такі як Zenburn, можуть бути дуже корисними

Дзенбурн


2
Не тільки початківці, в основному всі люди, які не хочуть вступати у війни vim vs emacs. : P
Андреа Лацаротто

1
+1 Я б також пішов з nano, навіть коли користувачі довго виглядають як старе лайно
xavier_fakerat

Ну, щоб бути справедливим, ви можете надіслати тему vim та. vim та emacs мають розширені функції, які не доступні в нано, але це марно, якщо ви не використовуєте розширені функції. Для швидкого базового редагування я використовую nano, хоча в цілому я є фанатом Vim. kippura.org/zenburnpage
Пантера

1
Дізнайтеся vi/vim. :) Він є на кожному пристрої Nix. :) Основи не такі складні.
втікач

3
"emacs складніший за нано." : p це може бути заниження року.
Даніель Жур

3

як Windows poweruser, після спроби vimі nanoя з'ясував, що мені потрібно щось середнє, складність. тому я спробував ляпас, і це було те, що я шукав.

плескати зображення

slap - це текстовий редактор на базі терміна, що нагадує термін, який прагне полегшити редагування з терміналу.


установка:

curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh

1
Ви забули згадати головну точку продажу, підтримку миші першого класу (навіть через SSH-з'єднання)
blueray

2

Ви коли-небудь засмучувались, що ваш текстовий редактор не робив того, що хотіли? Злий, що не можеш згадати ...

  • ... як знайти допомогу?
  • ... що: wq означає?
  • ... будь-який маленький листочок, який ти читаєш як недоградок?

Малий, хоробрий світ чекає!

Хоча ми виступаємо за наші улюблені легкі текстові редактори, дозвольте мені порекомендувати eXcelle, крихітні та швидкі xo(exfrills) .

Це єдиний файл Python 3, і він має гарну підтримку підсвічування синтаксису через Pygments (хоча не ідеально підходить для не-Python):

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

Він також має надзвичайно прості та корисні комбінації клавіш, які можна легко та легко змінити до змісту вашого серця:

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

Інші особливості:

  • Менше 850 рядків коду в одному файлі!
  • Підсвічування синтаксису!
  • Регулярна відповідність і заміна виразів!
  • Кешування історії пошуку!
  • Ліцензія WTFPL!
  • Повністю настроюється!
  • Почніть з місць без походження!
  • Перескакуйте між словами на рядку!
  • Переходьте до будь-якого місця файлу!
  • Ціла вставка файлу!
  • Дружнє для початківців - можливо, ви не знайомі зі словами!
  • Скопіюйте та вставте текст!
  • Статус рядка та стовпця!
  • Лише один ряд простору без редагування тексту!
  • Збереження та завантаження!

Джерело Python3 знаходиться на github , і його можна легше встановити, використовуючи:

sudo apt install python3-pip
sudo pip3 install exofrills 

exofrills: ваш текст відредаговано ... але ви все ще голодні.

Відмова: Я жодним чином не пов’язаний з проектом екзофрилів.


1
Це виглядає дуже акуратно, +1 від мене. Хоча ця кількість знаків оклику викликає занепокоєння. : P
Андреа Лацаротто

0

Хоча я не можу заперечувати, що я занадто боровся з vi на початку, я думаю, що можна зробити аргумент, що vi насправді дуже просто вивчити. (Коли я почав використовувати Unix, вибір був або vi, або emacs, тому в той час я вибрав редактор, що був дуже простим редактором рядків, про який я вже навчився читати ранні підручники Unix.) Я використовую vi щодня, але, мабуть, використовувати лише дуже невеликий підмножина його особливостей.

Ось перший аргумент щодо використання vi: vi існує у всіх системах, використовує дуже мало ресурсів і може бути корисним для нестабільних та повільних з'єднань, де інші редактори можуть вийти з ладу або бути повільними та непридатними. Або в ситуаціях, коли система зламана, тому клавіші зі стрілками не інтерпретуються правильно (наприклад, неправильні параметри термінала). Таким чином, vi можна використовувати для виправлення файлів конфігурації, що призводять до проблеми, не впливаючи на проблему.

Ось як дізнатися корисну підмножину vi: По-перше: перестаньте думати про vi як про інтерактивний термінал-редактор графічного інтерфейсу (GUI) та розгляньте це як мову програмування для управління текстовими файлами. На початку "vi" виступав за VIsual режим, а vi має невізуальний аналог ex, який є хорошим місцем для початку. Введіть ex у запиті оболонки (я буду використовувати ¬, щоб представити повернення):

$ ex¬
Entering Ex mode.  Type "visual" to go to Normal mode.
:

Тепер натисніть Enter.

:¬
E749: empty buffer
:

Отже, давайте щось покладемо в це. Введіть "a" і введіть рядок тексту, а потім період на рядку сам по собі:

:a¬
Hello World¬
.¬
:

Це була команда додавання. Легкий, короткий і мнемічний. Але було б непогано подивитися, що є в буфері:

:%p¬
Hello World
:

Очевидно, це була команда друку. % - це стенограма. Кожній команді може передувати номер рядка або діапазон, до якого повинна застосовуватися команда. % означає "всі рядки". $ означає останній рядок, а крапка означає поточний рядок. Цифра означає цей конкретний рядок. Діапазон записується n, m і число можна додавати або віднімати, так що + 1, $ - 1 означає від наступного рядка до другого-останнього рядка. Команда, що складається з простого рядка, переходить до цього рядка. Ось залишився невеликий підмножина команд, які я використовую:

:1i¬
this text is inserted before line 1.¬
.¬
:

:w /tmp/filename¬
"/tmp/filename" [New] 2L, 49C written
:

w записує всі (або обраний діапазон) рядків у файл.

:1d¬

видаляє рядок 1.

:.s/Hello/Hello,/¬
Hello, World
:.s/$/!/¬
Hello, World!

s замінює регулярний вираз. Добре знати регулярні вирази!

:q¬
E37: No write since last change (add ! to override)

q кидає. wq пише і виходить. q! кидає без написання, і в подібному ключі, ш! примушує записувати у файл, якщо можливо.

Тепер класний:

:p
Hello, World!
:.!tr a-z A-Z
:p
HELLO, WORLD!

! як команда фільтрує рядки в команду оболонки.

І, нарешті:

:vi¬

переходить у режим ВІЗУАЛЬНОГО. Не обманюйте. Це схоже на редактор, але це все ще просто інтерактивна оболонка програмування. Вам просто доведеться весь час дивитися на буфер і ще кілька команд. У візуальному режимі a: відображає підказку: з колишнього режиму. Клавіші зі стрілками (якщо вони працюють) рухаються навколо, а якщо їх немає, то hjkl робити! h вліво, j вниз, k вгору і l вправо. 0 переміщується до першого символу, а ^ (подумайте тут, регулярний вираз!) До першого непробільного символу на рядку. $ (повторний вираз!) переміщується до кінця рядка. Введення тексту: 999¬ переходить до рядка 999, природно, як і в колишньому режимі.

"i" переходить у режим вставки, який тепер вставляється на символи замість ліній, і закінчується натисканням клавіші escape замість ".¬". "Я" вставляється на початку, "а" після символу під курсором, а "А" після закінчення поточного рядка. Завжди натискайте клавішу Escape, коли закінчите вводити текст. "x" видаляє символ під курсором, а "D" - видаляє курсор до кінця рядка. "Y" перетягує поточний рядок, а "P" вставляє його назад. ": pu" робить те саме, але йому може передувати номер рядка. ": ya" - це попередній еквівалент "Y", і знову корисно застосувати до діапазону рядків. Я думаю, що є і команда позначки, але я визнаю, що не пам’ятаю її. Я цього не сумую.

Наведене вище - це те, що я використовую, і я знаю, що я, мабуть, не дуже "ефективний" користувач VI. З іншого боку, я використовую універсальність ex, наприклад, для редагування файлів конфігурації. Потрібно змінити ім'я хоста foo.bar.com на www.foobar.com у кількох файлах конф?

for file in conf/*
do (echo "%s/foo.bar.com/www.foobar.com/" ; echo "wq") |ex $file ; done

Я намагаюся сказати, що я думаю, що проблема vi полягає в тому, що люди думають про це як про важкого редактора. Все, що потрібно, - це трохи змінити свій розум і розглянути його як дуже просту, але також дуже потужну інтерактивну мову програмування. Настільки потужний, що навіть маючи підмножину доступних команд, ви можете використовувати його з великим ефектом - не лише як редактор, а як загальний, прозаїчний інструмент, добре інтегрований з рештою Unix. Я сумніваюся, що Нано зробив би все це - emacs ... можливо.


3
Вибачте, але ... це не відповідає на питання. ОП попросила альтернативу vim, і відповіді повинні надати це.
Андреа Лацаротто

1
Я вітаю роботу, яку ви вклали у цю відповідь, але вона насправді не відповідає на запитання - навчальний посібник та плагін для vim тут взагалі не належить, але він належить до вашого блогу.
кіт

Ця відповідь саме тому так багато людей просять альтернативу viemacs - чим більше ми говоримо, що вони неприємні у використанні, тим більше перетворені наполягають на тому, що ми намагаємося більше їх використовувати.
Шукри Адамс

0

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

Однак якщо ви шукаєте модальний текстовий редактор, не дивіться далі на Какуне .

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