Показаны сообщения с ярлыком vim. Показать все сообщения
Показаны сообщения с ярлыком vim. Показать все сообщения

14 авг. 2015 г.

VIM: форматирование JSON

Ну, vim тут, конечно, чисто как лаунчер, но в вордах такого не сделаешь:

:%!python -m json.tool


На выходе получаем отформатированный JSON из каши.

28 сент. 2013 г.

Vim: обрамление выделенного текста другим текстом

Простой регексп для размещения в начале и конце выделенного текста определенных токенов (token1, token2):
:'<,'>s/\%V\(.*\)\%V/token1\1token2)/

22 июн. 2012 г.

Команды vimdiff

Логичным продолжением поста о связке svn diff с vimdiff стало использование автором самого vimdiff :) Так как vimdiff - это просто алиас для запуска vim в режиме сверки (ключ -d), то и команды работают все те же, что и в обычном режиме vim. Но несколько есть дополнительных (схема именования команд соответствует общей схеме, принятой в vim):


  • ctrl+w ctrl+w - switch windows (переключениями между окнами/буферами)
  • do - diff obtain (принять вариант текущего блока отличий из соседнего окна)
  • dp - diff put (перенести вариант блока отличий из текущего окна в соседнее)
  • [c - previous difference (перейти к предыдущему блоку отличий)
  • ]c - next difference (перейти к следующему блоку отличий)
  • :diffu[pdate] - diff update (произвести повторное сравнение файлов - если вдруг в ходе сложных изменений вывод отличий пополз)
  • zo - open ZAfolded text (развернуть блок текста)
  • zc - close ZAfolded text (свернуть блок текста)


 Список не полон. Но для начала и вполне комфортной работы его хватает. Но и не стоит забывать про .vimrc, в котором можно перенастроить все под себя.

6 июн. 2012 г.

*x. svn + vimdiff = тру!

Небольшое описание настройки SVN с тем, чтобы дефолтным менеджером сравнения использовался трушный vimdiff (специальный режим работы vim). У SVN есть команда diff, которая сравнивает указанный файл с его предыдущими ревизиями - по умолчанию с предыдущей. И, опять-таки по умолчанию, она выводит список различий в довольно таки неудобочитаемом формате. Для использования внешнего менеджера различий нужно указать в командной строке модификатор --diff-cmd <команда запуска менеджера>, либо прописать <команда запуска менеджера> в файле ~/.subversion/config в параметре diff-cmd. Но не все так просто. SVN в дополнение к именам файлов передает менеджеру еще 5 параметров. При брутальном указании vimdiff он начинает ругаться на несуществующие файлы и отсутствующие команды. Для обхода этого используем unix-way - скрипты. Итаг:

1. создаем следующий файл bash-скрипта:
#!/bin/sh

# Configure your favorite diff program here.
VIMDIFFCMD="/usr/bin/vimdiff"

# Subversion provides the paths we need as the sixth and seventh
# parameters.
LEFT=${6}
RIGHT=${7}

# Call the diff command (change the following line to make sense for your merge program).
$VIMDIFFCMD "$LEFT" "$RIGHT"

называем его как-то типа svndiff.sh, устанавливаем права доступа для выполнения
chmod +x svndiff.sh
и кладем где-то в $PATH - можно в домашней директории, можно в /usr/local/bin - куда руки дотянутся.

2.  Далее в файле ~/.subversion/config добавляем/заменяем строку:
diff-cmd = svndiff.sh

Ну и в принципе все. Делаем
svn diff <filename>
и пользуемся правильными инструментами.

30 апр. 2010 г.

Самый короткий анекдот для приверженцев vim

Самый короткий анекдот для фанатов Vim и волна протеста от любителей Emacs.
vim ~/.emacs