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

VIM *

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

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

Rusmode — решение проблемы с русской раскладкой

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

Проблема


Думаю многие из русскоговорящих пользователей Vim часто сталкивались с проблемой, что при переключении на Vim с почты/скайпа/браузера забывали переключить раскладку. Далее события развиваются следующим образом:
  1. У вас нет никакого map руских символов — Vim пищит, вы материтесь и переключаете раскладку;
  2. У вас есть map русских символов — скорее всего он кривой, команды не выполняются, Vim пищит, вы материтесь и меняете раскладку.

Очевидно, что map русских символов — не выход из положения.
А что же выход?

Настройка Vim для работы с Python и Django

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


Vim — уникальный по своей гибкости редактор, который при должной настройке может едва ли не идеально удовлетворять все пожелания работающего с ним. Правда эта настройка может продолжаться месяцы, а то и годы, что является и достоинством, и недостатком vim’а. Существует множество статей и туториалов по использованию Vim для разработки на Python и Django, надеюсь мне удастся рассказать что-то новое. В своей статье я постараюсь по минимуму упоминать плагины общего назначения, вроде NERDTree или surround.vim и опишу несколько более специализированных расширений и настроек, которые существенно упростили процесс работы на Python.
Читать дальше →

Замена " на ' и обратно одним кликом

Время на прочтение1 мин
Количество просмотров6.7K
Добавляем в .vimrc:
function! s:ToggleQuote()
    let q = searchpos("'", 'n', line('.'))
    let qb = searchpos("'", 'bn', line('.'))
    let dq = searchpos('"', 'n', line('.'))
    let dqb = searchpos('"', 'bn', line('.'))

    if q[0] > 0 && qb[0] > 0 && (dq[0] == 0 || dq[0] > q[0])
        execute "normal mzcs'\"`z"
    elseif dq[0] > 0 && dqb[0] > 0
        execute "normal mzcs\"'`z"
    endif
endfunction

nnoremap <silent>'  :<C-U>call <SID>ToggleQuote()<CR>


Если курсор переместить внутрь кавычек и нажать ', то кавычки поменяются на двойные/одинарные.

ps. скрипт использует vim-surround.

Консольный VIM в Windows

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

Введение


Бывают ситуации, когда очень хочется использовать любимый редактор, но под рукой нету *nix операционных систем, либо разработка ведётся на Windows.

Первое что приходит на ум — использование Windows версии gVim, но в этом случае возникает куча проблем с установкой плагинов, переносом конфигов и адаптации всего и вся. Что-то не будет компилироваться без бубна (например Ctrl-p), а что-то падать во время работы.
Читать дальше →

Продвинутая настройка VIM

Время на прочтение13 мин
Количество просмотров46K
Одно из правил эффективного использования редактора гласит следующее — определите, на что у Вас тратится больше всего времени при наборе текста, и улучшите это.
Как показывает практика, часто пользователи этого редактора ограничиваются установкой опций, коих конечно не мало. Затем ставят какой-нибудь плагин-мега-пак по советам знатоков, и вроде бы все устраивает, кроме… первого, второго, третьего…
Но ведь если пойти дальше, можно обнаружить бесконечный потенциал для увеличения производительности в использовании своего редактора.



В этой статье я попытаюсь описать немного продвинутый способ настройки Vim.
Мы рассмотрим с Вами внутренний скриптинг и поймем, что ничего в нем нет страшного, обычный скриптовый язык.
Данный материал рассчитан на довольно подготовленных пользователях редактора Vim. Для тех, кто разобрался, что такое режимы редактора, буферы, окна. Статья написана в стиле «Одна глава — один конкретный рецепт — одно описание синтаксической структуры языка».

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

Эффективная разработка игр и не только

Время на прочтение2 мин
Количество просмотров13K
Инструменты, которые помогают облегчить жизнь и ускорить решение повседневных задач это слабость многих разработчиков. Этот рассказ, как раз про такие штуки. Несколько месяцев назад для комментария на хабре записал видео своего рабочего процесса разработки игры.
После чего я пообещал расписать, как там все устроено. Время пришло.
Читать дальше →

Vim в Windows и переключение раскладки клавиатуры

Время на прочтение2 мин
Количество просмотров9.3K
UPD: Это «историческая» версия топика. Новое решение проблемы смотреть здесь.

