Как стать автором
Поиск
Написать публикацию
Обновить
2.2

VIM *

Свободный текстовый редактор

Сначала показывать
Порог рейтинга
Уровень сложности

Про Vim " Вводные к циклу

Время на прочтение9 мин
Количество просмотров8.7K

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

Речь в рубрике пойдет о работе в текстовом редакторе (Neo)Vim в качестве разработчика и, местами, графомана. Но не в традиционных форматах хвалебных од, рейтингов лучших плагинов, пятиминутных гайдов или хауту, а в формате неких мемуаров что-ли. От лица начинающего, а затем и более продвинутого, пользователя - часто от первого лица. Так как считаю, что категорически не хватает именно чего-то среднего, чуть более применимого в реальной жизни и работе, чем ролики в ютубе с пересказами "Getting started with..." на разный манер, и чуть менее объемного и перегруженного чем полные руководства. Так же крайне мало информации конкретно для русскоязычных пользователей и особенностях работы с раскладками отличными от латиницы.

Так же следует оговориться сразу, что здесь я не преследую цель максимально точно и достоверно расписать конкретные команды, сценарии и тонкости, так как проекты связанные с Vim, и уж тем более с NeoVim, развиваются в последнее время очень динамично и то, что кажется актуальным сегодня может оказаться устаревшей информацией и введением читателя в заблуждение уже завтра. Я постараюсь, конечно, упоминать используемые лично мной версии самих редакторов и плагинов к ним, но также попробую построить материал таким образом, что бы какие-то частности являлись лишь демонстрацией к более общим и менее подверженным устареванию приемам и понятиям.

Читать далее

Колдовской NeoVIM. Часть вторая. “Конфиг Всевластья”

Время на прочтение10 мин
Количество просмотров22K

Никто не любит конфиги (я уж точно). Они скучные и нединамичные.

Но со своим конфигом Nvim’а я ношусь, как Голлум с кольцом Всевластья. Моя прелесссссть. Я боюсь потерять свой конфиг, боюсь, что с ним что-то случится. Другие хотят забрать тебя, моя прелессссть. Саша тебя им не отдаст, нет-нет...

Если кто-то отнимет мой конфиг - я буду гнаться за ним до Роковой Горы и даже прыгну в жерло вулкана.

В этой статье я расскажу, как создать такой Конфиг Всевластья и как завоевать Гондор.

Читать далее

Колдовской NeoVIM. Часть первая. «Neovim VS Ваша IDE, или долой мышей!»

Время на прочтение4 мин
Количество просмотров28K

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

Фишкой колдовского редактора является то, что вы общаетесь с ним не через аналоговое управление (двигаем мышкой, вводим текст), а через команды и макросы. Зачем заморачиваться и пользоваться текстовым редактором через код?

Потому что это чертовски быстро!

Читать далее

VIM и редактирование файлов на удаленных серверах

Время на прочтение3 мин
Количество просмотров15K

Статья о том, как настроить vim в одном месте, а все файлы, которые находятся на других серверах, подгружать и работать локально. Понятно, что можно поставить vim на каждый удаленный сервер, настроить и работать по ssh, но не всегда есть такая возможность, хотя бы потому, что все быстро устаревает и чтобы использовать супер-современный vim со всеми плагинами и наворотами порой надо заменить OS на удалённом хосте.

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

Читать далее

Инструмент разработчика Ruby on Rails на базе NeoVim (nvim)

Время на прочтение5 мин
Количество просмотров3.5K

Вашему вниманию конфигурационный файл с плагинами для комфортной разработки под Ruby on Rails и не только.

Более года собирался данный конфигурационный файл, удалялись или устанавливались разные плагины и проходили обкатку. в результате теперь комфортно работать в "самом" быстром редакторе.

Читать далее

Пишем конфигурацию для Neovim

Время на прочтение13 мин
Количество просмотров53K

Привет, сегодня будет писать конфигурацию для терминального редактора Neovim на чистом Lua. Мы не будем использовать VimScript от слова совсем. Я расскажу в чем плюсы создания таких конфигураций, как соблюдать KISS (Keep It Stupid Simple) все время дополняя такие конфигурации, а также расскажу про полезные плагины для веб-разработки и не только.

Бегом под кат!

Lua конфигурация Neovim для разработки на Go

Время на прочтение10 мин
Количество просмотров29K

В процессе знакомства с Neovim было прочитано много статей, конфигураций на Github, было просмотрено огромное количество роликов на Youtube на тему настройки, но в большинстве случаев приходилось донастраивать все под себя. В этой статье я расскажу как я настроил Neovim для разработки на Go, используя только Lua плагины и init.lua.

