LINUX.ORG.RU

Зачем программистам редакторы для работы в терминале?

 , ,


0

1

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

Но зачем? То есть, как выглядит такой юзкейс?

Но зачем? То есть, как выглядит такой юзкейс?

Затем. А так, что сходить в гугл и набрать запрос «Linux текстовые редакторв» и «Linux консольные текстовые редакторы» и посмотреть хотя бы картинки и найти список с описанием и сравнением слишком сложно для тебя?

Или тебе нужно набить звёздочки на форуме?

anonymous ()

Но зачем? То есть, как выглядит такой юзкейс?

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

P.S. Освоил vi когда был эникеем у локального провайдера, это был единственные редактор который гарантированно присутствовал во всем «зоопарке» серверов.

Aber ()
Последнее исправление: Aber (всего исправлений: 2)
Ответ на: комментарий от Aber

Все начинается с того, что однажды возникает ситуация когда нужно подключится к удаленному серверу и отредактировать конфиг, а потом уже втягиваешься. P.S. Освоил vi

Есть ведь не только Vi/Vim. Кто-то Nano использует. Его используют для того же самого, т.е. для редактирования на удаленной машине?

myLogin ()
Ответ на: комментарий от anonymous

Ок, я слышал, что для этого используют Vim. Но кроме Vim'а иногда можно услышать про использование других консольных редакторов, например Nano.

Они дают то же преимущество, т.е. возможность работы с удаленной машиной?

myLogin ()
Ответ на: комментарий от myLogin

Ты задаёшь глупые вопросы. Любая консольная программа может быть запущена как в консоли, так и по ssh. В том числе и консольный текстовый редактор может быть запущен по ssh.

Про какие преимущества ты говоришь непонятно.

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

vi/vim, nano, ed, mcedit, что-то ещё.

anonymous ()
Ответ на: комментарий от myLogin

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

Еще есть один кейс с vim, если ты любишь всякие экзотически и новые языки смотреть, то как минимум для vim всегда была подсветка синтаксиса в интернетах, в то время как другие ide даже и не знали что это за зверь такой редкий. Может сейчас ситуация меняется в пользую какого нибудь хайпового редактора, тут главное простота написания расширений и размеры сообщества.

Aber ()
Последнее исправление: Aber (всего исправлений: 1)

Нет никакой загадки и тайного смысла. Среди программистов есть много идиотов и психов. Например, в Германии один программист убил приятеля, сделал из него пельмени и съел (за что получил 5 лет тюрьмы). Вы что, будете спрашивать его, зачем он это сделал? Не зачем, а почему: потому что псих.

Partisan ()
Ответ на: комментарий от anonymous

То есть, главное преимущество консольных редакторов — это возможность редактирования файлов на удаленной машине?

У админов в этом потребность возникает очень часто, у программистов — хоть и реже, но тоже иногда.

Все верно понял?

myLogin ()

Лично я целиком переехал на разработку в терминале ради возможности иметь окружение для разработки почти с любого устройства, куда можно подключить клавиатуру и монитор. Ибо shell досутпен по ssh и mosh. А конпиляющий сервер стоит отдельно, не шумит, браузеры и почтовые клиенты не убивают его производительность.

Из недостатков - без инета нет работы, если ты в разных сетях с железкой. Т.е. точек отказа - больше. Не кросслатформенно(почти и пока, во первых sshd таки можно под винду в том же цигвине, во вторых они там в preview билдах уже из коробки ssh транспорт для powershell, wsl и cmd заводят).

pon4ik ★★★★★ ()
Последнее исправление: pon4ik (всего исправлений: 1)
Ответ на: комментарий от pon4ik

Аргументированно, спасибо.

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

myLogin ()
Последнее исправление: myLogin (всего исправлений: 2)
Ответ на: комментарий от myLogin

Как показала практика - дело привычки и методологии работы. В терминале я стал чаще полагаться на логи и тесты чем на отладчик, и чуть больше развлекаться со своим окружением, вот собственно и вся разница в основном. Ну может ещё Ш чуть более Г, ибо нет возможности сделать шрифты разных размеров.

pon4ik ★★★★★ ()
Ответ на: комментарий от myLogin

Типа того. А ещё бывает, что линукс на десктопе.

И трах-бабах после обновления что сломалось разломалось, графика не грузится, ну и надо лезть конфиги править из консоли.

fornlr ★★★★★ ()
Последнее исправление: fornlr (всего исправлений: 1)

Но зачем? То есть, как выглядит такой юзкейс?

Открыл терминал, сделал apt-get install npm && npm install foobar, cp mv что-то там туда-сюда, git magic. Зашёл по ssh на сервер и повторил то же самое. Весь рабочий процесс построен вокруг терминала и того, что по ssh можно удобно зайти на соседний сервер.

Вот чтобы оттуда лишний раз не вылазить.

anonymous ()

Чтобы быстро отредактировать файл находясь в терминале.

Есть ещё мамкины хакеры, которые превращают это в IDE с блевотно-кислотной зелёной расцветкой.

Anakros ★★★★ ()

IDE никогда под линукс не использовал, пишу на плюсах 10+ лет gcc + vim + gdb
никогда не понимал зачем нужна IDE, да еще и в линуксе
под виндой тоже IDE не пользуюсь

