Обновить
16K+

VIM *

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Создаем свою подсветку синтаксиса

Время на прочтение3 мин
Охват и читатели7.6K
Немного предыстории. Не так давно я решил присоединиться к проекту w3af (Web Application Attack and Audit Framework). В этом приложении есть возможность автоматизировать повторяющиеся действия с помощью скриптов команд (такой аналог батников и шелл-скриптов).

# This is a test for the 404 fingerprinting of the core
plugins
output console,textFile
output
output config textFile
set fileName output-w3af.txt
set verbose True
back
output config console
set verbose False
back
discovery pykto,serverHeader

discovery config pykto
#set mutateTests True
back

back
target
set target localhost/w3af
back
start


Постоянно работая с ними, я подумал, а почему так все блекло? И родилась идея сделать простую подсветку синтаксиса для w3af скриптов.
Читать дальше →

Устрой bug fix day

Время на прочтение1 мин
Охват и читатели1.3K
FIXME, TODO, XXX стандартный способ указать в комментариях: «Эй! Будет время — исправь этот грязный хак!». К примеру любимый (и не любимый) многими Eclipse имеет замечательное окошко где отображаются всё TODO по проекту.
Что нам мешает сделать это в vim? Что для этого нужно? grep и quick fix window.
Выполнив в vim команду :grep или :vimgrep, список совпадений будет доступен в quick fix window, доступное по :copen или :cw
Я повесил это чудо на хоткей:
map <F6> :vimgrep /fixme\\|todo/j *.[c,cpp,h,hpp,py]<CR>:cw<CR>

Поменяй расширения на нужные вам, F6 и начинай наконец фиксить!

Умный make

Время на прочтение1 мин
Охват и читатели4.4K
Большенство адэптов vim, которые использую его для работы с кодом, знают про такие комманды как :make и :cw. Первая запускает make, а вторая выводит список ошибок.
Так уж сложилось, что мои основные рабочие (те которые использую на работе :)) языки это Си и C++. И часто бывает, что нужно написать программку в один файл, дабы проверить какой-то алгоритм, функцию или идею. При том писать makefile для одного файла в лом, а так хочется использовать привычную комбинацию клавиш. Набросал замечательный солюшен:
if filereadable("Makefile")
	set makeprg=make\ -j4
	map <C-b> :make<CR>:cw<CR>
else
	map <C-b> :make %:r<CR>:cw<CR>
endif

Как видно суть в том, что запускать просто make при наличае makefile и make имя_файла при отсутствии. make -j4 указывает на запуск четырёх потоков сборки, для двухядерных процессоров самое оно, особенно в сочетании с ключеком -pipe для gcc :)

html omnicomplete

Время на прочтение1 мин
Охват и читатели2.8K
Читая группу vim_use, узнал, что vim’овский omni completion (который есть простенький аналог intelliSense) умеет закрывать html тэги.
Пример:
<table> </<C-X><C-O>
<C-X><C-O> закроет table
Можно, конечно, использовать скрипт closetag.vim. Там, для закрытия тэга, писать </ не надо — это плюс. Правда его нужно устанавливать отдельно — это минус.
Я, скорее всего, откажусь от closetag’а и буду использовать omni completion.
Примерно так:
imap <C-_> </<C-X><C-O>
Нажимаешь <C-_> — открытый тэг закрыватся.

Вышел Vim 7.2

Время на прочтение1 мин
Охват и читатели775
Версия 7.2 включает множественные обновления и исправления ошибок с версии 7.1, а также новые файлы рантайма.

Единственная новая фича — поддержка чисел с плавающей точкой в Vim-скриптах.

После установки Vim 7.2 детали изменений можно посмотреть в :help version-7.2

Official release announcement

Качать

Happy Vimming!

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

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

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

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

Вступление


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

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

Время на прочтение1 мин
Охват и читатели4.1K
Между прочим, Vim не умеет разворачивать своё окно на полный экран. Но можно его заставить, подключив дэлелелину с нужным функционалом. Дэлелелину берем в плагине.
Инструкция по установке

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

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

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

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

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

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

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

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

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

Vim magic — Регистры

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

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

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

Овладеть особой магией регистров

Окна и буферы

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

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

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

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

Обычно цикл работы с кодом сводится к поправить код-скомпилировать-поправить код-скомпилировать-… В Vim есть средства, заточенные специально под этот процесс.
Выглядит это так:

Vim magic — Visual mode

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

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

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

А теперь немного особой, Vimовской магии

Настоящее оборудование для Vi/Vim

Время на прочтение1 мин
Охват и читатели2.2K
Обратите внимание, уважаемые фаны Vi/Vim, для какой периферии был первоначально изготовлен ваш любимый редактор. Это вам не хухры-мухры, а терминал ADM-3A, между прочим, со скоростью передачи данных от 75 бод, и стоивший
чудовищную сумму

Кодировки

Время на прочтение2 мин
Охват и читатели40K
Тут на самом деле всё просто. Храните все тексты в Unicode и будет вам счастье (при условии правильно установленной опции 'encoding' конечно ;) В ином случае (у вас куча текстов в национальных кодировках) придется
дочитать топик до конца

Все немецкие дети должны делать это в vim

Время на прочтение1 мин
Охват и читатели3.2K
Все немецкие дети, с покупкой нового компьютера, в нагрузку получают на него линукс, а как главный текстовый редактор там выступает конечно vim. И для того, чтобы детям проще было запомнить хотя бы основные команды, им покупают специальные чашки для кофе (да, кофе):

Photo06291033.jpg - Picamatic - upload your images
смотреть дальше