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

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

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

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

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

Vim magic — Регистры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

vim, и как сделать из него полноценную IDE.

Время на прочтение2 мин
Количество просмотров15K
Vim (сокр. от Vi Improved, произносится Вим) — свободный режимный текстовый редактор, созданный на основе более старого vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, и созданным благодаря этому расширениям и надстройкам. (с)wiki

Вот и настроим. У меня была цель — сделать из Vim полноценную IDE для perl. Но таким же путем это делается и для любого другого языка.

Читать дальше →
Всего голосов 109: ↑95 и ↓14+81
Комментарии128

Vim как IDE для веб-разработки, и не только.

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

Рассмотрена настройка через конфигурационный файл vimrc и приведены ссылки на статьи с описанием отдельных моментов.

Кого-то VIM оттолкнет, показавшись поначалу слишком сложным или неудобным. Однако не стоит недооценивать его гибкость и возможность настройки себя, ведь из VIM можно буквально вылепить идеальный редактор/IDE, таким, каким вы представляете его себе.

Надеюсь, что эта статья поможет читателю убедиться в этом. Безусловно, она ориентирована, в первую очередь, на опытных пользователей Vim'а, но и новички смогут почерпнуть из нее немало полезного.

Я постарался писать как можно компактней, но без потери содержательной части, но статья все-равно вышла довольно объемной. Материал логически разбит на несколько разделов и совсем не обязательно читать его по порядку. Тем не менее, прочитать сведения по установке плагинов и настройке vimrc я рекомендую настоятельно.


Читать дальше →
Всего голосов 78: ↑75 и ↓3+72
Комментарии62

Как vim затмение победил(ходим по функциям как в eclipse)

Время на прочтение2 мин
Количество просмотров13K
Все началось с того что eclipse+pdt стал много съедать моего рабочего времени доедая последние метры двугектарной оперативы моего ноута. Знай вы, уважаемые хабралюди, к этому моменту про какой ноут идет речь, вам бы так же показался мой выбор очевидным. Но к моему разочарованию TextMate оказался не стоящим тех полсотни баксов, которые за него просят. Не судите строго! Один из основных критериев для меня была возможность бегать от вызовов к объявлениям функций… в нашем проекте это очень полезная функция :) Так вот в книге по textmate на это я не нашел ни даже намеков, а ближайший соратник на утро сказал, что textmate это все же редактор, но хватит о textmate — о нем еще немного в конце. А поскольку я все же *nix-оид со стажем — первой бесплатной альтернативой стал ***VIM*** тада!!!

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

VIM и twitter

Время на прочтение2 мин
Количество просмотров904
С недавнего времени стал пользоваться твиттером более активно чем ранее :) эго просит :)
Вот, а еще с совсем недавнего времени вновь стал пользоваться vim тоже более активно. Разверну знач на весь экран открытый в терминале vim с NERDTree и кучей открытых файлов и лабаю. Ни десктопа не вижу ни уведомлений — самое оно. Но все мы люди — и спустя какое-то время возникает желание узнать время(читай устаем). Вот, а в остальном комбайн работает — vim-консоль-browser-vim-консоль… :) И все хорошо — TwitterFox вовремя меня оповещает о немногочисленных событиях в моей френдленте твиттера и постить из него удобно… ан нет мне ж надо больше и что бы в дУше музыка играла и что бы в мобилке шахматы были :)
Ну и поставил я себе один плагин и теперь вот пишу в твиттер не отрываясь от работы(и буду писать).
Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии3

ropevim = vim + rope + python

Время на прочтение2 мин
Количество просмотров5K
Для python-разработчика и vim-юзера в одном человеке, ropevim приподнесет приятный сюрприз. Наконец-то в наш любимый редактор возможна безболезненная интеграция rope — python-библиотеки, предназначенной для рефакторинга. Для тех кто не слышал о rope, кратко перечислю некоторые из возможностей: довольно умное кододополнение, возможность переименования переменных и модулей, возможность перехода на описание объекта, где бы он ни оно не находилось, автоимпорт и прочее.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Делаем файлы сценариев исполняемыми

Время на прочтение1 мин
Количество просмотров2.1K
По долгу службы часто приходится писать сценарии (shell scripts) для автоматизации рутинных задач. После сохранения файла каждый раз необходимо давать ему право на исполнение. Подобную задачу также можно автоматизировать непосредственно средствами редактора.

Открываем/создаем файл ~/.vimrc и вносим в него следующую строку:
au BufWritePost * if getline(1) =~ "^#!" | if getline(1) =~ "/bin/" | silent !chmod a+x | endif | endif
Приведенная директива проверяет первую строку сохраняемого файла и, если она начинается с "#!" и содержит "/bin/", присваивает последнему исполняемый атрибут.

