mime
Как бороться с mime property в svn
SVN при добавлении файла в репозиторий автоматически определяет бинарный это файл или нет. В зависимости от этого SVN будет вести себя с файлом по разному
(в частности не будет выводить diff для таких файлов).
Но бывает так что файл является текстовым, но править его как текст вы вряд ли будете.
Например ps, eps, xpm. И правке таких файлов получаются мегабайтные diff между commit, в которых трудно ориентироваться.
Для исправления этого недоразумения для файлов которые уже в репозитории можно указать напрямую MIME этого файла. Все что будет отличатся от text/* не будет интерпретироваться как текст. Например в директории img дадим всем .eps файлам правильный MIME и закомитим изменения.
$ svn propset svn:mime-type application/postscript img/*.eps $ svn commit -m "fix mime for .eps"
Какие mime какому типу файла соответствуют можно подсмотреть в /etc/mailcap. и man mime незабудьте
прочесть Ж:-)
В долгосрочной перспективе рекомендую добавить в ~/.subversion/config этот текст
что бы все нужные propertis устанавливались автоматически.
Запуск приложений в зависимости от типа файлов в zsh
Когда то в http://linsovet.com/zsh-lazy-run-url я обещал рассказать о том как запускать программы lazy-style.. рассказываю Ж:-)
Есть в zsh особенность которая напоминает возможность в Windows запускать приложения "вызовом" файла которое это приложение обрабатывает.
В zsh для этого сущетвуют специальный тип алиасов. Например:
$ alias -s avi=mplayer $ ezhik.v.tumane.avi
запустит команду mplayer ezhik.v.tumane.avi
примеры использования:
alias -s {avi,mpeg,mpg,mov,m2v}=mplayer
alias -s {odt,doc,sxw,rtf}=ooffice
alias -s {c,h}=vim
alias -s tgz="tar zxvf"к сожалению alias -s tar.gz="tar zxvf" не работает.. никто не хочет патчик сделать? Ж:-D
но это еще не все Ж:-) как обычно когда в zsh есть какая то фича, то найдется кто то и доведет идею до маразм.. совершенства Ж:-) cуществует плагин в стандартной поставке zsh который обрабатывает базу данных mime и создает множество алиасов для всех типов файлов.
Быстрое открыте url для ленивых
Мне постоянно присылают в icq и irc всевозможные ссылки и для их открытия приходилось делать множество телодвижений, как то открытие/переключение в броузер, открытия окна, копирования ссылки, открытия..
Это решение позволяет выделять текст в котором находятся ссылки и нажатием клавиши открыть все эти ссылки в броузере.<
Во-первых нам нужен скрипт который из потока текста вылавливает ссылки. Регесп честно содран из man urlview Ж:-D
% cat ~/bin/cut-urls #!/usr/bin/env perl # by # cut urls from stdio # regex from man urlview while(<>) { while (s$((((http|https|ftp|gopher)|mailto):(//)?[^< >"\t]*|(www|ftp)[0-9]?\.[-a-z0-9.]+)[^".,;\t\n\r< >\):]?[^,< >"\t]*[^".,;\t\n\r< >\):])$$) { print "$1\n"; } } %
Во вторых существует такая замечательная программа как xclip которая позволяет работать с буфером X в консоли.

