<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>СетевойГибитобой &#187; Linux</title>
	<atom:link href="http://www.dimio.org/category/texnokratiya/linux-texnokratiya/feed" rel="self" type="application/rss+xml" />
	<link>http://www.dimio.org</link>
	<description>Понемногу и обо всем, что приходит в голову или кажется интересным. Личный опыт и наработки. Linux, perl, AutoCAD, интернет и заработок в нём, туризм, путешествия и прочее.</description>
	<lastBuildDate>Fri, 09 Jul 2010 11:08:20 +0000</lastBuildDate>
	
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Синхронизация текстовых файлов&#160;&#8212; простой скрипт на Perl</title>
		<link>http://www.dimio.org/sinxronizaciya-tekstovyx-fajlov-prostoj-skript-na-perl.html</link>
		<comments>http://www.dimio.org/sinxronizaciya-tekstovyx-fajlov-prostoj-skript-na-perl.html#comments</comments>
		<pubDate>Fri, 09 Jul 2010 11:03:08 +0000</pubDate>
		<dc:creator>dimio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Кодинг]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[жизненное]]></category>
		<category><![CDATA[программинг]]></category>
		<category><![CDATA[скрипт]]></category>

		<guid isPermaLink="false">http://www.dimio.org/?p=284</guid>
		<description><![CDATA[Случилось так, что мне стало очень нужно синхронизировать ограниченный набор файлов между флешкой и компьютером. При этом руками копировать туда-сюда, вспоминая, какой файл редактировал последним&#160;&#8212; утомительно, а &#171;монстры&#187; синхронизации излишни ввиду примитивности задачи, ведь рекурсивная синхронизация директорий и прочие навороты мне ни к чему.
Решил набросать простейший скрипт на Perl (поскольку перл есть у меня и [...]]]></description>
			<content:encoded><![CDATA[<p>Случилось так, что мне стало очень нужно синхронизировать ограниченный набор файлов между флешкой и компьютером. При этом руками копировать туда-сюда, вспоминая, какой файл редактировал последним&nbsp;&mdash; утомительно, а &laquo;монстры&raquo; синхронизации излишни ввиду примитивности задачи, ведь рекурсивная синхронизация директорий и прочие навороты мне ни к чему.</p>
<p>Решил набросать простейший <a href="http://www.dimio.org/tag/perl">скрипт на Perl</a> (поскольку перл есть у меня и дома, и на работе, в отличие от баша например), который бы проходил по указанным мной файлам и синхронизировал их опираясь на дату последнего изменения, иными словами&nbsp;&mdash; более свежие файлы будут заменять устаревшие.</p>
<p><span id="more-284"></span></p>
<p>Сказано&nbsp;&mdash; сделано. Скрипт сравнивает пары файлов, перечисленных в хэше в теле самого скрипта и при необходимости производит синхронизацию. Текст скрипта приведён ниже, может пригодится кому-то помимо меня:</p>
<pre class="brush: perl">
#!/usr/bin/perl
#=================================================
#  DESCRIPTION:  Примитивный скрипт для попарной синхронизации указанных списком
#                ТЕКСТОВЫХ файлов. Синхронизация производится на основании времени
#                последнего изменения файла.
#
#        USAGE:  Вручную внести в список %files пары файлов, между которыми должна
#                выполняться синхронизация и запустить скрипт.
#
#       AUTHOR:  dimio
#          URL:  http://www.dimio.org
#      VERSION:  0.1
#      CREATED:  2010-07-08
#=================================================
require 5.8.8;
use warnings;
use strict;
use encoding &#039;utf8&#039;, STDOUT =&gt; &#039;utf8&#039;;
our $VERSION = &#039;0.1&#039;;

# Пары файлов для синхронизации указывать в списке ниже
# !правильность ввода имён как и само существование файлов не проверяются!
my %files = (
    &#039;/cygdrive/e/tst1/doc_accounting.odb&#039;  =&gt; &#039;./tst2/database.odb&#039;,
    &#039;/cygdrive/e/tst1/table.ods&#039;           =&gt; &#039;./tst2/file_for_test.ods&#039;,
    # и так далее до победного
);

# Процесс пошел...
foreach my $file (keys %files) {

    if ( (stat($file))[9] &gt; (stat($files{$file}))[9] ) { # если первый файл изменён позже второго - обновить второй

        open (FROM, &#039;&lt; &#039;, $file) or die &quot;Can&#039;t open $file\n&quot;;
        my @tmp = &lt;FROM&gt;;
        close (FROM);

        open (TO, &#039;&gt;&#039;, $files{$file}) or die &quot;Can&#039;t open $files{$file}\n&quot;;
        print TO @tmp;
        close (TO);

        print &#039;-&gt; &#039;.$files{$file}.&#039; is updated from &#039;.$file,&quot;\n&quot;;
    }

    elsif ( (stat($file))[9] &lt; (stat($files{$file}))[9] ) { # если второй позже первого - обновить первый

        open (FROM, &#039;&lt;&#039;, $files{$file}) or die &quot;Can&#039;t open $files{$file}\n&quot;;
        my @tmp = &lt;FROM&gt;;
        close (FROM);

        open (TO, &#039;&gt;&#039;, $file) or die &quot;Can&#039;t open $file\n&quot;;
        print TO @tmp;
        close (TO);

        print &#039;&lt; - &#039;.$file.&#039; is updated from &#039;,$files{$file},&quot;\n&quot;;
    }

    else { print &#039;= updating not required&#039;,&quot;\n&quot;; } # иначе обновление не требуется
    # впрочем в обычных условиях под Windows время изменения всегда различается на миллисекунды
}
exit 0;
</pre>
<p>P.S. Кстати, в очередной раз порадовался тому, что пользуюсь Linux&nbsp;&mdash; за пару минут сделал для скрипта ярлык с иконкой для панели Гнома.<br />
Также <a href="http://www.dimio.org/wp-content/uploads/devel/simsync.html" title="Простой скрипт синхронизации файлов на Perl">исходный текст скрипта</a> доступен, как и всегда, в разделе &laquo;<a href="http://www.dimio.org/software">Софт</a>&raquo;.</p>

	Метки:<a href="http://www.dimio.org/tag/perl" title="perl" rel="tag">perl</a>, <a href="http://www.dimio.org/tag/zhiznennoe" title="жизненное" rel="tag">жизненное</a>, <a href="http://www.dimio.org/tag/programmirovanie" title="программинг" rel="tag">программинг</a>, <a href="http://www.dimio.org/tag/skript" title="скрипт" rel="tag">скрипт</a><br />

	<h4>Еще на похожие темы:</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.dimio.org/software" title="Софт (02/10/2009)">Софт</a></li>
	<li><a href="http://www.dimio.org/popolnenie-biblioteki-perl-cookbook.html" title="Пополнение библиотеки&nbsp;&mdash; Perl Cookbook (05/02/2010)">Пополнение библиотеки&nbsp;&mdash; Perl Cookbook</a></li>
	<li><a href="http://www.dimio.org/parser-grabber-nakolesah-ru.html" title="Парсер-граббер nakolesah.ru (25/11/2009)">Парсер-граббер nakolesah.ru</a></li>
	<li><a href="http://www.dimio.org/parser-bazy-nakolesha-ru.html" title="Парсер базы nakolesah.ru (04/12/2009)">Парсер базы nakolesah.ru</a></li>
	<li><a href="http://www.dimio.org/generaciya-captcha-na-perl-pri-pomoshhi-authencaptcha.html" title="Генерация CAPTCHA на perl при помощи Authen::Captcha (07/10/2009)">Генерация CAPTCHA на perl при помощи Authen::Captcha</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.dimio.org/sinxronizaciya-tekstovyx-fajlov-prostoj-skript-na-perl.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pastebin из консоли. Просто и удобно</title>
		<link>http://www.dimio.org/pastebin-iz-konsoli-prosto-i-udobno.html</link>
		<comments>http://www.dimio.org/pastebin-iz-konsoli-prosto-i-udobno.html#comments</comments>
		<pubDate>Mon, 01 Feb 2010 10:32:22 +0000</pubDate>
		<dc:creator>dimio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Гаджеты]]></category>
		<category><![CDATA[Кодинг]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[pastebin]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[программинг]]></category>
		<category><![CDATA[самодел]]></category>

		<guid isPermaLink="false">http://www.dimio.org/?p=204</guid>
		<description><![CDATA[
Стал часто пользоваться сервисом pastebin и добавлять свои заметки через браузер руками быстро надоело.
Поискал и нашел в репозитории программку pastebinit&#160;&#8212; не устроила из-за ограничений по работе с pastebin-сервисами (чтобы добавили новый сервис&#160;&#8212; надо написать автору и ждать-ждать-ждать&#160;&#8212; не очень интересно), тем более, что я как раз на хостинге сделал свой сервис на стандартном движке pastebin, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dimio.org/wp-content/uploads/2010/02/061023_nothing_to_see_here1.gif"><img src="http://www.dimio.org/wp-content/uploads/2010/02/061023_nothing_to_see_here1-300x167.gif" alt="" title="061023_nothing_to_see_here" width="300" height="167" class="aligncenter size-medium wp-image-206" /></a><br />
Стал часто пользоваться сервисом <noindex><a rel="nofollow" target="_blank" href="http://www.dimio.org/e3f466/XUJESVtKF0kAQkBTWggLFwELDg==/">pastebin</a></noindex> и добавлять свои заметки через браузер руками быстро надоело.<br />
Поискал и нашел в репозитории программку <em>pastebinit</em>&nbsp;&mdash; не устроила из-за ограничений по работе с <em>pastebin-сервисами</em> (чтобы добавили новый сервис&nbsp;&mdash; надо написать автору и ждать-ждать-ждать&nbsp;&mdash; не очень интересно), тем более, что я как раз на хостинге сделал свой сервис на стандартном движке <em>pastebin</em>, чтобы не иметь проблем с кодировкой (<em>pastebin</em> по умолчанию работает не в unicode), да и просто из интереса.<br />
<span id="more-204"></span><br />
Приведу ниже шапку скрипта (посмотреть полностью и <a href="http://www.dimio.org/wp-content/uploads/devel/pastebinput.html" title="pstebinput - скрипт для отправки на pastebin">скачать pastebinput</a>):</p>
<pre class="brush: perl">
#!/usr/bin/perl
#===============================================================================
#  DESCRIPTION:  Простая отправлялка вывода команды или тела файла на pastebin. Определяет подсветку
#                для некоторых видов указанных через -i файлов.
#
#        USAGE:  cat file.txt | pastebinput.pl или pastebinput.pl -i file.txt
#
#      OPTIONS:  -i &lt;input_file&gt;; -u &lt;server_url&gt;; -s &lt;syntax&gt;; -e &lt;expire=[f,m,d]&gt;; -r &lt;remember=[0,1]&gt;; -n &lt;name&gt;
#       AUTHOR:  dimio
#          URL:  http://www.dimio.org
#      VERSION:  0.9
#      CREATED:  2010-01-31
#===============================================================================
</pre>
<p>Справка к скрипту:</p>
<pre class="brush: text">
    Использование: pastebinput [КЛЮЧ]... &lt;-i input_file&gt; (1-я форма)
              или: COMMAND | pastebinput                 (2-я форма)
    В первой форме на сервер будет отправлен указанный файл input_file.
    Во второй форме на сервер будет отправлен результат вывода COMMAND.
    Ключи:
            -s  [text, perl, ...]      Синтаксис файла для подсветки на pastebin;
            -u  [http://server.com]    URL сервера (для отличных от pastebin.org);
            -e  [d, m, f]              Срок хранения данных на сервере:
                                       d - один день, m - месяц, f - постоянно;
            -i  [input_file]           Имя входящего файла, текст которого будет
                                       отправлен на pastebin сервер;
            -n  [username]             Имя отправителя (иначе - anonimous);
            -r                         Помнить отправителя (если установлена);
            -h                         Вывод данной справки и завершение программы;
    Пример использования: pastebinput -r -s perl -e m -n User -i ./test.pl
</pre>
<p>Далее создаём ссылку для запуска скрипта:</p>
<pre class="brush: bash">ln -s /home/user/scripts/pastebinput.pl /usr/local/bin/pastebinput</pre>
<p>В <code>.bashrc</code> добавил alias с нужными настройками для вызова:</p>
<pre class="brush: bash">alias pbout=&#039;pastebinput -u http://pastebin.dimio.org -n dimio -r&#039;</pre>
<p>(можно дописать в конце правила, чтобы в буфер обмена сразу попадала ссылка на отправленные данные, следующее: <code>| xclip</code> или <code>| xsel -i -b</code>, но тогда перестаёт работать отправка тела указанного файла, данные получаемые по второй форме вызова&nbsp;&mdash; через конвеер,&nbsp;&mdash; такой проблемы не имеют).</p>

	Метки:<a href="http://www.dimio.org/tag/manual" title="manual" rel="tag">manual</a>, <a href="http://www.dimio.org/tag/pastebin" title="pastebin" rel="tag">pastebin</a>, <a href="http://www.dimio.org/tag/perl" title="perl" rel="tag">perl</a>, <a href="http://www.dimio.org/tag/programmirovanie" title="программинг" rel="tag">программинг</a>, <a href="http://www.dimio.org/tag/samodel" title="самодел" rel="tag">самодел</a><br />

	<h4>Еще на похожие темы:</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.dimio.org/sinxronizaciya-tekstovyx-fajlov-prostoj-skript-na-perl.html" title="Синхронизация текстовых файлов&nbsp;&mdash; простой скрипт на Perl (09/07/2010)">Синхронизация текстовых файлов&nbsp;&mdash; простой скрипт на Perl</a></li>
	<li><a href="http://www.dimio.org/popolnenie-biblioteki-perl-cookbook.html" title="Пополнение библиотеки&nbsp;&mdash; Perl Cookbook (05/02/2010)">Пополнение библиотеки&nbsp;&mdash; Perl Cookbook</a></li>
	<li><a href="http://www.dimio.org/pishem-plagin-dlya-wordpress-dobavlenie-v-repozitorij-wordpress-org-chast-7.html" title="Пишем плагин для Wordpress. Добавление в репозиторий Wordpress.org (часть 7) (16/11/2009)">Пишем плагин для Wordpress. Добавление в репозиторий Wordpress.org (часть 7)</a></li>
	<li><a href="http://www.dimio.org/parser-grabber-nakolesah-ru.html" title="Парсер-граббер nakolesah.ru (25/11/2009)">Парсер-граббер nakolesah.ru</a></li>
	<li><a href="http://www.dimio.org/parser-bazy-nakolesha-ru.html" title="Парсер базы nakolesah.ru (04/12/2009)">Парсер базы nakolesah.ru</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.dimio.org/pastebin-iz-konsoli-prosto-i-udobno.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Файл настройки vim&#160;&#8212; .vimrc (для Linux и Windows)</title>
		<link>http://www.dimio.org/fajl-nastrojki-vim-vimrc-dlya-linux-i-windows.html</link>
		<comments>http://www.dimio.org/fajl-nastrojki-vim-vimrc-dlya-linux-i-windows.html#comments</comments>
		<pubDate>Mon, 21 Dec 2009 20:00:49 +0000</pubDate>
		<dc:creator>dimio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Гаджеты]]></category>
		<category><![CDATA[Кодинг]]></category>
		<category><![CDATA[.rc]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.dimio.org/?p=181</guid>
		<description><![CDATA[Продолжу сохранение самых интересных своих конфигурационных файлов. Сегодня пришла очередь файла конфигурации для редактора vim&#160;&#8212; .vimrc. Довольно много времени ему уделил, собирая настройки и разделяя их применение для разных ОС (Windows и Linux). А будет ли он завершён окончательно&#160;&#8212; даже и не знаю  
Самое хорошее русскоязычное руководство (с примерами) по настройке Vim из встретившихся [...]]]></description>
			<content:encoded><![CDATA[<p>Продолжу сохранение самых интересных своих конфигурационных файлов. Сегодня пришла очередь файла конфигурации для редактора <em>vim</em>&nbsp;&mdash; <em>.vimrc</em>. Довольно много времени ему уделил, собирая настройки и разделяя их применение для разных ОС (Windows и Linux). А будет ли он завершён окончательно&nbsp;&mdash; даже и не знаю <img src='http://www.dimio.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Самое хорошее русскоязычное руководство (с примерами) по настройке Vim из встретившихся мне в интернете: <a href="http://konishchevdmitry.blogspot.com/2008/07/howto-vim.html" >Очередной HowTo по Vim</a>.</p>
<p><span id="more-181"></span></p>
<pre class="brush: text">&quot;НАСТРОЙКИ ВНЕШНЕГО ВИДА И БАЗОВЫЕ НАСТРОЙКИ РЕДАКТОРА
set nocompatible &quot; отключить режим совместимости с классическим Vi
syntax on &quot; включить подсветку синтаксиа
filetype plugin indent on &quot; определять подсветку на основе кода файла
set scrolloff=3 &quot; сколько строк внизу и вверху экрана показывать при скроллинге
set background=dark &quot; установить цвет фона
colorscheme af &quot; цветовая схемо по умолчанию (при вводе в режиме команд по табуляции доступно автодополнение имён схем)
set wrap &quot; перенос длинных строк
set lbr &quot; переносить целые слова
set hidden &quot; не выгружать буфер когда переключаешься на другой
set mouse=a &quot; включает поддержку мыши при работе в терминале (без GUI)
set mousehide &quot; скрывать мышь в режиме ввода текста
set showcmd &quot; показывать незавершенные команды в статусбаре (автодополнение ввода)
set matchpairs+=&lt;:&gt; &quot; показывать совпадающие скобки для HTML-тегов
set showmatch &quot; показывать первую парную скобку после ввода второй
set autoread &quot; перечитывать изменённые файлы автоматически
set t_Co=256 &quot; использовать больше цветов в терминале
set confirm &quot; использовать диалоги вместо сообщений об ошибках
&quot;&quot; Автоматически перечитывать конфигурацию VIM после сохранения
autocmd! bufwritepost $MYVIMRC source $MYVIMRC
&quot;&quot; Формат строки состояния
set statusline=%F%m%r%h%w\ [FORM,ENC=%{&amp;amp;amp;ff},%{&amp;amp;amp;encoding}\]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
set laststatus=2 &quot; всегда показывать строку состояния
&quot;&quot; Подсвечивать табы и пробелы в конце строки
set list &quot; включить подсветку
set listchars=tab:&gt;-,trail:- &quot; установить символы, которыми будет осуществляться подсветка
&quot;&quot; Прыгать на последнюю позицию при открытии буфера
autocmd! bufreadpost * call LastPosition()
	function! LastPosition()
		if line(&quot;&#039;\&quot;&quot;) &amp;amp;amp;&amp;amp;amp; line(&quot;&#039;\&quot;&quot;)&lt;=line(&#039;$&#039;)
			normal! `&quot;
		endif
	endfunction
set backspace=indent,eol,start &quot; backspace обрабатывает отступы, концы строк
set sessionoptions=curdir,buffers,tabpages &quot; опции сессий - перейти в текущию директорию, использовать буферы и табы
set noswapfile &quot; не использовать своп-файл (в него скидываются открытые буферы)
set browsedir=current
set visualbell &quot; вместо писка бипером показывать это на экране
&quot; При вставке фрагмента сохраняет отступы
set pastetoggle=

&quot;НАСТРОЙКИ ПОИСКА
set ignorecase &quot; ics - поиск без учёта регистра символов
set smartcase &quot; - если искомое выражения содержит символы в верхнем регистре - ищет с учётом регистра, иначе - без учёта
set hls &quot; подсветка результатов поиска
set incsearch &quot; поиск фрагмента по мере его набора

&quot;НАСТРОЙКИ СВОРАЧИВАНИЯ БЛОКОВ КОДА (фолдинг)
set foldenable &quot; включить фолдинг
set foldmethod=syntax &quot; определять блоки на основе синтаксиса файла
set foldcolumn=3 &quot; показать полосу для управления сворачиванием
set foldlevel=1 &quot; Первый уровень вложенности открыт, остальные закрыты
let perl_folding=1 &quot; правильное сворачивание классов и функций Perl
let php_folding=1 &quot; правильное сворачивание классов и функций PHP
set foldopen=all &quot; автоматическое открытие сверток при заходе в них

&quot;НАСТРОЙКИ ОТСТУПА
set shiftwidth=4 &quot; размер отступов
set tabstop=3 &quot; ширина табуляции
set softtabstop=3 &quot; ширина &#039;мягкого&#039; таба
set autoindent &quot; ai - включить автоотступы
set cindent &quot; ci - отступы в стиле С
set expandtab &quot; Преобразовать табуляцию в пробелы
set smartindent &quot; Умные отступы (например, автоотступ после {)
&quot; Для указанных типов файлов отключает замену табов пробелами и меняет ширину отступа
au FileType crontab,fstab,make set noexpandtab tabstop=8 shiftwidth=8

&quot;НАСТРОЙКИ РАБОТЫ С ФАЙЛАМИ
&quot;Кодировка редактора по умолчанию (при открывании все файлы приводятся к этой кодировке)
if has(&#039;win32&#039;)
    set encoding=cp1251
else
	set encoding=utf-8
	set termencoding=utf-8
endif
set ffs=unix,dos,mac &quot; формат файла по умолчанию (влияет на окончания строк) - будет перебираться в указанном порядке
set fencs=utf-8,cp1251,koi8-r,cp866 &quot; варианты кодировки файла по умолчанию (все файлы по умолчанию сохраняются в этой кодировке)
&quot;&quot; Применять типы файлов
filetype on
filetype plugin on
filetype indent on
&quot;&quot; Если сохраняемый файл является файлом скрипта - сделать его исполняемым
&quot;&quot; au BufWritePost * if getline(1) =~ &quot;^#!.*/bin/&quot;|silent !chmod a+x %|endif
&quot;&quot; При открытии файла задавать для него соответствующий &#039;компилятор&#039;
autocmd! BufEnter *.pl compiler perl

&quot;НАСТРОЙКИ ПЕРЕМЕННЫХ ОКРУЖЕНИЯ
if has(&#039;win32&#039;)
    let $VIMRUNTIME = $HOME.&#039;\Programs\Vim\vim72&#039;
	source $VIMRUNTIME/mswin.vim
else
	let $VIMRUNTIME = $HOME.&#039;/.vim&#039;
endif

&quot;НАСТРОЙКИ ВНЕШНЕГО ВИДА
&quot;&quot; Установка шрифта (для Windows и Linux)
if has(&#039;gui&#039;)
   if has(&#039;win32&#039;)
    set guifont=Lucida_Console:h10:cRUSSIAN::
   else
    set guifont=Terminus\ 10
   endif
endif
&quot;&quot; Разворачивать окно редактора на весь экран
if has(&#039;gui&#039;)
	set guioptions-=T &quot; отключить меню в GUI
    au GUIEnter * :set lines=99999 columns=99999
endif

&quot;НАСТРОЙКИ РЕЗЕРВНОГО КОПИРОВАНИЯ
set backup &quot; включить сохранение резервных копий
autocmd! bufwritepre * call BackupDir() &quot; сделаем резервную копию перед записью буффера на диск
&quot;&quot; Сохранять умные резервные копии ежедневно
function! BackupDir()
   &quot; определим каталог для сохранения резервной копии
   if has(&#039;win32&#039;)
		let l:backupdir = $VIMRUNTIME.&#039;\backup&#039;
	else
		let l:backupdir = $VIMRUNTIME.&#039;/backup/&#039;.
			\substitute(expand(&#039;%:p:h&#039;), &#039;^&#039;.$HOME, &#039;~&#039;, &#039;&#039;)
	endif
   &quot; если каталог не существует, создадим его рекурсивно
   if !isdirectory(l:backupdir)
      call mkdir(l:backupdir, &#039;p&#039;, 0700)
   endif
   &quot; переопределим каталог для резервных копий
   let &amp;amp;amp;backupdir=l:backupdir
   &quot; переопределим расширение файла резервной копии
   let &amp;amp;amp;backupext=strftime(&#039;~%Y-%m-%d~&#039;)
endfunction

&quot;НАСТРОЙКИ ПЕРЕКЛЮЧЕНИЯ РАСКЛАДОК КЛАВИАТУРЫ
&quot;&quot; Взято у konishchevdmitry
set keymap=russian-jcukenwin &quot; настраиваем переключение раскладок клавиатуры по &lt;C-^&gt;
set iminsert=0 &quot; раскладка по умолчанию - английская
function! MyKeyMapHighlight()
	if &amp;amp;amp;iminsert == 0 &quot; при английской раскладке статусная строка текущего окна будет серого цвета
		hi StatusLine ctermfg=Gray guifg=Gray
	else &quot; а при русской - зеленого.
		hi StatusLine ctermfg=DarkGreen guifg=DarkGreen
	endif
endfunction
call MyKeyMapHighlight() &quot; при старте Vim устанавливать цвет статусной строки
au WinEnter * :call MyKeyMapHighlight() &quot; при смене окна обновлять информацию о раскладках
cmap &lt;silent&gt; &lt;C-F&gt; &lt;C-^&gt; &quot; использовать Ctrl+F для переключения раскладок
imap &lt;silent&gt; &lt;C-F&gt; &lt;C-^&gt;X&lt;Esc&gt;:call MyKeyMapHighlight()&lt;CR&gt;a&lt;C-H&gt;
nmap &lt;silent&gt; &lt;C-F&gt; a&lt;C-^&gt;&lt;Esc&gt;:call MyKeyMapHighlight()&lt;CR&gt;
vmap &lt;silent&gt; &lt;C-F&gt; &lt;Esc&gt;a&lt;C-^&gt;&lt;Esc&gt;:call MyKeyMapHighlight()&lt;CR&gt;gv

&quot;ВКЛЮЧЕНИЕ АВТОДОПЛНЕНИЯ ВВОДА (omnifunct)
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType tt2html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete
&quot;НАСТРОЙКИ ГОРЯЧИХ КЛАВИШ
&quot; F2 - сохранить файл
nmap &lt;F2&gt; :w&lt;cr&gt;
vmap &lt;F2&gt; &lt;esc&gt;:w&lt;cr&gt;i
imap &lt;F2&gt; &lt;esc&gt;:w&lt;cr&gt;i
&quot; F5 - просмотр списка буферов
nmap &lt;F5&gt; &lt;Esc&gt;:buffers&lt;cr&gt;
vmap &lt;F5&gt; &lt;esc&gt;:buffers&lt;cr&gt;
imap &lt;F5&gt; &lt;esc&gt;&lt;esc&gt;:buffers&lt;cr&gt;
&quot; F6 - предыдущий буфер
map &lt;F6&gt; :bp&lt;cr&gt;
vmap &lt;F6&gt; &lt;esc&gt;:bp&lt;cr&gt;i
imap &lt;F6&gt; &lt;esc&gt;:bp&lt;cr&gt;i
&quot; F7 - следующий буфер
map &lt;F7&gt; :bn&lt;cr&gt;
vmap &lt;F7&gt; &lt;esc&gt;:bn&lt;cr&gt;i
imap &lt;F7&gt; &lt;esc&gt;:bn&lt;cr&gt;i
&quot; F9 - сохранение файла и запуск компиляции (make)
map &lt;F9&gt; :w&lt;cr&gt;:make&lt;cr&gt;
vmap &lt;F9&gt; &lt;esc&gt;:w&lt;cr&gt;:make&lt;cr&gt;i
imap &lt;F9&gt; &lt;esc&gt;:w&lt;cr&gt;:make&lt;cr&gt;i
&quot; F10 - включить-выключить браузер структуры документа (TagList)
map &lt;F10&gt; :TlistToggle&lt;cr&gt;
vmap &lt;F10&gt; &lt;esc&gt;:TlistToggle&lt;cr&gt;
imap &lt;F10&gt; &lt;esc&gt;:TlistToggle&lt;cr&gt;
&quot; F11 - включить-выключить нумерацию строк
imap &lt;F11&gt; &lt;Esc&gt;:set&lt;Space&gt;nu!&lt;CR&gt;a
nmap &lt;F11&gt; :set&lt;Space&gt;nu!&lt;CR&gt;
&quot; F12 - обозреватель файлов (:Ex для стандартного обозревателя, плагин NERDTree -
&quot; дерево каталогов)
map &lt;F12&gt; :NERDTreeToggle&lt;cr&gt;
vmap &lt;F12&gt; &lt;esc&gt;:NERDTreeToggle&lt;cr&gt;i
imap &lt;F12&gt; &lt;esc&gt;:NERDTreeToggle&lt;cr&gt;i
&quot;&quot; Переключение табов (вкладок)
map &lt;S-tab&gt; :tabprevious&lt;cr&gt;
nmap &lt;S-tab&gt; :tabprevious&lt;cr&gt;
imap &lt;S-tab&gt; &lt;ESC&gt;:tabprevious&lt;cr&gt;i
map &lt;C-tab&gt; :tabnext&lt;cr&gt;
nmap &lt;C-tab&gt; :tabnext&lt;cr&gt;
imap &lt;C-tab&gt; &lt;ESC&gt;:tabnext&lt;cr&gt;i
nmap &lt;C-t&gt; :tabnew&lt;cr&gt;
imap &lt;C-t&gt; &lt;ESC&gt;:tabnew&lt;cr&gt;
nmap &lt;C-w&gt; :tabclose&lt;cr&gt;
imap &lt;C-w&gt; &lt;ESC&gt;:tabclose&lt;cr&gt;
&quot;&quot; Переключение кодировок файла
set wildmenu
set wcm=&lt;Tab&gt;
menu Encoding.CP1251   :e ++enc=cp1251&lt;CR&gt;
menu Encoding.CP866    :e ++enc=cp866&lt;CR&gt;
menu Encoding.KOI8-U   :e ++enc=koi8-u&lt;CR&gt;
menu Encoding.UTF-8    :e ++enc=utf-8&lt;CR&gt;
map &lt;F8&gt; :emenu Encoding.&lt;TAB&gt;
&quot; C(trl)+d - дублирование текущей строки
imap &lt;C-d&gt; &lt;esc&gt;yypi
&quot; Ctrl-пробел для автодополнения
inoremap &lt;C-space&gt; &lt;C-x&gt;&lt;C-o&gt;
&quot; C-e - комментировать/раскомментировать (при помощи NERD_Comment)
map &lt;C-e&gt; ,ci
nmap &lt;C-e&gt; ,ci
imap &lt;C-e&gt; &lt;ESC&gt;,cii
&quot;&quot; Вырезать-копировать-вставить через Ctrl
vnoremap &lt;C-X&gt; &quot;+x &quot; CTRL-X - вырезать
vnoremap &lt;C-C&gt; &quot;+y  &quot; CTRL-C - копировать
map &lt;C-V&gt;      &quot;+gP &quot; CTRL-V вставить под курсором
&quot;&quot; Отменить-вернуть через Ctrl
noremap &lt;C-Z&gt; u &quot; отмена действия
inoremap &lt;C-Z&gt; &lt;C-O&gt;u
noremap &lt;C-Y&gt; &lt;C-R&gt; &quot; вернуть отменённое назад
inoremap &lt;C-Y&gt; &lt;C-O&gt;&lt;C-R&gt;</pre>
<p>Надеюсь, кому-то да пригодится!</p>

	Метки:<a href="http://www.dimio.org/tag/rc" title=".rc" rel="tag">.rc</a>, <a href="http://www.dimio.org/tag/how-to" title="how-to" rel="tag">how-to</a>, <a href="http://www.dimio.org/tag/linux" title="linux" rel="tag">linux</a>, <a href="http://www.dimio.org/tag/vim" title="vim" rel="tag">vim</a><br />

	<h4>Еще на похожие темы:</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.dimio.org/wgetrc-i-flashgot-pamyatka.html" title="Wget (rc) и flashgot&nbsp;&mdash; памятка (10/12/2009)">Wget (rc) и flashgot&nbsp;&mdash; памятка</a></li>
	<li><a href="http://www.dimio.org/cvetovaya-indikaciya-xoda-zagruzki-linux.html" title="Цветовая индикация хода загрузки Linux (21/09/2009)">Цветовая индикация хода загрузки Linux</a></li>
	<li><a href="http://www.dimio.org/nastrojka-grub2.html" title="Настройка GRUB2 (11/11/2009)">Настройка GRUB2</a></li>
	<li><a href="http://www.dimio.org/xosting-dlya-bloga.html" title="Хостинг для блога (05/03/2010)">Хостинг для блога</a></li>
	<li><a href="http://www.dimio.org/unikalizator-kontenta-wordpress-unikalizator.html" title="Уникализатор контента Wordpress Unikalizator (27/09/2009)">Уникализатор контента Wordpress Unikalizator</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.dimio.org/fajl-nastrojki-vim-vimrc-dlya-linux-i-windows.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wget (rc) и flashgot&#160;&#8212; памятка</title>
		<link>http://www.dimio.org/wgetrc-i-flashgot-pamyatka.html</link>
		<comments>http://www.dimio.org/wgetrc-i-flashgot-pamyatka.html#comments</comments>
		<pubDate>Thu, 10 Dec 2009 16:02:52 +0000</pubDate>
		<dc:creator>dimio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Интернет]]></category>
		<category><![CDATA[.rc]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://www.dimio.org/?p=171</guid>
		<description><![CDATA[Настроил сегодня на работе wget в качестве загрузчика в firefox (при помощи плагина flashgot). Теперь и с файлообменников качает, и имена закачиваемым файлам даёт нормальные, а не из имени ссылки. Чтобы не забыть в дальнейшем, что да как и при необходимости иметь лёгкий доступ к описанию процесса&#160;&#8212; сохраню памятку тут.

Собственно сам файл wgetrc (вероятно, многое [...]]]></description>
			<content:encoded><![CDATA[<p>Настроил сегодня на работе <strong>wget</strong> в качестве <strong>загрузчика</strong> в <strong>firefox</strong> (при помощи плагина <strong>flashgot</strong>). Теперь и с файлообменников качает, и имена закачиваемым файлам даёт нормальные, а не из имени ссылки. Чтобы не забыть в дальнейшем, что да как и при необходимости иметь лёгкий доступ к описанию процесса&nbsp;&mdash; сохраню памятку тут.</p>
<p><span id="more-171"></span></p>
<p>Собственно сам файл <em>wgetrc</em> (вероятно, многое взял из старого доброго руководства <noindex><a rel="nofollow" target="_blank" href="http://www.dimio.org/e3f466/XUJESVtKF1UIX0FOVAALXUwNFwULHFsXVU0QEBdaDUBWGUdeBBEXUA9VUU4WCRFUDg==/">Wget&nbsp;&mdash; насос для Интернета</a></noindex>, уже не помню):</p>
<pre class="brush: bash">
# В файле перечислены основные настройки, использующиеся в большинстве случаев
# вызова wget. Частные случаи (напр. создание зеркальной
# копии сайта) описаны в виде функций оболочки в .bashrc
# Все опции могут быть переданы непосредственно при вызове wget в виде
# &quot;длинных&quot; ключей (напр. --continue=on)

#Докачка файлов (аналогично опции &quot;-c&quot;).
continue = on

#Включить/выключить выполнение в фоновом режиме. Тоже, что и &quot;-b&quot;, которая включает это.
	#background = on/off

#Определяет имя файла отчета, аналогично &quot;-o&quot;.
#logfile = /var/log/wget.log

#Обращать ли внимане на /robots.txt (off -- не обращать).
robots = off

#Печатать или нет HTTP и FTP ответы серверов, аналогично &quot;-S&quot;.
server_response = on

#Ждать N секунд между запросами. Тоже, что и &quot;-w&quot;.
wait = 3

#Установить количество попыток на URL. Тоже, что и &quot;-t&quot;
tries = inf

#Определяет количество байт &quot;содержащихся&quot; в точках, которые отображаются при выгрузке (по умолчанию 1024). Вы можете заканчивать значение #суффиксами &quot;k&quot; или &quot;m&quot; для килобайтов и мегабайтов, соответственно. При помощи настройки точек вы можете подстраивать отображение по вашим #нуждам или можете воспользоваться предопределенными стилями (см. опцию &quot;--dot-style&quot;).
	#dots_in_line = N

#Определяет количество точек выводимых в одной строке во время выгрузки (по умолчанию 50).
dot_bytes = 100

#Определяет количество точек в одном кластере (по умолчанию 10).
	#dot_spacing = N

#Определяет стиль представления выгрузки аналогично опции &quot;--dot-style&quot;.
	#dot_style = STRING

#Создание структуры каталогов. Тоже, что и &quot;-x&quot;(on) и &quot;-nd&quot;(off) соответственно.
	#dirstruct = on

#Включить/выключить подробный отчет. Тоже, что и &quot;-v&quot;/&quot;-nv&quot;.
verbose = on
#Выдаём себя за браузер, против всяких хитрожопых сайтов, не отдающих закачку сторонней программе.
#Скопировано из браузера (&quot;Справка-О Firefox&quot;)
user-agent = &quot;Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.0.14) Gecko/2009090216 Firefox/3.0.14&quot;
</pre>
<p>Ну и строка вызова <em>wget</em>, прописывается в настройках <em>flashgot</em>, собственно, в онлайн-руководстве к нему она же и приводится в качестве примера:</p>
<pre class="brush: plain">[--directory-prefix=FOLDER] [--referer=REFERER] [--post-data=POST] [--load-cookies=CFILE] [--header=Cookie:COOKIE] [--input-file=UFILE]</pre>
<p>Для <em>gnome-terminal</em> удобно при вызове указать параметры <em>&#8211;hide-menubar</em> (не показывать в создаваемом окне панель с меню) <em>-t Wget</em> (это имя будущего окна) <em>-x wget</em> (вызов приложения).<br />
Для windows соответственно при вызове <em>cmd.exe</em> (это командная оболочка windows) нужно передать параметры <em>/C start wget</em>.</p>
<p>Думаю, что и некоторые другие файлы настроек, представляющие для меня интерес, тоже потом сохраню в блоге на будущее.</p>

	Метки:<a href="http://www.dimio.org/tag/rc" title=".rc" rel="tag">.rc</a>, <a href="http://www.dimio.org/tag/how-to" title="how-to" rel="tag">how-to</a>, <a href="http://www.dimio.org/tag/linux" title="linux" rel="tag">linux</a>, <a href="http://www.dimio.org/tag/wget" title="wget" rel="tag">wget</a><br />

	<h4>Еще на похожие темы:</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.dimio.org/fajl-nastrojki-vim-vimrc-dlya-linux-i-windows.html" title="Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows) (21/12/2009)">Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows)</a></li>
	<li><a href="http://www.dimio.org/cvetovaya-indikaciya-xoda-zagruzki-linux.html" title="Цветовая индикация хода загрузки Linux (21/09/2009)">Цветовая индикация хода загрузки Linux</a></li>
	<li><a href="http://www.dimio.org/nastrojka-grub2.html" title="Настройка GRUB2 (11/11/2009)">Настройка GRUB2</a></li>
	<li><a href="http://www.dimio.org/xosting-dlya-bloga.html" title="Хостинг для блога (05/03/2010)">Хостинг для блога</a></li>
	<li><a href="http://www.dimio.org/unikalizator-kontenta-wordpress-unikalizator.html" title="Уникализатор контента Wordpress Unikalizator (27/09/2009)">Уникализатор контента Wordpress Unikalizator</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.dimio.org/wgetrc-i-flashgot-pamyatka.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Алгебраическая captcha</title>
		<link>http://www.dimio.org/algebraicheskaya-captcha.html</link>
		<comments>http://www.dimio.org/algebraicheskaya-captcha.html#comments</comments>
		<pubDate>Fri, 13 Nov 2009 06:17:23 +0000</pubDate>
		<dc:creator>dimio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Гаджеты]]></category>
		<category><![CDATA[Технократия]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[maxima]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[алгебра]]></category>
		<category><![CDATA[программинг]]></category>

		<guid isPermaLink="false">http://www.dimio.org/?p=154</guid>
		<description><![CDATA[Наткнулся на просторах интернетов на любопытную реализацию технологии captcha&#160;&#8212; пользователю предлагается решить линейное уравнение с одним корнем и ввести решение в качестве проверочного кода.
Я, когда себе на блог искал капчу, много разных перепробовал, но с таким любопытным подходом не сталкивался. Решил посмотреть на неё поближе, открыл код страницы и разочаровался&#160;&#8212; задание для капчи выводится текстом, [...]]]></description>
			<content:encoded><![CDATA[<p>
<div id="attachment_155" class="wp-caption alignleft" style="width: 310px"><a href="http://www.dimio.org/wp-content/uploads/2009/11/maxima.png"><img src="http://www.dimio.org/wp-content/uploads/2009/11/maxima-300x210.png" alt="Система компьютерной алгебры Maxima" title="maxima" width="300" height="210" class="size-medium wp-image-155" /></a>
<p class="wp-caption-text">Система компьютерной алгебры Maxima</p>
</div>
<p>Наткнулся на просторах интернетов на любопытную реализацию технологии captcha&nbsp;&mdash; пользователю предлагается решить линейное уравнение с одним корнем и ввести решение в качестве проверочного кода.</p>
<p>Я, когда себе на блог искал капчу, много разных перепробовал, но с таким любопытным подходом не сталкивался. Решил посмотреть на неё поближе, открыл код страницы и разочаровался&nbsp;&mdash; задание для капчи выводится текстом, а не картинкой.<br />
В общем из любопытства решил её поломать <img src='http://www.dimio.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-154"></span></p>
<p>В общем случае данная captcha представляет собой линейное алгебраическое уравнение (<em>ax + b = 0</em>). Для решения воспользовался <noindex><a rel="nofollow" target="_blank" href="http://www.dimio.org/e3f466/XUJESVtKF1QASV1bWU8WVhcWAAEAXUcDU00MAEwYFkYa/">бесплатной системой компьютерной алгебры Maxima</a></noindex>. <font color="#999999">(Эх, почему же я не знал о ней на 1-3 курсах института?! Она даже на КПК способна работать!).</font></p>
<p>Строка с задчей для капчи получается из html-кода страницы примерно в таком виде:<br />
<em><code>&lt;b&gt;(&lt;i&gt;x&lt;/i&gt;+9)∙5+4=64&lt;/b&gt;</code></em>.<br />
От тегов <code>&lt;b&gt;</code> можно избавиться на этапе получения нужной строки, но большого вреда от них нет, так что для наглядности оставил.</p>
<p>Дальше строка немного обрабатывается для приведения к виду, пригодному для решения в Maxima, затем следует собственно решение и далее&nbsp;&mdash; обработка вывода для вычленений из него нужного проверочного кода (вывод у Maxima достаточно подробный, даже если применить опцию <em>&#8211;quiet</em>):</p>
<pre class="brush: perl">#!/usr/bin/perl
use warnings;
use strict;
use encoding &#039;utf8&#039;;

my $input = &#039;&lt;b&gt;(&lt;i&gt;x&lt;/i&gt;+9)∙5+4=64&lt;/b&gt;&#039;;
$input =~ s|&lt;/?[b,i]&gt;||ig;
$input =~ s/∙/*/ig;
$input =~ s/−/-/ig;
print $input,&quot;\n&quot;;

my $out = qx/maxima --quiet --batch-string=solve&quot;($input);&quot;/;
my $x = $1 if $out =~ m#\[x = (-?\s?\d+)\]#gi;

print $x,&quot;\n&quot;;
exit 0;</pre>
<p>Вот так мне повезло за один вечер познакомиться с интересной идеей для механизма captcha и узнать о прекрасной системе компьютерной алгебры Maxima.</p>
<p>Желаю и вам побольше новых приятных открытий!</p>

	Метки:<a href="http://www.dimio.org/tag/captcha" title="captcha" rel="tag">captcha</a>, <a href="http://www.dimio.org/tag/linux" title="linux" rel="tag">linux</a>, <a href="http://www.dimio.org/tag/maxima" title="maxima" rel="tag">maxima</a>, <a href="http://www.dimio.org/tag/security" title="security" rel="tag">security</a>, <a href="http://www.dimio.org/tag/algebra" title="алгебра" rel="tag">алгебра</a>, <a href="http://www.dimio.org/tag/programmirovanie" title="программинг" rel="tag">программинг</a><br />

	<h4>Еще на похожие темы:</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.dimio.org/generaciya-captcha-na-perl-pri-pomoshhi-authencaptcha.html" title="Генерация CAPTCHA на perl при помощи Authen::Captcha (07/10/2009)">Генерация CAPTCHA на perl при помощи Authen::Captcha</a></li>
	<li><a href="http://www.dimio.org/avtomaticheskoe-opredelenie-kodirovki-terminala-v-perl-skripte.html" title="Автоматическое определение кодировки терминала в perl-скрипте (25/12/2009)">Автоматическое определение кодировки терминала в perl-скрипте</a></li>
	<li><a href="http://www.dimio.org/captcha-perl-generaciya-pri-pomoshhi-imagemagick.html" title="CAPTCHA Perl. Генерация при помощи ImageMagick (29/09/2009)">CAPTCHA Perl. Генерация при помощи ImageMagick</a></li>
	<li><a href="http://www.dimio.org/cvetovaya-indikaciya-xoda-zagruzki-linux.html" title="Цветовая индикация хода загрузки Linux (21/09/2009)">Цветовая индикация хода загрузки Linux</a></li>
	<li><a href="http://www.dimio.org/fajl-nastrojki-vim-vimrc-dlya-linux-i-windows.html" title="Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows) (21/12/2009)">Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows)</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.dimio.org/algebraicheskaya-captcha.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка GRUB2</title>
		<link>http://www.dimio.org/nastrojka-grub2.html</link>
		<comments>http://www.dimio.org/nastrojka-grub2.html#comments</comments>
		<pubDate>Wed, 11 Nov 2009 09:54:43 +0000</pubDate>
		<dc:creator>dimio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[grub2]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.dimio.org/?p=150</guid>
		<description><![CDATA[Как я уже упоминал в своей записи об обновлении Ubuntu:

В конфиге GRUB2 нет толкового описания настроек (по умолчанию список вариантов загрузки он не выводит), нашёл на форумах.
Воспользовавшись найденным описанием настроек GRUB2 (на англ.), немного настроил свой загрузчик. Публикую на правах памятки, но может и пригодится кому.

Разные красивости в виде картинок-обоев в меню выбора вариантов загрузки [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_152" class="wp-caption alignleft" style="width: 310px"><a href="http://www.dimio.org/wp-content/uploads/2009/11/grub-2.jpg"><img src="http://www.dimio.org/wp-content/uploads/2009/11/grub-2-300x225.jpg" alt="Настройка GRUB2" title="GRUB2" width="300" height="225" class="size-medium wp-image-152" /></a>
<p class="wp-caption-text">Настройка GRUB2</p>
</div>
<p>Как я уже упоминал в своей <a href="http://www.dimio.org/obnovil-ubuntu-do-9-10.html">записи об обновлении Ubuntu</a>:</p>
<blockquote><p>
<em>В конфиге GRUB2 нет толкового описания настроек (по умолчанию список вариантов загрузки он не выводит), нашёл на форумах.</em></p></blockquote>
<p>Воспользовавшись найденным <noindex><a rel="nofollow" target="_blank" href="http://www.dimio.org/e3f466/XUJESVtKF0wDRFpCTQcKSxcJEEoJQFJLRQsNEkxfFlZUUh5JCRUHTVwABQ8NU1IM/"  title="Настройки и опции GRUB2">описанием настроек GRUB2</a></noindex> (на англ.), немного настроил свой загрузчик. Публикую на правах памятки, но может и пригодится кому.</p>
<p><span id="more-150"></span></p>
<p>Разные красивости в виде картинок-обоев в меню выбора вариантов загрузки мне не очень интересны (хотя из любопытства думаю попробовать), глубоко копаться (исполнение скриптов при загрузке и т. п. премудрости) пока тоже не потребовалось, так что я для себя хотел в первую очередь сделать две вещи:</p>
<ul>
<li> <strong>вывести список вариантов загрузки</strong> (по умолчанию он не выводится, если на машине установлена одна ОС и выводится в обратном случае);</li>
<li> установить для меню выбора вариантов загрузки подходящее разрешение</li>
</ul>
<p>Настройка GRUB2 производится путём редактирования файла <em>/etc/default/grub</em>, с последующей подачей команды <em>update-grub</em> от имени суперпользователя. Сам файл выглядит следующим образом:</p>
<pre class="brush: bash">
# If you change this file, run &#039;update-grub&#039; afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=&quot;3&quot;
GRUB_DISTRIBUTOR=`lsb_release -i -s 2&gt; /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=&quot;quiet splash&quot;
GRUB_CMDLINE_LINUX=&quot;&quot;

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo&#039;
#GRUB_GFXMODE=640x480

# Uncomment if you don&#039;t want GRUB to pass &quot;root=UUID=xxx&quot; parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entrys
</pre>
</p>
<p>Как видите, если с настройкой разрешения разобраться не сложно, то вот описания остальных настроек не блещет полнотой.<br />
Из руководства стало ясно, что за отображение меню загрузки отвечает опция <em>GRUB_HIDDEN_TIMEOUT=0</em>, чтобы меню выводилось, её надо закомментировать.</p>
<p>Время показа загрузочного меню (в секундах) до загрузки варианта по умолчанию задаётся в опции <em>GRUB_TIMEOUT=&#8221;3&#8243;</em>.</p>
<p>Разрешение, как несложно догадаться, выставляется при помощи <em>GRUB_GFXMODE=640&times;480</em>, которую надо раскомментировать и указать требуемое разрешение (например 1024&times;768).</p>
<p>Ну а загружаемая по умолчанию запись указывается в <em>GRUB_DEFAULT=0</em>, где 0&nbsp;&mdash; первый из перечисленных в <em>/boot/grub/grub.cfg</em> вариантов, 1&nbsp;&mdash; второй и т. д.</p>
<p>За дальнейшими подробностями отсылаю заинтересовавшихся к уже упомянутому <noindex><a rel="nofollow" target="_blank" href="http://www.dimio.org/e3f466/XUJESVtKF0wDRFpCTQcKSxcJEEoJQFJLRQsNEkxfFlZUUh5JCRUHTVwABQ8NU1IM/">руководству по настройке GRUB2</a></noindex> и желаю всем удачи! <img src='http://www.dimio.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>P. S. А вот так при желании может выглядеть ваше меню загрузки:</p>
<div id="attachment_151" class="wp-caption aligncenter" style="width: 236px"><a href="http://www.dimio.org/wp-content/uploads/2009/11/theme_collage.png"><img src="http://www.dimio.org/wp-content/uploads/2009/11/theme_collage-226x300.png" alt="Что может GRUB2" title="theme_collage" width="226" height="300" class="size-medium wp-image-151" /></a>
<p class="wp-caption-text">Что может GRUB2</p>
</div>

	Метки:<a href="http://www.dimio.org/tag/grub2" title="grub2" rel="tag">grub2</a>, <a href="http://www.dimio.org/tag/how-to" title="how-to" rel="tag">how-to</a>, <a href="http://www.dimio.org/tag/linux" title="linux" rel="tag">linux</a>, <a href="http://www.dimio.org/tag/manual" title="manual" rel="tag">manual</a>, <a href="http://www.dimio.org/tag/ubuntu" title="ubuntu" rel="tag">ubuntu</a><br />

	<h4>Еще на похожие темы:</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.dimio.org/apt-ili-aptitude-sravnenie.html" title="apt или aptitude. Сравнение (09/11/2009)">apt или aptitude. Сравнение</a></li>
	<li><a href="http://www.dimio.org/cvetovaya-indikaciya-xoda-zagruzki-linux.html" title="Цветовая индикация хода загрузки Linux (21/09/2009)">Цветовая индикация хода загрузки Linux</a></li>
	<li><a href="http://www.dimio.org/fajl-nastrojki-vim-vimrc-dlya-linux-i-windows.html" title="Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows) (21/12/2009)">Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows)</a></li>
	<li><a href="http://www.dimio.org/pishem-plagin-dlya-wordpress-dobavlenie-v-repozitorij-wordpress-org-chast-7.html" title="Пишем плагин для Wordpress. Добавление в репозиторий Wordpress.org (часть 7) (16/11/2009)">Пишем плагин для Wordpress. Добавление в репозиторий Wordpress.org (часть 7)</a></li>
	<li><a href="http://www.dimio.org/obnovil-ubuntu-do-9-10.html" title="Обновил Ubuntu до 9.10 (06/11/2009)">Обновил Ubuntu до 9.10</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.dimio.org/nastrojka-grub2.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>apt или aptitude. Сравнение</title>
		<link>http://www.dimio.org/apt-ili-aptitude-sravnenie.html</link>
		<comments>http://www.dimio.org/apt-ili-aptitude-sravnenie.html#comments</comments>
		<pubDate>Mon, 09 Nov 2009 09:42:11 +0000</pubDate>
		<dc:creator>dimio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[aptitude]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.dimio.org/?p=149</guid>
		<description><![CDATA[На Хабре прочёл любопытную статью про сравнение систем управления пакетами в Debian (и в deb-ориентированных дистрибутивах Linux соответственно). Называется aptitude vs apt. 5 причин, почему я использую aptitude. Как ясно из названия, автор сравнивает aptitude и apt по пяти параметрам:

1. Логичность синтаксиса. И единство управления.
2. Гибкость поиска.
3. Проставление меток пакетов.
4. Разрешение зависимостей.
5. Интерфейс.
Сам я и [...]]]></description>
			<content:encoded><![CDATA[<p>На Хабре прочёл любопытную статью про сравнение систем управления пакетами в <em>Debian</em> (и в <em>deb</em>-ориентированных дистрибутивах Linux соответственно). Называется <noindex><a rel="nofollow" target="_blank" href="http://www.dimio.org/e3f466/XUJESVtKF1EAU0ZXUAAHS0wWFksEXloDRUwXB01ZEEYaAQQMUVMX/" >aptitude vs apt. 5 причин, почему я использую aptitude</a></noindex>. Как ясно из названия, автор сравнивает <em>aptitude</em> и <em>apt</em> по пяти параметрам:</p>
<blockquote><p>
1. Логичность синтаксиса. И единство управления.<br />
2. Гибкость поиска.<br />
3. Проставление меток пакетов.<br />
4. Разрешение зависимостей.<br />
5. Интерфейс.</p></blockquote>
<p>Сам я и так давно предпочитаю <em>aptitude</em> для работы с пакетами, но почитать и посмотреть примеры было любопытно, из статьи можно вынести некоторые полезные новые приёмы работы с утилитой.</p>
<p><span id="more-149"></span></p>
<p>Например, открыл для себя тот факт, что <em>aptitude</em> при поиске пакетов позволяет использовать простые регулярные выражения (<em>regexp</em>), удобство использования поисковых запросов значительно повысилось!</p>
<blockquote><p>
В aptitude используются поисковые запросы. Это дает простор для фантазии: например, что там у нас kde-шного установлено?<br />
aptitude search &#39;~i~skde&#39;</p>
<p>Самые популярные поисковые запросы:<br />
~nимя — искать в имени пакета<br />
~dтекст — искать в описании пакета<br />
~i — отбирает только уже установленные пакеты<br />
~U — отбирает пакеты, которые можно обновить<br />
В качестве любого из шаблонов может выступать регулярное выражение. Например, ~n^wget выберет пакеты, имена которых начинаются с wget. Шаблоны можно группировать логическими операндами, например ~i~skde (и установленные, и из секции KDE). При указании нескольких шаблонов поиска к ним применяется логическое И, если шаблоны разделить &laquo;|&raquo;, то логическое или. Отрицание — &laquo;!&raquo;, группирование в скобках.</p>
</blockquote>
<p>Рекомендую статью к прочтению, не лишним будет также ознакомиться с <noindex><a rel="nofollow" target="_blank" href="http://www.dimio.org/e3f466/XUJESVtKF1gNVlFUSgAMWhYMFgoNHFsBQkwcAVpCFkFaQUMWERdXUwRSQEUXABVNCxAWAAMdUQtVTAcLF14KV1BOHlEVCFQ=/"  title="Руководство по работе с aptitude. Документация и примеры.">документацией</a></noindex> (на английском). </p>
<p>Успехов в освоении!</p>

	Метки:<a href="http://www.dimio.org/tag/apt" title="apt" rel="tag">apt</a>, <a href="http://www.dimio.org/tag/aptitude" title="aptitude" rel="tag">aptitude</a>, <a href="http://www.dimio.org/tag/linux" title="linux" rel="tag">linux</a>, <a href="http://www.dimio.org/tag/manual" title="manual" rel="tag">manual</a>, <a href="http://www.dimio.org/tag/ubuntu" title="ubuntu" rel="tag">ubuntu</a><br />

	<h4>Еще на похожие темы:</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.dimio.org/nastrojka-grub2.html" title="Настройка GRUB2 (11/11/2009)">Настройка GRUB2</a></li>
	<li><a href="http://www.dimio.org/obnovil-ubuntu-do-9-10.html" title="Обновил Ubuntu до 9.10 (06/11/2009)">Обновил Ubuntu до 9.10</a></li>
	<li><a href="http://www.dimio.org/cvetovaya-indikaciya-xoda-zagruzki-linux.html" title="Цветовая индикация хода загрузки Linux (21/09/2009)">Цветовая индикация хода загрузки Linux</a></li>
	<li><a href="http://www.dimio.org/fajl-nastrojki-vim-vimrc-dlya-linux-i-windows.html" title="Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows) (21/12/2009)">Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows)</a></li>
	<li><a href="http://www.dimio.org/pishem-plagin-dlya-wordpress-dobavlenie-v-repozitorij-wordpress-org-chast-7.html" title="Пишем плагин для Wordpress. Добавление в репозиторий Wordpress.org (часть 7) (16/11/2009)">Пишем плагин для Wordpress. Добавление в репозиторий Wordpress.org (часть 7)</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.dimio.org/apt-ili-aptitude-sravnenie.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Обновил Ubuntu до 9.10</title>
		<link>http://www.dimio.org/obnovil-ubuntu-do-9-10.html</link>
		<comments>http://www.dimio.org/obnovil-ubuntu-do-9-10.html#comments</comments>
		<pubDate>Fri, 06 Nov 2009 10:07:46 +0000</pubDate>
		<dc:creator>dimio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[жизненное]]></category>

		<guid isPermaLink="false">http://www.dimio.org/?p=147</guid>
		<description><![CDATA[
Дома на двух машинах решил обновить ОС. И если на десктопе всё прошло без приключений, то вот с ноутбуком как будто вернулся на несколько лет назад.
После обновления поверх версии 9.04 перестал работать экран. Нашел возможный вариант решения для чипсетов от интел (мой случай), не помогло. Пришлось ставить начисто. 
Поставил, перестали работать всплывающие уведомления (поломали драйвер [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dimio.org/wp-content/uploads/2009/11/b9243d45e7bf2f2d72d378f2dae6b030.jpg"><img src="http://www.dimio.org/wp-content/uploads/2009/11/b9243d45e7bf2f2d72d378f2dae6b030-300x177.jpg" alt="ubuntu 9.10" title="ubuntu 9.10" width="300" height="177" class="alignleft size-medium wp-image-148" /></a></p>
<p>Дома на двух машинах решил обновить ОС. И если на десктопе всё прошло без приключений, то вот с ноутбуком как будто вернулся на несколько лет назад.<br />
После обновления поверх версии 9.04 перестал работать экран. Нашел возможный вариант решения для чипсетов от интел (мой случай), не помогло. Пришлось ставить начисто. </p>
<p>Поставил, перестали работать всплывающие уведомления (поломали драйвер видео?). В конфиге GRUB2 нет толкового описания настроек (по умолчанию список вариантов загрузки он не выводит), нашёл на форумах. Как можно поставлять загрузчик, не имеющий нормальной документации по настройке?<br />
Выход из спящего режима теперь &laquo;двойной&raquo;&nbsp;&mdash; выходит один раз и тут же &laquo;засыпает&raquo; обратно.</p>
<p>Из плюсов могу отметить на данный момент только более симпатичные иконки и команду для получения ключей репозиториев launchpad (впрочем, давным-давно есть скрипт, реализующий тот же самый функционал, да ещё и с более удобным интерфейсом).</p>
<p>Мой вердикт&nbsp;&mdash; нафиг. Если работает 9.04 и нет твёрдой уверенности в успешной установке 9.10&nbsp;&mdash; лучше и не ставить. Ничего особо ценного в релизе нет.</p>

	Метки:<a href="http://www.dimio.org/tag/linux" title="linux" rel="tag">linux</a>, <a href="http://www.dimio.org/tag/ubuntu" title="ubuntu" rel="tag">ubuntu</a>, <a href="http://www.dimio.org/tag/zhiznennoe" title="жизненное" rel="tag">жизненное</a><br />

	<h4>Еще на похожие темы:</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.dimio.org/nastrojka-grub2.html" title="Настройка GRUB2 (11/11/2009)">Настройка GRUB2</a></li>
	<li><a href="http://www.dimio.org/apt-ili-aptitude-sravnenie.html" title="apt или aptitude. Сравнение (09/11/2009)">apt или aptitude. Сравнение</a></li>
	<li><a href="http://www.dimio.org/cvetovaya-indikaciya-xoda-zagruzki-linux.html" title="Цветовая индикация хода загрузки Linux (21/09/2009)">Цветовая индикация хода загрузки Linux</a></li>
	<li><a href="http://www.dimio.org/fajl-nastrojki-vim-vimrc-dlya-linux-i-windows.html" title="Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows) (21/12/2009)">Файл настройки vim&nbsp;&mdash; .vimrc (для Linux и Windows)</a></li>
	<li><a href="http://www.dimio.org/spam-v-blog.html" title="Спам в блог (28/10/2009)">Спам в блог</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.dimio.org/obnovil-ubuntu-do-9-10.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