Читать далее

Neovim: модульность для разработчика

Время на прочтение3 мин
Количество просмотров7.8K

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

Читать далее

Как я переписывал vim конфиг в init.lua

Время на прочтение19 мин
Количество просмотров35K

Статья рассказывает о том, как я с нуля переписывал свой nvim-конфиг (init.vim) в конфиг с поддержкой lua (init.lua).

Читать далее

IDE против Vim для разработки

Время на прочтение5 мин
Количество просмотров14K

Несколько дней назад попалась мне одна статья про то, что Vim достаточно хорош как инструмент для разработчика. В комментариях разгорелось очередное противостояние приверженцев vim против остального мира. Мыслей по данному вопросу накопилось достаточно много, поэтому считаю разумным сформулировать их уже в виде статьи. Адепты vim говорят о том что, якобы, освоив vim и полностью настроив его под себя можно получить ощутимую прибавку в скорости разработки. Я же считаю иначе. Лично я в работе использую PhpStorm, поэтому буду сравнивать с vim именно его. Так же оговоримся, что рассматривать инструменты я буду в контексте, А для наглядности рассмотрим как одни и те же задачи будут решаться в IDE и в Vim. Рабочие инструменты берем в состоянии "из коробки". Предполагаем что на компьютере уже установлен vim или IDE в коробочном варианте.

Читать далее

Neovim для full stack программиста

Время на прочтение7 мин
Количество просмотров84K

Я немного расскажу, как использую vim в работе full stack программиста, со своей колокольни, но для начала отвечу на некоторые вопросы, которые задают мне, когда узнают, что я использую vim при разработке проектов:

Зачем?

Хороший вопрос. Стоит для себя лично на него ответить. Зачем валандаться с vim, изучать кучу комбинаций клавиш и плагинов? Какой смысл, если есть vscode или pycharm или phpstorm? Жизнь коротка, стоит ли ее тратить на все это? Чтобы впечатлить кого-то, как на картинке в начале статьи? Да кого этим удивишь?

Читать далее

Что может предложить Neovim разработчику на Scala?

Время на прочтение23 мин
Количество просмотров8.9K

image


В сообществе фанатов текстового редактора Neovim произошло знаменательное событие — вышла версия 0.5, в которой появилось большое количество нововведений:


  • встроенная поддержка языка Lua;
  • экспериментальная поддержка treesitter;
  • и, наконец, встроенный LSP клиент, позволяющий сделать из простого текстового редактора достойного соперника IDE!

Neovim — это модальный редактор, форк редактора Vim, который ставит своей целью улучшение пользовательского опыта при работе с Vim: «Neovim is built for users who want the good parts of Vim, and more».


Мне нравится Neovim своей гибкостью, благодаря которой его можно превратить в очень мощный инструмент редактирования не только текста, но и кода. Как scala-разработчику мне интересно испытать новый встроенный LSP клиент в применении к любимому языку программирования. В отличие от VSCode и даже Vim + CoC настройка LSP клиента в Neovim несколько более сложная, но при этом крайне гибкая. Данная статья — краткое руководство по настройке Neovim для работы со Scala и краткий обзор возможностей, которые дает связка Neovim + Metals.

Читать дальше →

Вышел NeoVim 0.5.0

Время на прочтение10 мин
Количество просмотров12K

Долгожданный релиз NeoVim 0.5.0 наконец-то вышел 2 июля 2021 года. Это заняло больше времени, чем кто-либо ожидал, но это того стоило. Более 4000 коммитов, это так много, что сломало некоторые инструменты выпуска. Поэтому эти заметки не смогут затронуть каждое из многочисленных изменений, которые были внесены в ходе разработки, и будут сосредоточены только на наиболее заметных для пользователя улучшениях, самыми крупными из которых являются:

Lua как превосходный язык сценариев и конфигурации.

Протокол языкового сервера (Language server protocol) (LSP).

Treesitter (ранний доступ).

Читать далее

Ближайшие события

Как Vim стал таким популярным

Время на прочтение4 мин
Количество просмотров21K

Вероятно, вы слышали о Vim — всемогущем текстовом редакторе, который используется повсюду и из которого люди время от времени не могут выбраться. Ваш знакомый DevOps-инженер рассказывает о том, насколько великолепен и быстр Vim, и вы, вероятно, подумали, что стоит его попробовать. Но как мы пришли ко всему этому? Каким образом одержимость Vim однажды охватила весь мир?