Источник: shell-fu.
Всего голосов 28: ↑26 и ↓2+24
Комментарии16

vim + psql

Время на прочтение3 мин
Количество просмотров5.1K
Уже пол года как перешели на vim. Работаем с RoR(ruby on rails) и javascript (Dojo).
Vim попищал недельку и стал служить верой и правдой.
Подкупает простота и в тоже время мощь этого редактора, особенно в *nix окружении.

в этой заметке я раскажу как легко подружить vim и psql (postgresql console client).
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии23

Настройка отступов в VIM

Время на прочтение2 мин
Количество просмотров69K
Процесс смены Komodo IDE на VIM я начал с изучения всевозможных туториалов и хау ту, однако, что удивительно, ни в одном из них мне не удалось встретить человеческого описания процесса настройки отступов. В одних предлагали регулировать ширину отступа с помощью опции tabstop, в других — с помощью softtabstop, в третьих — выставлять и то и другое и shiftwidth в придачу. После нескольких часов экспериментов с настройками я понял, что единственный способ не только заставить все работать, но и понять, почему оно работает — читать документацию. Своими «открытиями» я и хочу с вами поделиться.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии39

Выполняем sudo при записи

Время на прочтение1 мин
Количество просмотров7K
В дополнение к предыдущей заметке "Делаем файлы сценариев исполняемыми"...

В практике системного администратора иногда случается так, что начинаешь править какой-либо сценарий, автоматизирующий процесс резервного копирования, например, а в конце концов выясняется, что не хватает прав на запись в данный файл, который, возможно, принадлежит пользователю root. Чтобы не сильно изворачиваться в подобной ситуации, сохранение изменений производим командой
:w !sudo tee %

Вопросы безопасности в данном случае находятся в рамках sudo.
Всего голосов 45: ↑42 и ↓3+39
Комментарии46

.vimrc, который всегда со мной

Время на прочтение2 мин
Количество просмотров63K
Моему .vimrc уже больше восьми лет. Он помнит времена PentiumII, Debian Potato и gcc настолько древнего, что я уже и не помню его версии. Он развивался с пятой версии Vim, приобретал полезные фрагменты и избавлялся от ненужных. И вот внезапно захотелось поделиться с вами его содержимым. Весь файл я показывать пока не буду, лишь пройдусь по некоторым, на мой взгляд, интересным моментам.
Читать дальше →
Всего голосов 75: ↑67 и ↓8+59
Комментарии70

Vim Ruby Debugger

Время на прочтение3 мин
Количество просмотров6.3K
До недавнего времени я писал Ruby код в Netbeans. Штука клевая и очень удобная, но я давно заглядывался на Vim, уж больно он мощный текстовый редактор, бобам и не снилось. Пытался несколько раз на него перейти, но как только встречался какой-то затык в коде, закрывал Vim, открывал Netbeans, ставил брейкпоинт и начинал разбираться что не так. В общем, привык я к отладчику.

Помучившись некоторое время, пришла идея написать Ruby дебаггер под Vim. Открыл код rails.vim, NERDTree.vim и начал учиться VimScript'у. Так что спасибо tpope и Marty Grenfell за уроки (хотя наверно они никогда этого не прочтут и не узнают об этом). Плагин можно сейчас лицезреть на гитхабе.
Как это установить и как этим пользоваться
Всего голосов 43: ↑39 и ↓4+35
Комментарии24

Vim и Visual Studio

Время на прочтение3 мин
Количество просмотров16K
Долгое время я использовал только один текстовый редактор — Vim. Но вот я пришёл на новую работу и ситуация изменилась. Мне было предложено работать над относительно большим (> 300000 строк) коллективным проектом. Проект написан в Visual Studio, в качестве системы контроля версий используется MS Source Safe. Мысль писать в VS мне сразу не понравилось, но, поскольку все остальные условия меня более чем устраивали, я согласился.

Несколько дней я поработал в «пустой» VS и понял, что долго так продолжаться не может. Слишком уж неудобным показался редактор студии после нескольких лет регулярного использования Vim. И я начал искать способ продолжать работу над проектом и при этом использовать свой любимый редактор.

Непродолжительный поиск дал следующие варианты частичного решения проблемы.
Читать дальше →
Всего голосов 58: ↑40 и ↓18+22
Комментарии199

Серия скринкастов по VIM

Время на прочтение1 мин
Количество просмотров5.7K
Если вы хотели начать работать с VIM, но вас что-то останавливало, то перед вами прекрасная возможность начать снова.

Ну а если вы уже продвинутый Vimmer то для вас тоже найдётся что посмотреть.
Всего голосов 67: ↑57 и ↓10+47
Комментарии29