Проблема русской раскладки в Vim поднималась много раз. Одно из решений можно увидеть здесь, однако оно заставляет привыкать к новой горячей клавише для переключения раскладки. Также существует множество решений с вызовом системной утилиты для смены раскладки, но под Windows подобной утилиты не нашел, так что пришлось реализовать её самостоятельно.
Читать дальше →

Удобная разработка для OS Inferno в Vim

Время на прочтение2 мин
Количество просмотров5.5K
FAQ: Что такое OS Inferno и зачем она нужна?

Под инферно писать софт можно как внутри самой инферно (используя Acme IDE, компилятор limbo и mk для сборки), так и снаружи, в host os (используя любой редактор/IDE, и host os -версии limbo и mk) — при этом запускать инферно понадобится только для запуска тестов или отладки. Я подготовил несколько проектов/скриптов, которые предназначены упростить разработку под инферно вообще, и разработку используя Vim запущенный в host os в частности.
Читать дальше →

Плагин для записи процесса редактирования файла

Время на прочтение1 мин
Количество просмотров3.6K
Обнаружил на просторах интернета забавный плагин для VIM — Homura.
Он позволяет записывать историю редактирования и преобразовывать её в
интерактивный HTML, с возможностью перемотки и управлением скоростью
проигрывания.
Читать дальше →

Пишем плагин для поддержки cmake проектов под vim

Время на прочтение5 мин
Количество просмотров6.4K
Сегодня поговорим о создании дополнений для VIM.

Недавно у меня возникла идея вкрутить в него поддержку cmake проектов для удобной навигации по файлам. С этой задачей, конечно, вполне справится NERD Tree, но в последнем нельзя оперировать исключительно файлами проекта.

Ахтунг: Автор статьи впервые познакомился с Vim Script. Он не гарантирует, что вы не упадете в обморок после прочтения статьи. Любые пожелания касательно кода оставляйте в комментариях.

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

Некоторые особенности VimL

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

В этой статье я хочу рассказать о некоторых особенностях VimL, зачастую неочевидных, которые надо знать человеку, желающему написать хорошее дополнение для Vim. Для понимания статьи требуется знание vimscript и рекомендуется наличие как минимум одного написанного дополнения. Людям, не желающим написать своё собственное дополнение статья будет, по большей части, бесполезна.
Читать дальше →

Vim :bw, :bd, :bun, :quit, :close. Что со всем этим делать?

Время на прочтение3 мин
Количество просмотров11K
Vim имеет множество команд для закрытия чего угодно и в каких угодно сочетаниях, но чего он не умеет так это закрывать все одной командой. Человеку который начал использовать Vim недавно, это может показаться довольно странным. Попробуем разобраться, как исправить эту ситуацию.
Читать дальше →

Vim на рабочий стол

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

Здравствуйте, коллеги!
После прочтения данной статьи, я понял, что использую этот редактор не на полную мощность. Для того чтобы изучить и запомнить основные используемые команды Vim, нарисовал Wallpaper шпаргалку. Список команд не претендует на полноту, но большинство из них будут вам полезны при работе с Vim. Ее можно будет поставить на рабочий стол или просто открывать по мере необходимости.
Под катом сама картинка:
Читать дальше →

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

Vim

Время на прочтение3 мин
Количество просмотров18K
Всё начиналось в меру невинно. На первом курсе ты экспериментировал один или два раза, но Nano и Pico были проще, они были ближе к тому, чем ты уже пользовался в средней школе на машинах с Windows и Mac. Но время текло, твой багаж знаний пополнялся тем, что вам давали в вузе, и ты начал что-то замечать: все действительно великие программисты, люди, которым под силу было уместить в 4 строчки, то, для чего тебе требовалось 10 страниц кода, те, у которых богатое функциональностью решение учебного проекта было готово через день, в то время как ты неделями мучался лишь с базой, никто из них не пользовался Nano или Pico.

Однажды, засидевшись допоздна за заданиями, которые должны были быть готовы к полуночи, ты мимолетом опустил взгляд за плечо одного из этих тихих убер-программистов. Ряды мониторов в темноте компьютерной лаборатории сверкнули в твои глаза, и в трепете ты наблюдал невозможные узоры кода и текстовые манипуляции, которые озаряли экран.

«Как ты это делаешь?» — недоверчиво спросил ты.

Твою жизнь изменил лаконичный ответ, состоящий из одного слога: «Vim.»

