Как стать автором
Обновить

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

Время на прочтение 1 мин
Количество просмотров 13K
Информационная безопасность *Программирование *VIM *Разработка под Linux *Софт
В предустановленных на многих дистрибутивах Linux версиях Vim и NeoVim найдена критическая уязвимость, которая позволяет злоумышленнику получить контроль над компьютером жертвы, если она откроет заражённый текстовый файл. Проблема так же касается и последней версии macOS, хотя атака сработает только если была включена опция `modelines`.

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

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


Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 8

Энтузиаст приспособил селектор от BMW для управления Vim

Время на прочтение 1 мин
Количество просмотров 5.3K
Open source *VIM *Периферия DIY или Сделай сам

Initial V - это блютуз клавиатура созданная на основе селектора от BMW и предназначенная специально для работы в Vim.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 8

Firefox + Vim == Vimperator

Время на прочтение 1 мин
Количество просмотров 4.7K
Firefox
Vimperator
Специально для глубоких ценителей обоих продуктов — расширение Vimperator, которое добавляет в Firefox управление в стиле Vim.

  • Клавиатурные сочетания в стиле Vim (h,j,k,l,gg,G,0,$,ZZ,,etc.)
  • Ex-команды (:quit, :open www.foo.com, ...)
  • Автодополнение с помощью Tab для всех команд
  • Безмышиная навигация по ссылкам «Hit-a-hint» (после нажатия 'f' ссылки подсвечиваются одно- или двухбуквенными шорткатами, набирая которые можно переходить по ссылкам)
  • Продвинутое автодополнение для закладок и истории (поиск не только в URL, но и в заголовке страницы)
  • Статусная строка в стиле Vim с прогресс-баром в стиле wget
  • Минималистический GUI (прячем ненужные меню и тулбар с помощью :set guioptions=)

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 21

Реальные программеры

Время на прочтение 1 мин
Количество просмотров 2.3K
Чулан
Сегодняшний выпуск xkcd мне понравился настолько, что я решил перевести его на русский, дабы поделиться с сообществом.
Юмор довольно тонкий, и будет понятен в первую очередь людям знакомым с никсовыми текстовыми редакторами.

RealProgrammers

Надеюсь, удалось передать фишку, поскольку это моя первая попытка перевода комиксов, и я уже успел прочувствовать на себе все его трудности.
Всего голосов 67: ↑55 и ↓12 +43
Комментарии 43

.vimrc

Время на прочтение 2 мин
Количество просмотров 1.8K
Чулан
Не так давно переехал на Linux и в качестве редактора выбрал vim. За это время у меня образовался приличный конфиг (под катом). Предлагаю обменяться сакральными знаниями в конфигурировании vim'a :)
Читать дальше →
Всего голосов 14: ↑7 и ↓7 0
Комментарии 1

Текстовые редакторы для Linux (часть 1): vi, Gedit, Kate

Время на прочтение 2 мин
Количество просмотров 11K
Чулан
Для чего нужны текстовые редакторы, наверное все знают: в них можно редактировать конфигурационные файлы, в них можно создать или поправить какой-либо скрипт, а так же банально можно просмотреть README-файл. Для Linux не так уж и мало текстовых редакторов. И большинство из них можно настроить под себя для большинства возникающих задач.

Читать дальше →
Всего голосов 25: ↑18 и ↓7 +11
Комментарии 51

эффективное использование vim: «from the very begining»

Время на прочтение 7 мин
Количество просмотров 25K
VIM *
«Для меня vi это Дзен.
Использование vi — это практика дзена.
Каждая команда является коаном.
Полный смысла для пользователя,
Бессмысленный для непосвященного.
Вы познаете истину каждый раз когда вы его используете.»
--reddy@lion.austin.

на сколько хорошо ты знаешь язык vim?
посмотри на клавиатуру,
можешь ли ты сказать что выполняет каждая буква?
как много ты знаешь?
как много используешь?


эффективное использование vim
Всего голосов 92: ↑83 и ↓9 +74
Комментарии 114

эффективное использование vim: «incredibly tips, part I»

