← All posts tagged Vim

longedok
футбол коша Vim хоккей снукер Подлое белорусское телевидение показало Беларусь — Франция, вместо Россия — Сербия. Но это ничего. Снукерный финал суперофигенный вышел. Я опупел, когда Хиггинс последний розовый даблом закатил. Трамп красавец. Но болел я таки за Вильямса весь чемпионат. Барсу — Реал даже не стал досматривать после хоккея. Кошу нафоткал, но фотки на бук скинуть забыл. А ещё плагин для вима запилил, который даже работает, но пока плохо. Плагин повторяет возможности Code Defenition Window в Visual Studio.
longedok
Vim Асинхронный запуск программ по :! из вима в винде:
:!start <program_name>
Как же мне не хватало этой фичи! А сейчас вот наткнулся случайно в документации.
longedok
Vim Алгоритм решения проблем/вопросов по vim'у:
обозначения:
%the_shortest_problem_description% — наиболее краткое (но при этом достаточно полное) описание проблемы, какое вы только сможете придумать.
%problem_description% — более развёрнутое описание проблемы.

(Переходить к следующему шагу нужно только если текущий завершился провалом)

0) убеждаемся, что у вас вообще vim (добавлено всвязи с #993416).
1) :help %the_shortest_problem_description%
2) :helpgrep %the_shortest_problem_desctiption%
3) vim.wikia.org ищем там %the_shortest_problem_desctiption%
4) отключаем все плагины, которые теоретически могут вызвать проблему, проверяем маппинги/опции в vimrc_
5) vim@conference.jabber.ru задаём %problem_description%
6) juick, сообщение с тегом *vim и текстом %problem_desctiption%

Обычно алгоритм заканчивается на 3-ем шагу, реже на 4-5. С момента разработки этого алгоритма, до 6-го шага я ещё не доходил ;)
longedok
Vim Такие вот маппинги для редактирования и перезагрузки налету vimrc:
:nmap <Leader>u :source $MYVIMRC<CR>
:nmap <Leader>e :e $MYVIMRC<CR>
По умолчанию <Leader> это \, если кто не знал (то есть комманды будут иметь вид \u и \e). К слову, я перемапил себе leader на "," (let mapleader=",").
longedok
Vim Пользуюсь такими вот незамысловатыми маппингами для перемещения по рассплитенным окошкам. Очень удобно.
noremap <C-h> <C-W>h
noremap <C-j> <C-W>j
noremap <C-k> <C-W>k
noremap <C-l> <C-W>l
longedok
Vim autocmd CursorMoved * silent! exe printf("match Search \\<%s\\>", expand('<cword>'))
" подсвечивает все слова, которые совпадают со словом под курсором.
Подсмотрел в твиттере Дерека Уайтта.
(upd: исправленный варинт. прошлый был не совсем верным)
longedok
Vim Интересно, каково виму, когда я просматриваю в нём его же собственные исходники? Мне бы, наверное, было бы немного не по себе.
longedok
Vim Перемещаться по рассплитенным окнам в виме по ctrl-hjkl архиудобно! Minibuff-плагин тоже, кстати, архиудобен (показывает очень минималистичный список открытых буфферов).
longedok
Vim Занимался тюнингом своего вима. Прикручивал контекстнозависимое автодополнение для c++. Когда совсем ничего не получалось и опускались руки, я просто шёл на vimeo и смотрел видеоподкаст Дерека Уайта. Заряд особой, виомвской энергии получаешь прям.
longedok
Vim Ох на что в сети наткнулся! Видео, в котором Брэм Муленаар рассказывает об использовании Вима. video.google.com Некоторые шутки ему не очень удаются, но программист, а не шоумен :)
longedok
Python Vim Мне удалось скомпилировать на винде вим с поддержкой питона. Богомерзкий vimscript идёт в жепь. Напишу-ка я теперь какой-нибудь экстеншен, в образовательных целях.
longedok
Vim На самом деле я был вскормлен и воспитан стаей диких Брэмов Муленааров. С тех пор vim в моей крови, костях и мозге. Иногда я перестаю ощущать связь между реальностью и редактором — все мои мысли напрямую транслируются в комнады. Гармония человека и программного обеспечения.
longedok
Vim Таки дописал свой первый compiler plugin. Готового для open watcom в интернетах не нашёл. Пришлось помучаться конечно, но результат стоил того. Осталось правильно настроить vimc плагин и среда разработки для C++ будет готова :)
longedok
Vim Lisp Мне попеременно взрывают мозг то lisp (scheme вот вчера вечером постарался), то vim. А вот представьте что бы было, если бы взять такой же мощный текстовый редактор и совместить его с lisp'ом! Ну, я имею в виду, чтобы расширения к нему на лиспе писать можно было. Какая мощная и клёвая хренотень получилась бы!
longedok
Vim Ох vim. Каждое длительное чтение твоей документации наводит на меня священный ужас. Просто поражаешься иногда, твоим возможностям.