Если посмотреть на опрос StackOverflow 2019 года о самых популярных средах разработки, то Vim по-прежнему находится в нём на пятом месте — его используют примерно 25% веб-разработчиков. Пятое место — это довольно неплохо, учитывая, что первый релиз Vim произошёл почти 30 лет назад (да, мы не ошиблись — первая версия Vim появилась в 1991 году).

Чтобы лучше понять, как и почему Vim стал (и по-прежнему остаётся) столь популярным, нам нужно изучить, с чего всё начиналось. До vim существовал vi, до vi существовал ed. Что это за двух- и трёхбуквенные слова, и какая история за ними стоит? Давайте будем разбираться.
Читать дальше →

Во всем привычном есть место для истории

Время на прочтение5 мин
Количество просмотров2.1K

В прошлом месяце я исследовал два исторических вопроса. Изначально я опубликовал результаты в виде тредов в твиттере, а теперь дублирую их в виде статьи. Почему vim использует hjkl, а не стрелки для навигации, а в JavaScript'овом date API месяцы считаются 0-11, а не 1-12?

Читать далее

Почему в Vim для навигации используются клавиши hjkl

Время на прочтение4 мин
Количество просмотров21K

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

Читать далее

Заметки о Unix: одновременное редактирование нескольких файлов в Vim

Время на прочтение4 мин
Количество просмотров7.9K
Недавно мы завершили перевод последней нашей машины на новый клиент для Let’s Encrypt. В ходе работы нужно было поменять пути к выгружаемым TLS-сертификатам во всех конфигурационных файлах, где они использовались. На многих компьютерах был лишь один конфигурационный файл, но на некоторых из наших Apache-серверов пути к TLS-сертификатам имеются во множестве файлов. Поэтому я и заинтересовался вопросом о том, как, пользуясь Vim, одновременно вносить одни и те же изменения в несколько файлов. Оказалось, что Vim поддерживает такую возможность уже очень давно, причём сделать это можно несколькими способами. Некоторые из этих способов основаны на том, что я назвал бы странностью Vim. Кто-то, возможно, назовёт это архитектурной особенностью данного редактора.


Читать дальше →

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

Время на прочтение6 мин
Количество просмотров111K
Осваивать Vim — это, пожалуй, страшно. Или, точнее, очень страшно. Речь идёт об изучении совершенно необычного подхода к редактированию кода, не говоря уже о работе с простым текстом. Многие несправедливо обвиняют тех, кто выбирает Vim, в том, что они впустую тратят время.

Я со всей уверенностью могу заявить о том, что Vim позволил мне повысить эффективность в деле написания программ. Работать стало удобнее (ниже я расскажу об этом более подробно). Я никому не хочу навязывать Vim, но очень рекомендую освоить этот редактор всем, кто занимается программированием, работает в сфере Data Science, в общем — тем, кто так или иначе пишет и редактирует некий код.



Если вам очень хочется узнать о том, стоит ли вам использовать Vim, и о том, кто и для чего им реально пользуется — взгляните на этот материал (кстати, не позвольте его названию, «Не пользуйтесь Vim», ввести себя в заблуждение). Ещё можете посмотреть это видео, которое, кстати, подготовил сам Люк Смит.

А теперь, учитывая всё вышесказанное, предлагаю поговорить о том, что такое, на самом деле, Vim!
Читать дальше →

Ты еще не используешь tmux на полную! (Наверное)

Время на прочтение4 мин
Количество просмотров39K
Привет, Хабр! Представляю вашему вниманию перевод статьи "(たぶん)君はまだtmuxの真の力を引き出せていない".

Содержание


  • Что такое tmux
  • Запуск и начало новой сессии
  • Открытие нового окна
  • Переходы между окнами
  • Разделение окон и создание панелей
  • Передвижение между панелями
  • Передвижение между сессиями
  • [Практическое использование] Переадресация отображаемого содержания в tmux
  • [Практическое использование] Отображение названия ветки Git в информационном поле
  • [Практическое использование] Отображение пути текущей операции
  • [Практическое использование] Вызов сниппета
  • Ссылка на настройки .tmux.conf
  • Совместимость версий tmux
Читать дальше →

VIM — Это не только редактор, это интеграция со всем вашим рабочим окружением

Время на прочтение6 мин
Количество просмотров14K

Чем особенно хорош Vim/Neovim? Тем, что твой инструментарий — это не только редактор (который сам по себе сильно расширяем плагинами и имеет богатый базовый функционал и очень гибок в области кастомизации), но и всё ваше рабочее окружение, со всем юникс-вейным прилагающимся инструментарием из gnu/coreutils и не только. Можно не уходя из редактора взять любую программу или интерпретатор ЯП и использовать его прямо в редакторе.

Читать дальше →

Вклад авторов