LINUX.ORG.RU

Текстовое IDE?

 , , ,


5

3

Привет!

Какой текстовый редактор (vi(m)/emacs/etc.) выбрать для программирования на Питоне? Используемый мной Geany перешел на gtk3 и стал тормозить. Что мне нужно:

  1. Подсветка синтаксиса
  2. Поддержка вкладок и легкая навигация по ним
  3. Возможность запуска программы без выхода из редактора
  4. Подсказка по мере ввода для имен методов классов. Geany не всегда корректно угадывает.
  5. Автоотступы для новой строки. Автозамена Tab на 4 пробела.
  6. Поиск по всем открытым файлам
  7. Относительно высокая скорость работы
  8. Желательно: задание произвольной правой границы (например, в 72 символа)
  9. Я не знаю, как это делается в текстовых IDE, но желательно иметь возможность быстрой навигации по именам классов, методов и пр.
  10. Плюсом будет подсветка лишних скобок
  11. Плюсом будет автоопределение кодировки для обычных txt
Deleted

Ну, например, у меня ide это notion + vim (без плагинов)

    1. Есть средствами vim.
    1. Есть средствами wm.
    1. Есть, сколько хочешь в отдельных окнах и табах.
    1. Есть средствами vim.
    1. grep -R в отдельном окне.
    1. Есть, причём хоть на древнем asus eee, хоть на одноплатнике, хоть на vps.
    1. Настаивается в vim, либо можно не заморачиваться и форматировать код black’ом.
    1. Просто пары скобок vim подсвечивает, лишние не пробовал.
    1. А что, где-то ещё остались другие кодировки? Так-то vim вроде умеет.
  • 4, 9. Никогда не испытывал необходимости.

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

Еще в Emacs есть cua-mode, делает управление как в Geany, блокнотах итд. Не нужно переучиваться.

Но вообще эти все текстовые редакторы из 60х такой дикий сэхс, лучше рассмотри нормальные альтернативы сначала...

Deleted ()
  1. Есть разные варианты как в emacs, так и в vim
  2. В vim – боль, которую можно ослабить с помощью ctrlP. В emacs даже из коробки удобнее, с помощью helm так вообще огонь.
  3. В vim недавно подвезли терминал, а вообще можно запустить любую ерунду с помощью «!». В emacs тоже есть эмуляторы терминала, а если плагины поставить, там, вроде, даже шоткат для запуска есть.
  4. Везде только с плагинами.
  5. Вроде бы везде есть.
  6. Не знаю есть ли такое в vim, в emacs есть multi-occure.
  7. В vim, вроде, можно как ораничить, так и подсвечивать. В emacs с этим хуже, но для подсветки есть варианты.
  8. LSP.

Туториал по emacs

В интернете можно найти разные руководства как нафаршировать emacs кучей плагинов для того чтобы приблизить его к ide. Но мне кажется, что большинство фич есть в LSP.

andalevor ★★ ()

В длинном списке требований забыто главное - наличие отладчика. Сам вопрос лишён смысла ввиду очевидности ответа: что хотите, то и используйте.

А, вы хотите, чтоб не тормозило? Вот и испытывайте что хотите. Я не представляю, какой хлам вместо компьютера надо иметь, чтобы GTK3 тормозило.

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

не знаю, что такое helm. Какая-то вещь в себе.

Забавно. У автора туториала по emacs есть аналогичный и по helm, который он озаглавил: A Package in a league of its own: Helm.

Очень удобная штука, но, конечно, нет никакой необходимости берясь за emacs обвешиваться десятками плагинов. Более того, мне кажется, что это наоборот может отпугнуть новичка. Я когда изучал emacs начинал без плагинов, потом смотрел чего мне не хватает и потихоньку добавлял.

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

Ну этот elpy сначала надо поставить, скорее всего возникнут траблы которые надо будет решать. Каждая мелочь это поиск пакета, заучивание команд и прочее, ну например: filetree, linenumbers, codefolding, etc, etc, etc.

Deleted ()

qtcreator, емнип, теперь поддерживает работу с проектами на python.

для codeblocks есть плагин, но его отдельно нужно собирать как его же проект.

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