Время на прочтение 4 мин
Количество просмотров 5.7K
VIM *
Доброго всем времени суток
стараясь сдержать свое обещанию, хочу опубликовать след. статью об редакторе vim
В статье подразумеваться что читатель уже знаком с азами работы в vim'e, она будет посвящая более эффективному использованию накопленных знаний.

tips 1...
Всего голосов 53: ↑46 и ↓7 +39
Комментарии 72

Кодировки

Время на прочтение 2 мин
Количество просмотров 36K
VIM *
Тут на самом деле всё просто. Храните все тексты в Unicode и будет вам счастье (при условии правильно установленной опции 'encoding' конечно ;) В ином случае (у вас куча текстов в национальных кодировках) придется
дочитать топик до конца
Всего голосов 28: ↑20 и ↓8 +12
Комментарии 17

Vim magic — Visual mode

Время на прочтение 2 мин
Количество просмотров 18K
VIM *
Немножко о режиме выделения для тех, кому лень проходить vimtutor, или тех, кто ещё сомневается в том, что Vim это действительно удобно.

Режим выделения в Vim это одна из тех грандиозных вещей (наряду с *, = и text-objects), которые делают этот редактор особенно удобным. Как вы уже знаете, в Vim есть режим Visual, в котором можно выделять текст, чтобы потом с выделением что-нибудь делать, например, засунуть его в регистр, отформатировать, заменить в нем что-нибудь регулярным выражением или ещё что-нибудь. Чтобы войти в этот режим, нужно нажать v, а потом перемещать курсор обычными командами, передвигающими курсор в обычном режиме, расширяя таким образом область выделения.

Режимов выделения есть несколько: обычный, построчный и блочный. Обычный включается командой v и выделяет текст от символа до символа. Построчный включается командой V (Shift+v) и выделяет строки целиком. Блочный включается командой Ctrl+V (под Windows может включаться Ctrl+Q, если Ctrl+V занято под вставку текста из клипборда) выделяет вертикальный блок текста (не захватывает начала и концы строк в середине выделения, как это происходит в обычном режиме).

А теперь немного особой, Vimовской магии
Всего голосов 36: ↑28 и ↓8 +20
Комментарии 14

Vim для программиста

Время на прочтение 2 мин
Количество просмотров 15K
VIM *
Любимый многими редактор Vim не является IDE. Однако в нём реализовано много замечательных возможностей, облегчающих работу с кодом.

Обычно цикл работы с кодом сводится к поправить код-скомпилировать-поправить код-скомпилировать-… В Vim есть средства, заточенные специально под этот процесс.
Выглядит это так:
Всего голосов 20: ↑16 и ↓4 +12
Комментарии 46

Окна и буферы

Время на прочтение 2 мин
Количество просмотров 43K
VIM *
В vim 7 появились табы — привычный способ навигации по файлам. Когда я работал в eclipse я не раз замечал, что часто скакать между табами не удобно, а знакомство с буферами в emacs натолкнуло на прочтение документации по окнам/буферам в vim.

Читать дальше →
Всего голосов 37: ↑33 и ↓4 +29
Комментарии 34

Vim magic — Регистры

Время на прочтение 4 мин
Количество просмотров 15K
VIM *
Про регистры в Vim уже писали в предыдущих постах, но я решил собрать инфу воедино и немного дополнить. Прочитав эту статью, вы станете настоящими мастерами копи-пастинга (в хорошем смысле этого слова) :)

Сложно представить себе работу в редакторе без использования операций скопировать/вырезать/вставить. Vim предоставляет очень мощные средства, для этого. Итак, регистры — это то, куда Vim складывает те куски текста, которые вы копируете с помощью y или удаляете с помощью c или d, но не только. Есть ещё несколько специальных регистров, куда Vim помещает, например, текст, который вы искали с помощью / или текст, который вы drag-n-dropнули в окно редактора. Чтобы указать, что вы хотите скопировать или удалить текст в определенный регистр, нужно указать его имя перед командой. Например, «ayy скопирует строку целиком в регистр »a. Но не во все регистры можно писать, некоторые из них только для чтения (и даже есть один только для записи).

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

