Pull to refresh
  • by relevance
  • by date
  • by rating

В Vim и NeoVim найдена критическая уязвимость, пора обновляться

Information Security *Programming *VIM *Development for Linux *Software
В предустановленных на многих дистрибутивах Linux версиях Vim и NeoVim найдена критическая уязвимость, которая позволяет злоумышленнику получить контроль над компьютером жертвы, если она откроет заражённый текстовый файл. Проблема так же касается и последней версии macOS, хотя атака сработает только если была включена опция `modelines`.

Как пояснил Armin Razmjou — исследователь, открывший уязвимость, хотя режим `modelines` и должен запускать команды исключительно в песочнице, команда :source! полностью обходит это ограничение и, таким образом, способна исполнить произвольные команды, как если бы они были вводились вручную.

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


Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views 12K
Comments 8

GitHub Copilot появился в JetBrains и Neovim

Open source *Programming *GitHub IT-companies


Нейросетевой помощник программиста GitHub Copilot стал доступен для работы с JetBrains (в IDE IntelliJ и PyCharm) и в редакторе кода Neovim. Ранее данный инструмент вышел в виде плагина редактора Microsoft Visual Studio Code и функции браузерного редактора кода GitHub Codespaces. Доступ к Copilot можно получить после регистрации в программе тестирования технического превью сервиса.
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Views 7.3K
Comments 0

Neovim: современный клон текстового редактора Vim

Open source *VIM *
Vim — мощный текстовый редактор, у которого большая аудитория. Хотя программе более 20 лет, её функциональность продолжают улучшать через скрипты vimscript. Последняя версия свободного редактора Vim 7.4 вышла в августе 2013 года.

Проблема в том, что за два десятилетия Vim разросся до страшных размеров: около 300 000 строк кода на C89. «Очень мало людей могут понять этот код или имеют смелость изменять его. Есть проблема и с добавлением нового кода и патчей в Vim: единственный мейнтейнер не успевает за развитием экосистемы плагинов», — пишет бразильский программист Тиаго де Арруда Падилья (Thiago de Arruda Padilha), который создал проект Neovim — обновлённую и улучшенную версию Vim для 21 века.
Читать дальше →
Total votes 58: ↑47 and ↓11 +36
Views 57K
Comments 53

Минимум один трюк Vim, про который вы не знали

VIM *Software
Translation
Tutorial
Я уже восемь лет работаю в Vim и постоянно открываю что-то новое. Принято считать это достоинством Vim. Как по мне, так это недостаток открытости: куча скрытых функций спрятаны слишком глубоко.

Вот говорят о красоте модального редактирования и текстовых объектах, но мне кажется, что суть Vim не в этом. Vim — это лоскутное одеяло из подсистем, под завязку забитых дополнительными инструментами. Только в обычном режиме редактирования более сотни комбинаций клавиш! Такая плотность инструментария в значительной степени объясняет, почему Vim настолько полезен. Если «показать все теги для ключевого слова» — это просто g], то этой командой будут пользоваться гораздо чаще.

В системах с недостатком открытости приходится полагаться на руководства. Но для Vim их не так уж много. Есть статьи для новичков, такие как ciw (не путать с CIA, мануалом ЦРУ по Vim) и тому подобное. И есть статьи экспертов, которые погружаются в подсистемы. Но никто на самом деле не говорит об этих особых трюках, которые заставляют воскликнуть: чёрт побери, как мне это было нужно в течение последних шести лет!
Читать дальше →
Total votes 38: ↑34 and ↓4 +30
Views 26K
Comments 16

Поддержка 24-bit цветов в терминале в связке ssh + tmux + neovim

VIM *
Tutorial


На windows я всегда использовал SecureCRT для работы по ssh и горя не знал. Но тут мне в голову стукнуло, что надо попробовать 24-битный терминал и поработать по ssh, используя красивую тему для vim на удаленном сервере.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 8.5K
Comments 2

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

VIM **nix *
Tutorial

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

Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Views 12K
Comments 51

Как выбрать редактор, и почему нужно выбрать NeoVim?

Programming *VIM *Development for Linux *
Sandbox


Часто мы тратим время на включение редакторов больше, чем тратим на исправление или написание какого-то однострочного скрипта. Я считаю что эту проблему можно быстро решить, ведь для этого и существуют консольные редакторы

Читать дальше →
Total votes 39: ↑21 and ↓18 +3
Views 39K
Comments 106

Вышел NeoVim 0.5.0

VIM *
Sandbox
Translation

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

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

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

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

Читать далее
Total votes 12: ↑12 and ↓0 +12
Views 9.6K
Comments 13

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

DINS corporate blog VIM *Scala *
Tutorial

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.

Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 4.6K
Comments 6

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

VIM *
Sandbox
Tutorial

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

Зачем?

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

Читать далее
Total votes 58: ↑56 and ↓2 +54
Views 27K
Comments 178