anonymous ()

То есть, как выглядит такой юзкейс?

Допустим, кто-то глупый, в emacs не умеющий хочет что-то отредактировать на доступном по ssh сервере. Предлагаете ставить туда иксы c idea/netbeans/whatever чтобы конфиг какой-нибудь поправить?

ugoday ★★★★★ ()

В 2018 это просто вопрос предпочтений.

Есть люди которых просто прёт работа в терминале и их можно понять.
Большая часть приложений из гнутого стека и вимы-емаксы можно настраивать на работу друг с другом в самых причудливых конфигурациях.
Совершенно отпадает необходимость в мыши/тачпедике.

Или например ты хочешь пользоваться платным редактором, но у тебя нет денег платить, а воровать ты не можешь или не знаешь как — а вим он тут рядом и с плагинами умеет порой даже чуть больше, не лучше, но как замена сойдёт.

Редактирование на сервере не так уж и релевантно уже — конфиг можно выкачать-поправить-залить.

Exmor_RS ★★ ()

Потому что это быстро. Я вообще сидя в VS Code часто использую cat/grep/less и vi во встроенном терминале. Таблетки, прописанные психотерапевтом, принимаю.

Thetan ()
Ответ на: комментарий от Exmor_RS

Редактирование на сервере не так уж и релевантно уже

Так этож долго, особенно когда нужно bash скип отредактировать, выкачил, поправил, залил, ошибка и так множество итераций. Вот если бы была в ide встроенная поддержка sftp, но я таких не знаю.

anonymous ()
Ответ на: комментарий от Partisan

Например, в Германии один программист убил приятеля, сделал из него пельмени и съел (за что получил 5 лет тюрьмы).

ну лютёйшее 4.2, же...

приятеля,

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

пельмени

не пельмени, он его пожарил.

съел

Жертва, к стати, тоже пожаренное мясцо жрала, пока могла, конечно. (Сам себя жрал, короч.)

5 лет тюрьмы)

пожизненно

А теперь он, кстати, вегетарианец.

nepank ★★★ ()

Но зачем?

Чтобы не переключать окна(или в более общем случае - менять контекст). Пока редакторы(*) не предоставляют удобного шела, любая работа, кроме непосредственно редактирования, происходит в терминале(ибо удобные шелы все там), и когда появляется желание что-то поправить, проще оставаться в том же окне.

(*) а когда они становятся емаксом, у многих пропадает желание редактировать в них текст, go to square 1. Похоже, человечество ещё не придумало «правильный» сплав шела/редактора/терминала, или большинство его не обнаружило.

DonkeyHot ★★★★★ ()
Последнее исправление: DonkeyHot (всего исправлений: 1)
Ответ на: комментарий от myLogin

Нет. Не так.

Что не так? Да всё не так.

Если брать тот же vim, то у него офигеннейшие возможности по скриптованию. Т.е., например, лично я сам пользуюсь syntastic со splint. Т.е., при записи отредактированного файла, будет проверена его корректность. Для С она может быть проверена либо clang, либо уже подзабытым в ширнармассах splint. Это secure programming lint. Число косяков уменьшается в разы.

Кроме того пользуюсь snippets. Т.е., например, есть повторяющиеся куски кода. Ну пусть будет тупенько чисто для иллюстрации int main(int argc, char **argv) и что-нибудь в самом теле функции. При наличии сниппета мне достаточно ввести main и нажать <tab> и я сразу получу всё, что должно быть из сниппета, который только по месту подтесать останется. Конечно же, в реале случаи более сложные и не только для С, так можно для любого языка. Snipmate в помощь.

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

Vim/gvim это на самом деле, вполне себе ide, но маскирующаяся под простой текстовый редактор. И да. Vim включён в IEEE standard 1003.2, Part 2: Shell and utilities. Т.е., это типа стандартный утиль.

anonymous ()

Но зачем?

Это удобно и рабочая среда всегда однородна на любой платформе.

То есть, как выглядит такой юзкейс?

1. Запускается эмулятор терминала.
2. cd to/project/to/work/on/
3. vim project/file
4. make android && make web && make whatever

andreyu ★★★★★ ()

как выглядит такой юзкейс?

как IDE в терминале, которое можно задеплоить на новый комп или в докер за 10 секунд, в т.ч. по ssh.

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

waker ★★★★★ ()

правка конфигов

все остальное от культа «успешного программиста» который должен знать и пользоваться вимом потому что диды etc. Взять любого начинающего с промытыми мозгами и его «план успеха» будет выглядеть так:

1) Выучить вим

2) Написать мегакрутую суперполезную программу

3) профит

Для кодинга ванильный вим это убожество. А обвешенный плагинами он становится медленнее электронщины, при худшей функциональности.

Им разве что еще на латексе писать или играться с маргинальными языками, а так - правка конфигов его единственная задача.

cuelebra ()
Ответ на: комментарий от myLogin

Можно и по sshfs подмонтировать. Но я обычно просто захожу по ssh и правлю в mcedit. Иной раз бывало, что в небольших проектиках в 25000 строк приходилось ряд правок делать. И тоже лень было ради мелочевки монтировать по sshfs (или заливать к себе, а потом обратно), все решал с mcedit.

anonymous ()