Хз, мне хватает dired и linum. Фолдингом не пользуюсь. Ничего не заучиваю особо. Раз сделал, второй раз помню имя функции, на третий-пятый помню биндинг, если надо помнить.

Вообще, если мне нужна базовая фунция, я пытаюсь вспомнить/найти её имя с C-h f или M-x, если не прокатило - ищу вовне.

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

Траблов при установке elpy не имелось.

anonymous ()

Подсветка синтаксиса

VIM

Поддержка вкладок и легкая навигация по ним

Есть вкладки, но лучше использовать буфера и навигатор по ним (fzf, ctrlp, etc.)

Возможность запуска программы без выхода из редактора

VIM

Подсказка по мере ввода для имен методов классов. Geany не всегда корректно угадывает.

С питоном не знаком, но с C и C++ отлично справляется YouCompleteMe. Возможно, что-то подобное есть и для питона.

Автоотступы для новой строки. Автозамена Tab на 4 пробела.

VIM

Поиск по всем открытым файлам

VIM

Относительно высокая скорость работы

Относительно чего? Но все равно VIM

Желательно: задание произвольной правой границы (например, в 72 символа)

В VIM можно задать сколько угодно границ.

Я не знаю, как это делается в текстовых IDE, но желательно иметь возможность быстрой навигации по именам классов, методов и пр.

Есть соответствующие плагины для VIM, но я пользуюсь стандартной возможностью самого VIM.

Плюсом будет подсветка лишних скобок

Что за лишние скобки и зачем их подсвечивать?

Плюсом будет автоопределение кодировки для обычных txt

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

andreyu ★★★★★ ()

Текстовая IDE - оксюморон. Когда я сменил vim на pycharm, то понял, что tools действительно matter, т.к. стал думать о коде, как только пальцы отвязались от ':', Shift и Esc.

seiken ★★★★★ ()

Настоятельно рекомендую обратиться к данной статье.

Дополнительно можно посмотреть список полезных пакетов для python и для разработки в целом в Awesome Emacs list.

А если лень заморачиваться с елиспом и конфигом, можно попробовать поискать готовый здесь: https://github.com/caisah/emacs.dz

raven_cler ★★ ()

Завтра устанавливаешь neovim и скачиваешь книжку practical vim. Похуй если ничего не поймешь. Затем вводишь в виме :help и изучаешь документацию от корки до корки. Потом зубришь, именно, сука, вызубриваешь https://vim.fandom.com/wiki/Vim_Tips_Wiki, чтобы от зубов отскакивало. Когда первый раз сможешь выйти из вима самостоятельно, то захоидшь на гитхаб и изучаешь все плагины для вима и неовима, рекомендую ознакомится с fzf, coc.nvim, fugitive. Как освоишь слепой метод набора и все комманды используемых плагинов - тебя ждет эйфория и мир истинного наслаждения от набора текста. Ставишь во всех программах вим управление, ставишь в браузер плагин, пишешь в виме сайт с документацией о том, как создать сайт о виме в виме, потом пишешь свою ось и запускаешь вим там. Отсос хиккующих емаксеров / просто неудачников типа саблаймеров или вскодников, которые сосут по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

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

Совет того, кто не пользуется spacemacs'ом. Если у него джини лагает, то это блоатед поделие просто взорвет его компьютер и будет лагать при любом скролле.

Уж лучше тогда поставить doom-emacs.

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

Подтверждаю. Подумываю даже свалить на (neo)vim с него, так как абсолютным большинством фич Spacemacs уже давно перестал пользоваться. По большому счёту мне ничего, кроме подсветки кода и не нужно, разве что со всякими REPL'ами удобно работать в емаксе.

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

Что за лишние скобки и зачем их подсвечивать?

Можно случайно забыть про закрывающую скобку или, наоборот, в процессе рефакторинга оставить лишнюю. В Geany лишние скобки подсвечиваются красным (если рядом курсор), совпадающие - синим. Удобно, сразу видишь конструкцию.

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

Хуже всего - gtk file chooser. Лаганутый и приходится постоянно жать Ctrl-L.

Причем тут emacs? Если ты используешь там гуйню, ты не правильно его готовишь. Причем, если лагает жтк, пили багу или дрочи мейнтейнера этого самого жтк.

Смотри dired или helm. Забудь про гуй.

Злой Владимир

anonymous ()