]> Sergey Matveev's repositories - stargrave-blog.git/commit
Самая полезная фишка и самая бесполезная в Vim: моё мнение
authorSergey Matveev <stargrave@stargrave.org>
Tue, 4 Jul 2017 20:45:13 +0000 (23:45 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 4 Jul 2017 20:45:13 +0000 (23:45 +0300)
commit5ff1b3c8c76be6e7691defe34a7e18c4d753f4f2
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent0cb96230ef06269430291f13f206f4ccac86e926
Самая полезная фишка и самая бесполезная в Vim: моё мнение

А именно что я бы пять+ лет назад порекомендовал в первую очередь
включить/использовать и что не изменилось за все эти годы и я советовал
бы сразу же включать: относительная нумерация строк (set relativenumber).
Без этой фичи мне Vim не нужен вообще, абсолютно и полностью. Конечно же
он останется лучшим текстовым редактором, но моя производительность
просядет невообразимо. С этой фичей я выкинул даже EasyMotion, который
считал что должен быть встроен в редактор без возражений. relativenumber
сам по себе толк не даёт, а помогает более удобно и мощно использовать
кучу других команд и действий.

Что самое бесполезное? Что можно выкинуть и я бы никогда и ни разу в
жизни не заметил бы этого. Исключая специфичные штуки для разных языков,
конечно же: если я не пишу на COBOL, то не заметил бы если бы
специфичные для него вещи убрали, но это очевидно. А из общих вещей это
однозначно табы (tabs). Но, с условием что окружение где я запускаю Vim
будет как у меня: а это запуск внутри Tmux. Работа в Tmux-е и интеграция
его с Vim-ом я считаю без сомнений и более UNIX-way и более простой (две
программы выполняющие чётко свои задачи) и гораздо более удобный и
мощный подход. Tmux создаёт табы и запускает в них отдельные Vim-ы. Если
нужно передавать данные между ними, то это Tmux буферы (или X11). Я
нигде, ни разу и никогда не видел ничего где бы табы в Vim себя проявили
как полезная штука (если есть терминал/tmux/whatever с табами). Одного
человека знаю кто запускал GVim, вне терминала -- там приходится их
использовать, но основной вопрос "зачем GVim" не отвечен (или забыт).

С другой стороны есть такая штука как undo tree. Если use-case-ы для
табов я ещё понимаю, вижу, просто считаю что есть куда более лучшее
решение, то вот use-case для undo tree я не нашёл. Коллеги тоже не
нашли. Так что, возможно вот эта штука куда более бесполезная. Но не
исключаю что польза в ней когда нет системы контроля версий... но это уж
нонсенс так работать.