2009-08-12

SSH через http-proxy

Выжимка из этой статьи для конкретной ситуации.
Имеем: Ubuntu 9.04 и анонимный http-proxy (в моем случае Usergate) для выхода в интернет с работы.
Задача: подключиться по ssh к хостингу на masterhost.
Решение:

$sudo apt-get install corkscrew

~/.ssh/config:
Host uXXXXX.ssh.masterhost.ru
ProxyCommand corkscrew proxy_ip_address proxy_port %h %p

Готово.

2009-08-11

Программа для изучения Библии в Linux: добавлен перевод KJV.

Собственно, тема все раскрывает. Теперь в программе есть два перевода - русский Синодальный с апокрифами и King James version без апокрифов.
http://files.mail.ru/GQ0PHF
Особенности:
- поиск английского текста - без учета регистра, русского - с учетом регистра;
- просмотр параллельных мест - по клику на номер стиха;
- выделение текста и клавиша F5 - поиск выделенного фрагмента;
- клик по названию найденного фрагмента - показать весь текст главы;
Есть баг - если смотреть русские тексты апокрифов, потом перейти в английский перевод, закрыть программу и снова запустить - она не откроется, т.к. ищет тексты апокрифов в KJV и не находит. Будет исправлено, пока же просто старайтесь так не делать. В случае чего - удалите файл ~/.Bible.conf и все будет запущено с настройками по умолчанию.

VIM: как назначить запуск скриптов на горячую клавишу

Задача: по нажатию F5 передавать скрипт разным программам, в зависимости от расширения файла (как это реализовано в SciTE).
Вот пара вариантов ее решения. Просто добавим в ~/.vimrc один из этих блоков.

1) Написание функции:

function Run()
let $ext=expand("%:e")
if $ext=="py"
!/usr/bin/env python "%"
elseif $ext=="php"
!/usr/bin/env php "%"
elseif $ext=="html" | $ext=="mako" | $ext=="htm"
!firefox "%"
endif
endfunction
map <F5> :call Run()

Здесь мы получаем расширение файла % через модификатор :e, присваиваем его переменной $ext, после чего по этому признаку решаем, что будем делать с файлом. Потом привязываем вызов функции к горячей клавише F5.

2) Использование автокоманд:

autocmd BufEnter *.py map <F5> !/usr/bin/env python %
autocmd BufLeave *.py unmap <F5>
autocmd BufEnter *.php map <F5> !/usr/bin/env php %
autocmd BufLeave *.php unmap <F5>

Теперь при редактировании скрипта за F5 закреплена команда запуска, а при потере фокуса эта привязка сбрасывается.

Оба способа имеют право на существование, но я остановился на первом.

P.S. Мой .vimrc

2009-07-27

Aptana и тормоза

Краткая заметка для себя.
Устанавливая Aptana, нужно предварительно установить и немного настроить Java:
$sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
$sudo update-alternatives --config java
Выбрать пункт 1 (/usr/lib/jvm/java-6-sun/jre/bin/java)
Иначе будет очень тормозить.
Взято с хабра.

2009-07-22

Gedit-плагин для фолдинга (folding)

Вообще-то Gedit - это не текстовый редактор. Особенно для программистов. А тем более на Python.
На самом деле это конструктор. Имеющиеся возможности по созданию плагинов делают его эдаким лего - не хватает какой-либо функции - добавь плагин. Нет нужного - напиши сам и не забудь поделиться с другими. И это хорошо и правильно.
Мне не хватало фолдинга - возможности сворачивать блоки кода для облегчения работы с большими объемами текста. Начало положено!
Что можно: сворачивание выделенного текста и сворачивание по отступам (блоки типа def, if, class и т.п.) по горячим клавишам Alt-Z. Разворачивание по ним-же. Развернуть все блоки - Alt-X
Скачать архив и распаковать файлы в ~/.gnome2/gedit/plugins/

Скачать
P.S. Python 2.6, Gedit 2.26.1