Правда и странностям тоже поражаешься. Например vim-script. Странные в этом вим-скрипте области видимости. a:variable_name — параметр функции, например. Без a: нельзя. Имена функций определяемых юзером должны начинаться с большой буквы. Объекты — это вообще словари, ключи которых имена функций, а значения — указатели на эти функции.

А вообще, походу чтения раздела про vim-script узнал парочку интересных команд для скроллинга и перемещения по тексту (zz, zt, zb, <c-d>, <c-u>). Раньше ими не пользовался.
longedok
RU JuBo Vim Написал вот себе небольшой макрос для вима, чтобы привести все мои тэги в jubo к правильному виду. *tagname — неправильно, {tag:*tagname} — правильно. Собственно сам макрос:
mav$h"wyG$a [esc]"tph"wp'a
Как это работает: создаёте файл, в первой строке пишете фразу {tag:} , затем копируете её в буфер t (v$h"ty). Дальше копируете из jubo список тэгов и вставляете их со второй по n-ую строчку (где n кол-во тэгов). Переходите на последнюю строчку (G), создаёте за ней ещё одну (o) и пишете "add". Переключаетесь в обычный режим [esc] и переходите на вторую строку, стартуете запись макроса a (qa), повторяете приведённую выше последовательность и завершаете запись макроса (q). С третьей строчки, необходимое кол-во раз (общее_кол-во_строк минус 1) выполняете только что записаный макрос необходимое кол-во (x@a где x — необходимое кол-во раз). В последней строке файла будет результат. Вим рулед, да.
longedok
Vim Жуйк, нужна помощь. Как сделать так, чтобы вим запускался нужных тебе размеров? А ещё лучше, чтобы размер окна вима был таким же, как и при прошлом закрытии. Нашёл в документации параметр -geometry WxH+X+Y, но он почему-то не хочет работать: выдаёт ошибку "слишком много аргументов редактирования".
longedok
Vim С автодополнением для css я разобрался — там всё очень просто. Вместо обычного дополнения (ctrl-p) нужно было использовать omni-дополнение (ctrl-x ctrl-o). Вот с автоиндентами (автоматической расстановкой табуляции) пока проблемы. Я уже нашёл функцию, которая отвечает за инденты в css файлах — дело за малым: исправить её или переписать :)
longedok
Vim Я конечно понимаю, что у всех сейчас хоккей и всё такое. Но не мог бы кто-нибудь подсказать, как заставить vim нормально работать с css файлами. У меня он работает как-то криво — нефига не дополняет, табы расставляет как-то очень по-левому или вобще не расставляет. Мб какой нибудь ftp плагин для этого дела есть хитрый?
longedok
Vim В последнее время, часто вижу вопросы о том, как правильно ставить в vim`е пальцы на блок клавиш "hjkl" при слепой печати (кто в теме — тот поймёт). Лично я ставлю указательный палец на "j", а мизинец на ";". При перемещении влево сдвигаю указтельный на "h". Имхо, так удобнее всего.