LINUX.ORG.RU

Собрал IDE для Python на базе Vim

 


5

6

Давно тут не было ничего интересного, все то дефолт, то очередной гном.

Сидел я тут недавно, ленился работать, прокрастинируя в код, и подумал - ну а че бы и нет? И собрал IDE для Python на базе Vim.

Оно умеет полноценный автокомплит для кода, дерево файлов (проекта) слева (скрываемое по хоткею), список переменных справа (также скрываемый по хоткею).

Насколько оно юзабельно в сравнении с тем же PyCharm? Не могу сказать, да и сравнить мне сложно, ибо во всех продуктах JetBrains у меня стоит плагин IdeaVim, привносящий туда привычные хоткеи из вима. Его я не настраивал - там все дефолтное.

OS - Fedora 34.

P.S. Всем, кто не осилил выйти из вима - :q!

>>> Просмотр (1366x768, 178 Kb)

★★★★★

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

Fedora 34

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

а тут ставим Fedora, ставим Gnome 3, все дела, и такие

-- оп пацаны смотрите как могу xterm -- vim хДДД

-- ну стасян ну ты странный конечно

Spoofing ★★★★★
()

Оно умеет полноценный автокомплит для кода, дерево файлов (проекта) слева (скрываемое по хоткею), список переменных справа (также скрываемый по хоткею).

Ты бы названия плагинов написал для интересующихся (слева стопроцентно NERDTree, автокомплит похож на deoplete, статуслайн какой-нибудь *line).

mord0d ★★★★★
()

-- ВСТАВКА --

А вот это совершенно не нужно!

Причём ни локализация, ни вообще строка (тем более она у тебя дублируется в *line в виде INSERT), set noshowmode.

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

Я потом на сайте серию статей хотел расписать про настройку. Нердтри ты угадал, да, автокомплит YouCompleteMe, статус аирлайн. Особо впер колорсхем-чейнджер, можно сидеть и просто медитативно щелкать все 925 тем, выбирая подходящую.

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

Я потом на сайте серию статей хотел расписать про настройку.

Немного натяну сову на глобус, притянув за уши JB: «Пустое сообщение». Ну серьёзно, настроил Vim, а как настроил — нискажу! Да? (=

Нердтри ты угадал, да

Чего мне угадывать плагин, который я сам юзаю уже очень много лет? ☺

автокомплит YouCompleteMe

Жирновато, ящитаю. Раньше я юзал deoplete, теперь юзаю встроенное в Vim в связке с маленьким плагином, вызывающим выпадающее меню автоматом вместо наркоманского комбо-аккорда (который я регулярно забываю, лол). Но дело, конечно, твоё, тебе же этим пользоваться.

статус аирлайн

Основных три: powerline, airline, lightline, внешне они могут выглядеть почти(?) идентично, я не использую ни один (вместо этого у меня свой статуслайн), потому особо не шарю.

Особо впер колорсхем-чейнджер, можно сидеть и просто медитативно щелкать все 925 тем, выбирая подходящую.

Програстинатор 80lvl! (%

как-то аутентичненько

Оно заменяет любое сообщение (кроме Error, они требуют ввода и не заменяются до нажатия Enter) мгновенно, потому если кто-то что-то пишет, то ты это можешь просто не увидеть в режиме, отличном от Normal. Лично я этим часто пользуюсь.

mord0d ★★★★★
()

Зачот, хоть питухон я и не одобряю. Сделай такое же для перла.

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

Особо впер колорсхем-чейнджер, можно сидеть и просто медитативно щелкать все 925 тем, выбирая подходящую.

А черкани название плагина. Вручную долго перебирать темы.))

chak
()

Гут... Гут...

Я упоролся несколько по-другому. Плюс, если позволите, пара советов.

  1. Цветовая гамма/схема. У меня слегка модифицированная corporation с вот этого сайта, где схему можно создать он-лайн. Вот уж где-где, а там с темами можно наиграться вдосталь. И плагинов ненужно. =)

  2. NERDTree штука хорошая, но можно и без плагина. Я долго метался, но :Sex победил. =)

  3. Статусная строка. Powerline это питон, значит, ресурсы. У меня своя вполне себе информативная строка статуса.

  4. На мой вкус и цвет автокомплит идёт далеко-далёко, а вот что я бы использовал, так это плагин syntastic. Для python надо как-то так:

 let g:syntastic_python_python_exec = 'python3'
 let g:syntastic_python_checkers = ['python']

Но у меня С и splint в связке с syntastic, так что, могу ошибаться.

  1. Так же неплохо подошёл бы snipmate, наверное. Коллекция снипетов лучше, чем автокомплит, хотя, сейчас встроенный в vim автокомплит тоже неплох.

Ну вот как-то вот так…

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

Какой-то код у тебя не бодипозитивный. Кансельнуть Жберта немедленно. Затем кансельнуть повторно за отсутствие ссылки на репозиторий с конфигом.

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

Осталось понять...

PyCharm

Что это? И зачем нужен этот тормозавр на основе, если я правильно понял, JetBrains вместо простого и лёгкого текстового редактора, который плагинами превращается в IDE произвольной сложности.

С vim другая проблема – по началу с горящими глазами втыкают вообще всё, до чего могут дотянуться (как было у меня с тем же NERDTree), а потом сидят и думают сколько же раз за последние полгода я пользовался вот этим вот плагином.