Овладеть особой магией регистров
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 14

Vim magic — Ввод символов, которых нет на клавиатуре

Время на прочтение 2 мин
Количество просмотров 5.5K
VIM *
Сегодня мы научимся набирать в Vim загадочные и просто редко- (а кем-то часто-)используемые символы, такие как ½, ?, £, ©, ®, ™, «, » и т.д. Особенно полезно это людям, связанным с типографикой, но не только.

Для набора этих замечательных вещей есть много способов, некоторые из них уже были описаны на Хабре. Способы эти сводятся либо к установке специального ПО, либо к созданию собственной раскладки клавиатуры. Ещё можно (во всяком случае, под Windows) запоминать магические комбинации и набирать символы с помощью Alt+цифры_на_цифровой_клавиатуре_если_она_есть.

Для того чтобы набирать эти символы в Vim, тоже нужно запоминать магические комбинации. Различие только в том, что комбинации эти состоят из двух символов и обычно легко запоминаются с помощью мнемоник.
Овладеть особой магией набора диковинных юникодных символов
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 13

Назначение имен заголовкам табов в Vim

Время на прочтение 5 мин
Количество просмотров 1.9K
VIM *
Vim предоставляет довольно удобный способ группировки редактируемых файлов — табы (вкладки). И все бы хорошо, но лично мне сильно мешал один недостаток — в именах вкладок не присутствуют их номера, и поэтому при переключении на нужную вкладку командой :tabn[tab_num] каждый раз приходится проводить взглядом по всем табам и высчитывать порядковый номер этой вкладки. При частом переключении это действительно начинает надоедать…

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

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 18

Окно Vim на полный экран в Windows

Время на прочтение 1 мин
Количество просмотров 3.5K
VIM *
Между прочим, Vim не умеет разворачивать своё окно на полный экран. Но можно его заставить, подключив дэлелелину с нужным функционалом. Дэлелелину берем в плагине.
Инструкция по установке
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 23

VIM: Расширим и углубим себе на пользу

Время на прочтение 2 мин
Количество просмотров 960
Чулан
Пара функций и команда (command) vim'а в помощь блоггеру.

Что они делают?
Меняют двойной минус и минус с пробелом по краям на неразрывный пробел с длинным тире ( —), кавычки «секунды» на кавычки «елочки».

Как этим пользоваться?
Скопировать код в свой .vimrc, открыть vim, написать:
Привьет, менья зовут "E-Type" −- на здоровье!

Затем в коммандном режиме:
:HTMLLineRU<CR>

где
 -- это нажатие на Enter.
Результатом команды будет окно с таким вот нехитрым содержимым:
Привьет, менья зовут &laquo;E-Type&raquo;&nbsp;&mdash; на здоровье!

Что в свою очередь вашим любимым браузером покажется как:

Привьет, менья зовут «E-Type» — на здоровье!

Сам код:
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 2

Забудьте про свой редактор. Используйте Vim

Время на прочтение 3 мин
Количество просмотров 30K
VIM *
Получайте удовольствие от процесса редактирования текста.

Вступление


Здравствуй, дорогой читатель! Данная статья не является ни руководством, ни учебником. В этой статье я лишь хочу рассказать Вам, что существует более эффективный инструмент для работы с текстовыми файлами. Этой статьёй я хочу вдохновить Вас на то, чтобы, поборов глубоко вросшие в Вас привычки, Вы попробовали совершенно другой, не похожий ни на что, метод работы с текстом.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 154

Очередной HowTo по Vim

Время на прочтение 1 мин
Количество просмотров 7.5K
VIM *
Update: похоже, что после обновления хабра появились проблемы с постингом больших статей. Старый текст, который был здесь ранее, хабр обрезал до середины, залить же новый мне не удалось — все время выдается ошибка «Возникла ошибка в получении XML данных: Internal Server Error» (насколько я понял, проблемы именно в большом объеме). Честно говоря, у меня сейчас нет ни времени ни желания разбираться с этим (к тому же переформатирование статьи из блога под хабр занимает довольно много времени), поэтому отсылаю вас к оригиналу — Очередной HowTo по Vim.
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 30