LINUX.ORG.RU
ФорумTalks

Как осилить Vim?

 , , , ,


2

5

Уже 5 лет на генте, пишу на сях, работаю в эмбеде.
По статусу пора уходить от гуёв в голую консоль и если на тайловые wm таки пересел, то с IDE все сложнее.

Я НЕ МОГУ ОСИЛИТЬ VIM

Что можно сделать в тяжелой ситуации жесткой зависимости от удобства и искаробочности, чтобы искоренить в себе мальчика и стать настоящим бородатым кулхацкером?
Делитесь историями успеха, как вы начинали пользоваться vim после полноценных IDE и пилили его?

★★★★★

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

Я не разработчик этого поделия, но compile_commands.json это некий стандартный формат clang'a насколько я знаю.

Вообще конечно rtfm, но в худшем случае ты можешь сделать примерно так:

This will produce a compile_commands.json which, if used with rc -J, will index all your sources.

There are very likely similar things you can do with other build systems that we’re unfamiliar with.

The other approach to getting your files indexed is to man-in-the-middle your compiler.

This can be done like this:

$ ln -s /path/to/rtags/bin/gcc-rtags-wrapper.sh /somewhere/that/is/in/your/path/before/usr/bin/gcc
$ ln -s /path/to/rtags/bin/gcc-rtags-wrapper.sh /somewhere/that/is/in/your/path/before/usr/bin/c++
$ ln -s /path/to/rtags/bin/gcc-rtags-wrapper.sh /somewhere/that/is/in/your/path/before/usr/bin/cc
$ ln -s /path/to/rtags/bin/gcc-rtags-wrapper.sh /somewhere/that/is/in/your/path/before/usr/bin/g++

Ещё была какая то утилита, которая под unix like системами умеет запилить искомый файлик в процессе билда попсовыми билдсистемами не умеющими из коробки.

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

Предложенный вебинар - говно. Там одна вода, ничего о редакторе толком не сказано.

Вообще-то сказано, ты его видимо не смотрел.

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

Предложенный вебинар - говно. Там одна вода, ничего о редакторе толком не сказано.

Вообще-то сказано, ты его видимо не смотрел.

И тут в тред врывается баба Ванга.

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

Вообще-то сказано, ты его видимо не смотрел

andeyu прав - лично меня хватило на 1/4 (около 15 мин) ролика. За это время я узнал, что редактор просто конфета, имеет три режима, цветовое выделение синтаксиса и команда повтора «точка». Видать, действительно, ведущий вебинара родился под знаком водолея. Столько воды налить за четверть часа - это просто искусство, не меньше. Но и не мудрено, они же на своем сайте дистанционно «обучают программистов». Ноу комментс.

И это вместо того, чтобы взять и сравнить как можно сделать то, да се - «обычными» редакторами и VIM'ом. И продемонстрировать возможный профит в сравнении.

Majestio
()

Я НЕ МОГУ ОСИЛИТЬ VIM

Чтобы осилить vim, нужно пересилить свой здравый смысл.

Что можно сделать в тяжелой ситуации жесткой зависимости от удобства и искаробочности, чтобы искоренить в себе мальчика и стать настоящим бородатым кулхацкером?

Нужно понять, что бородатые кулхацкеры занимаются тем, что полезно или интересно. Освоение vim не относится ни к первому, ни ко второму.

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

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

Но это не самое лучшее видео, какая-нить вводная статья по фишкам вим лучше была бы. Да и тип неприятный, посмотрел его видео про собеседования - у меня пригорело немного.

pawnhearts ★★★★★
()

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

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

Я нашел какую-то статью для чайников, прочел. Посмотрел описалово в вики. Инфы валом, бери да запоминай. Пока под вопросом где прочитать про «джентльменский набор» плагинов. Как и у ТС есть желание попробовать заменить ради прикола QtCreator. Нужна не меньшая функциональность.

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

и многие вещи я делаю в нем неоптимально

Это потому что с конфигами лень заморачиваться, или потому что просто VIM? И какие «вещи», можно парочку навскидку?

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

Тысячи их. Например, - пример из того видео - можно завернуть что-то в скобочки или там html-тэги с помощью https://github.com/tpope/vim-surround и пары нажатий кнопок. Я же поставлю скобочки вручную.

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

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

И ещё надо следить за обновлениями всех этих плагинов. Для этого есть разные средства и менеджеры плагинов, но их тоже много и надо изучать.

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

pawnhearts ★★★★★
()