Ну и про проверки синтаксиса, которые реализованы в виде syntastic и не только для python, C или bash, я вообще молчу. Что-то я не особо припоминаю аналогичных средств в составе JetBrains, но я не эксперт в них (мягко говоря), могу и ошибаться.

Moisha_Liberman ★★
()

Приятная цветовая схема. Смотрится успокаивающе на разных дисплеях.

А зачем плагин для вывода списка/дерева переменных? Я когда-то тоже себе выводил, но потом понял, что туда вообще не смотрю. Можно пару примеров взаимодействия с ним?

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

Нердтри ты угадал, да, автокомплит YouCompleteMe, статус аирлайн

Сейчас уже модно конфиги nvim’а на lua переписывать, и заменять привычные монстры на легковесные аналоги. Я был очень удивлён, когда у меня вим с полусотней плагинов начал запускаться за десятки мс, а автокомплит через lsp и LSPSaga заработал отзывчивее тех же ycm и coc-nvim

И чуть не забыл про семантическую подсветку через treesitter

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

ожешь из моего https://gist.github.com/tz4678/aeb439d5778cb0153a0e9c0aa7122b14 че-нить выдрать, но по мне вим дерьмище, потому как его сложно настроить, все предусмотреть. той же автоподстановкм нигде нормальной нет, чтобы просто нажимал ctrl+space и тебе методы предлагались в независимости от положения курсора, режима и тп. я пытался его полюбить, но кроме как редактора конфигов и write-only скриптов он ни на что не пригоден… но говорят в гугле кур доют… что там настолько монструозные проекты, что они на мертво виснут при индексации их ide, поэтому все там гомнокодят на vim/emacs

tz4678 ★★
()

1366x768

оттакие буквешки

молодца, разбирай. больше 80 символов в ширину тебе нельзя

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

Он кажись че-то делать то ли собрался, то ли собирается.

t184256 ★★★★★
()

Как человек одновременно может уметь тюнить вим (до вполне не плохого внешнего вида как минимум) и писать вот такой код?

micronekodesu ★★★
()

vscodium поставь и не мучайся

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

Из-за размеров кода. Понадобилось написать небольшую софтинку для автоматизации, открыл на автопилоте джаву и понял, что на ней это писать дольше в три раза, и кода больше в десять раз.

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Так стоит же. Но не интересно.

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от fernandos

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

Zhbert ★★★★★
() автор топика
Ответ на: Гут... Гут... от Moisha_Liberman

Оке, погляжу. Про сниппеты я думал, но пока не стал добавлять, пока не понял, насколько оно мне надо.

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от WitcherGeralt

Код считает все как надо, а стало быть норм. Про конфиг выше написал.

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от EmgrtE

Не знаю, пока тоже не понял. Вполне возможно, что он не нужен :)

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от t184256

Скажи спасибо, что не видео!

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

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

Да я знаю, что vim не нужен, я про emacs спросил)

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

Ожидаемый аргумент. Только я не говорил про «как надо». Для меня странно вот это дерганье по десять раз функций, возвращающих одно и то же значение (вместо того чтоб вызывать один раз, записать в переменную и использовать дальше), эти вот магические-шесть-знаков-после-запятой-константы, и при этом использование vim, который, на мой взгляд, осилить и полноценно использовать сложнее чем какую-то мейнстримную IDE.

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

Я это вижу наоборот. Зачем плодить лишние переменные, если мне нужно один раз получить значение от метода, и так возвращающего это нужное мне значение? Благо имена методов понятны и легко читаемы. В моём случае код занимает одну строчку и не плодит лишнего, а в том, что предлагаешь ты, будет как минимум ещё пять строк на переменные, которым присваивается значение.

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от micronekodesu

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

Чтобы код вышел лаконичным? Он-то простенький, вызов функции недорогой.

эти вот магические-шесть-знаков-после-запятой-константы

Тоже не люблю магические литералы. Но, опять же, для столь небольшого кода этим можно пренебречь.

fernandos ★★★
()

во всех продуктах JetBrains у меня стоит плагин IdeaVim, привносящий туда привычные хоткеи из вима. Его я не настраивал - там все дефолтное.

И как он? На сколько много функционала из vim реализовано?
А то я пользуюсь имаксовской раскладкой в IDEA и как-то оно не особо. Сложней чем C-N/C-P оно мало что умеет.

С красным на скрине перебор, как по мне.

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

Нижяя строка в виме нужна, она не убирается и туда команды пишутся. Оставить там индикатор ввода — милое дело.

Таббар и вторая снизу строка не нужны.

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

она не убирается

А я не говорил что её нужно убирать. cmdline нужен, но дублировать в него mode не имеет смысла при использовании statusline. При неиспользовании statusline (дефолтный дефолт искаропки) mode в cmdline имеет смысл.

туда команды пишутся

Вот только mode их (после смены режима) затирает. А ещё туда пишутся сообщения, которые затираются мгновенно.

Таббар и вторая снизу строка не нужны.

Очень зависит от юзкейса.

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

Очень зависит от юзкейса.

Из скрина прекрасно видно, что юзкейс, который вдохнул бы в эту бредовую свистелку смысл, надо еще потрудиться отыскать.

t184256 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.