Вначале ты был раздражен и куда менее производителен. История браузера являла полный индекс документации Vim, твои Nano и Pico-друзья считали тебя сумасшедшим, Emacs-товарищи умоляли одуматься, ты заплатил деньги за ламинированный экземпляр пямятки Vim. Даже спустя недели тренировок, ты всё ещё по привычке иногда тянулся к мыши, но затем одергивал руку, понимая, что придется искать в сети нужную комбинацию для выполнения рутинной операции, о которой раньше тебе никогда не приходилось задумываться.
Читать дальше →

Vico мертв. Да здравствует Vico

Время на прочтение1 мин
Количество просмотров2.1K
Vico — один из редакторов «Vim 21 века» был предоставлен OpenSource сообществу.

Мартин прокоментировал это так:
«В последние месяцы, развите Vico зашло в тупик. Это является плохой новостью для многих пользователей, и для меня, поскольку я не могу больше тратить время на Vico, как хотелось бы. Мои планы на Vico были грандиознее.

Поэтому я выпускаю исходный код на Github для внесения вклада в OpenSource сообщество и создания действительно хорошего редактора. ...»

VIM — жестокий и беспощадный

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


Если коротко, то это аппаратное расширение для ускорения работы с vim.

Когда педаль нажата, vim переходит в Insert Mode. Когда отпущена, происходит нажатие Escape, и вы возвращаетесь в Normal Mode.

Автор проекта — Александр Левчук.

Всем чудных выходных!

ТОП-10 подводных камней, на которые вы можете наткнуться при переходе на Vim

Время на прочтение5 мин
Количество просмотров15K
Согласитесь, каждый раз, когда вы видите человека, который использует Vim, вам кажется, что он знает то, чего не знаете вы. Иначе, как вы можете объяснить тот факт, что он использует редактор, который, по вашему мнению, является open-source мусором? Думайте, что хотите, но есть целый ряд причин, по которым програмисты поклоняются Vim.
Пока вы не потратите по крайней мере месяц на ознакомление с ним, вы, несомненно, будете его ненавидеть. Именно по этой причине большинство новичков работают с Vim около дня, после чего больше никогда к нему не притрагиваются. Они даже представить себе не могут, какой невероятной скоростью и гибкостью он обладает. Нужно всего-лишь найти в себе силы и преодолеть те трудности, которые встретятся вам на протяжении всего того времени, что вы знакомитесь с Vim.
Читать дальше →

Играй и изучай VIM одновременно

Время на прочтение1 мин
Количество просмотров22K
Наткнулся на интересную вещицу: VIM Adventures.



Это онлайн игра основанная на хоткеях текстового редактора VIM. Полезна будет тем, кто всегда боялся открывать VIM, чтобы, наконец, пересилить страх; а также тем, кто уже давно знаком с VIM, чтобы просто получить немного удовольствия.

VIM, Django… Django, VIM

Время на прочтение2 мин
Количество просмотров11K
Вот казалось бы сейчас, как никогда должна быть масса крутых IDE для разработки на Django. И они есть — взять хотя бы PyCharm или PyDev. Но мне они никогда не нравились. Я всю свою карьеру Python-разработчика пользовался SciTE + Scintilllua (вот мой конфиг, если кому нужен) и был вполне доволен. Но черт меня дернул попробовать VIM с Emacs и я уже не смог вернуться на SciTE. Нет, это отличный редактор, но большую часть работы я пишу код и уже не могу представить, как можно было работать в текстовом редакторе с мышкой или каждый раз тянуть руку к стрелкам, чтобы перейти на новую строку, а потом к End, чтобы перейти в конец строки. Оставалось мне только по-минимуму настроить свой VIM для удобной разработки на Django.
Читать дальше →

Подсветка синтаксиса в VIM: полное погружение

Время на прочтение6 мин
Количество просмотров49K
VIM примечателен тем, как просто и гибко его можно настраивать. В этой статье я подробно опишу, как легко и просто можно создавать собственные правила подсветки синтаксиса на различных примерах.

Да, на хабре об этом уже была cтатья, однако в ней тема была рассмотрена очень уж поверхностно, а я постараюсь разобраться в этом подробно. Будут рассмотрены от самых простых примеров, включая улучшения подсветки html для подсветки тэгов хабраразметки, до создания подсветки для полноценных языков программирования, с «контекстно-зависимой» подсветкой синтаксиса.
Кого заинтересвало, прошу читать далее

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