Дык вим не нужен для кодописания. Суть в том, что вим заточен под правку текстов, но никак не для написания программного кода.

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

Дык вим не нужен для кодописания. Суть в том, что вим заточен под правку текстов, но никак не для написания программного кода.

Можно расшифровать по-подробнее? Кодописание достаточно часто подразумевает собой правку кода. Не улавливаю разницы пока.

Ну и попутно несколько вопросов вопросов:

1) Как включается нумерация строк в конфиге?

2) Как включается фолдинг в конфиге?

3) Какое имя конфига gvim'а - ~/.gvimrc ?

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

Лан, пофик вопросы - сам разберусь. Собрал vim-qt, он поприятней gvim'а, в меню подсказки хоткеев есть. Хотя терминальный vim выглядит привычнее. Бум разбираться.

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

Зачем вообще может понадобиться открывать в редакторе огромное кол-во файлов?

Когда работаешь с проектами с многими файлами.

профита от использования буфферов так и не почувствовал

Они у тебя есть в любом случае. Буфер - открытый файл.

Зачем это? Зачем его куда-то «прятать» из UI

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

Я вообще рассматриваю табы как favorites из открытых файлов. Ну, или когда нужно конфигурацию окон соханять.

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

Дык вим не нужен для кодописания. Суть в том, что вим заточен под правку текстов, но никак не для написания программного кода.

А кодописание подразумевает правку. Притом на начальных этапах это 0% - 10%, а когда проект разрастается (особенно если вы по agile'у работает) - до 90%.

Кстати, что подразумевается «заточить под написание кода, а не правку»? Autocomplete? Preview? Это все есть, притом даже чем-то лучше, чем у других.

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

Зачем спрашиваешь то что элементарно гуглится?

Да малеха растерялся где что смотреть - мануалов как грязи. Сейчас фильтровать буду. В общем нашел чем вечер занять)))

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

Можно расшифровать по-подробнее? Кодописание достаточно часто подразумевает собой правку кода. Не улавливаю разницы пока.

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

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

А кодописание подразумевает правку. Притом на начальных этапах это 0% - 10%, а когда проект разрастается (особенно если вы по agile'у работает) - до 90%.

Ну да, правку теперь в 70% случаев модно называть рефакторингом. Не знаю как там в виме с автоматизацией этого процесса +) И еще есть один интересный момент - как быть в виме, когда надо внутри файла с расширением cpp автокомплитить и проверять на валидность строку с SQL запросом?

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

У меня Compose отваливается до ребута. Попытки привести в чувство ни к чему не приводят. Вот сейчас опять уже несколько недель без него сижу. Чё делать? Мало того, что setxkbmap отрабатывает с тормозами, так ещё и это...

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

Не знаю как там в виме с автоматизацией этого процесса +)

Здесь посредственно, но базовые функции имеются.

как быть в виме, когда надо внутри файла с расширением cpp автокомплитить и проверять на валидность строку с SQL запросом?

А здесь как раз хорошо: кастомные правила автокомплита и валидации (чтобы ты под этим ни понимал) пишутся достаточно легко.

Кстати, как в IDE с автокомплитом, если нужно:
1. иметь одновременно несколько автокомплитов, например, по ключевым словам, syntax suggestion, кастомному словарю пользователя, именам файлов и т. п.?
2. Вместе с предложенным вариантом показывать подсказку, например, значение варианта
3. Написать кастомное правило или словарь?

4. Есть ли в IDE древовидные undo, например (V* - вариант текста):
V1 (изменяем) V2 (undo) V1 (изменяем) V3
Могу я вернуться к V2?

5. Могу я вернуться к тому, как файл выглядел 15 мин. назад?

6. Могу ли я атоматизировать преобразование такого:

one
two
three


в такое:
var one = "One"
var two = "Two"
var three = "Three"

?

7. По примеру выше: могу ли я теперь выравнять это по знаку «=», чтобы получилось так:
var one   = "One"
var two   = "Two"
var three = "Three"

?

8. Могу ли я сделать diff между двумя участками текста в одном файле?

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

> 4) Найти и заменить (Ctrl+F7)
Вот это реально пипец :%s/foo/bar/g

Ну почему?
https://www.youtube.com/watch?v=Umb59mMvCxA&feature=youtu.be&t=62s

Интересно, какой еще редактор (ну, кроме, может, emacs и частично netbeans) хоть близко такое сможет.

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

0. пользуйся вим

1. используй ex-режим с reгулярками.

Наслаждайся жизнью

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