<?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>Кибер-Фанк v2.0 &#187; ruby</title>
	<atom:link href="http://www.shatlovsky.ru/category/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shatlovsky.ru</link>
	<description>Information must be free</description>
	<lastBuildDate>Fri, 12 Aug 2011 09:06:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>vim tabs</title>
		<link>http://www.shatlovsky.ru/2008/10/01/vim-tabs/</link>
		<comments>http://www.shatlovsky.ru/2008/10/01/vim-tabs/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 14:08:17 +0000</pubDate>
		<dc:creator>Alex Shatlovsky</dc:creator>
				<category><![CDATA[awk]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://shatlovsky.ru/blog/2008/10/01/vim-tabs/</guid>
		<description><![CDATA[Открыть сразу несколько файлов в tab'ах в vim можно так: ~$ vim -p `find -type f -name '*.rb' -print0 &#124; xargs -0 file -i &#124; grep -v 'utf-8' &#124; awk '{print $1}' &#124; sed 's/://'` (пример от Харитона, открываем в vim все ruby-файлы в кодировке, отличной от utf-8) Здесь важен ключ -p: открыть файлы в [...]]]></description>
			<content:encoded><![CDATA[<p>Открыть сразу несколько файлов в tab'ах в vim можно так:</p>
<pre class="bash">~$ vim -p `find -type f -name '*.rb' -print0 | xargs -0 file -i | grep -v 'utf-8' | awk '{print $1}' | sed 's/://'`</pre>
<p>(пример от Харитона, открываем в vim все ruby-файлы в кодировке, отличной от utf-8)<br />
Здесь важен ключ -p: открыть файлы в табах.</p>
<p>Vim откроет столько буферов, сколько нашлось файлов, но не более <code>tabpagemax</code>, по умолчанию 10. Изменить количество табов можно в <code>~/.vimrc</code> так:</p>
<p><code>set tabpagemax=15</code></p>
<p>При превышении <code>tabpagemax</code> новые табы не создаются, но навигировать по файлам все равно можно командами <code>:next</code> и <code>:last</code>.</p>
<p>Переключаться между табами можно командами: <code>:tabnext</code>, <code>:tabprevious</code>, <code>:tablast</code>, <code>:tabfirst</code>. Можно замапить из на горячие клавиши. Можно пользоваться горячими клавишами &lt;C-PgUp&gt; and &lt;C-PgDown&gt;.</p>
<p>Ещё полезное:<br />
<code>:tabn[ew]</code> - открыть новый таб<br />
<code>:tabe[dit] [++opt] [+cmd] {file}</code> - открыть файл в новом табе (типа <code>:edit</code>)<br />
<code>:tabf[ind] [++opt] [+cmd] {file}</code> - найти файл в <code>path</code> и открыть в новом табе (типа <code>:find</code>)<br />
<code>CTRL-W gf</code> - редактировать файл с именем, находящимся под курсором, в новом табе<br />
<code>CTRL-W gF</code> - редактировать файл с именем, находящимся под курсором, в новом табе. Отмотать на строку которая указана после имени файла<br />
<code>:tabc[lose][!]</code> - закрыть таб<br />
<code>:tabo[nly][!]</code> - закрыть все табы кроме активного<br />
<code>:tabn[ext]</code> (<code>gt</code>, &lt;C-PageDown&gt;)  - переключиться на следующий таб<br />
<code>:tabp[revious]</code> (<code>:tabN[ext]</code>, <code>gT</code>) - на предыдущий таб<br />
<code>:tabr[ewind]</code> (<code>:tabfir[st]</code>)  - на первый таб<br />
<code>:tabl[ast]</code> - на последний<br />
<code>:tabs</code> - список табов<br />
<code>:tabm[ove] [N]</code> - переместить текущий таб на место сразу за N-ым<br />
<code>:tabd[o] {cmd}</code> - выполнить команду на каждом из табов (<code>:tabdo %s/foo/bar/g</code>)</p>
<p>Подробнее здесь - <code class="warn">:help tabpage</code></p>
<p>Еще интересная фишка. Если переместить курсор на имя файла и нажать <code>gf</code> (go-to-file), то откроется <em>альтернативный буфер</em> с содержимым указанного файла. Старый файл как-бы пропадет из поля зрения. Однако на него можно быстро переключиться командой <code>C-^</code>, так же и обратно. Так удобно редактировать 2 файла одновременно.</p>
<p>По поводу полезных маппингов:<br />
<a href="http://www.bygonesky.com/Programming/Settings/Vim/carlos.vim.html">http://www.bygonesky.com/Programming/Settings/Vim/carlos.vim.html</a>, смотреть начиная со 125-й строки.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shatlovsky.ru/2008/10/01/vim-tabs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Инструкция по установке Ruby + Gems + Rails на Ubuntu</title>
		<link>http://www.shatlovsky.ru/2008/09/19/instrukciya-po-ustanovke-ruby-gems-rails-na-ubuntu/</link>
		<comments>http://www.shatlovsky.ru/2008/09/19/instrukciya-po-ustanovke-ruby-gems-rails-na-ubuntu/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 09:04:26 +0000</pubDate>
		<dc:creator>Alex Shatlovsky</dc:creator>
				<category><![CDATA[gems]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://shatlovsky.ru/blog/2008/09/19/instrukciya-po-ustanovke-ruby-gems-rails-na-ubuntu/</guid>
		<description><![CDATA[Ставим Ruby через менеджер пакетов apt-get: ~$ sudo apt-get install ruby rdoc irb libyaml-ruby libzlib-ruby ri libopenssl-ruby ruby1.8-dev build-essential Пакеты rdoc и irb не входят в зависимости, хотя и необходимы для Gem и Rails. Ставим RubyGems из исходников. Это позволит в дальнейшем RubyGems спокойно само-обновляться: ~$ wget &#34;http://rubyforge.org/frs/download.php/38646/rubygems-x.x.x.tgz&#34; ~$ tar -xvzf rubygems-x.x.x.tgz ~$ rm rubygems-x.x.x.tgz [...]]]></description>
			<content:encoded><![CDATA[<p>Ставим Ruby через менеджер пакетов apt-get:</p>
<pre class="bash">~$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> ruby rdoc irb libyaml-ruby libzlib-ruby ri libopenssl-ruby ruby1<span style="color: #000000;">.8</span>-dev build-essential</pre>
<p>Пакеты rdoc и irb не входят в зависимости, хотя и необходимы для Gem и Rails.</p>
<p>Ставим <span class="warn">RubyGems из исходников</span>. Это позволит в дальнейшем RubyGems спокойно само-обновляться:</p>
<pre class="bash">~$ <span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #ff0000;">&quot;http://rubyforge.org/frs/download.php/38646/rubygems-x.x.x.tgz&quot;</span>
~$ <span style="color: #c20cb9; font-weight: bold;">tar</span> -xvzf rubygems-x.x.x.tgz
~$ <span style="color: #c20cb9; font-weight: bold;">rm</span> rubygems-x.x.x.tgz
~$ <span style="color: #7a0874; font-weight: bold;">cd</span> rubygems-x.x.x
~$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> ruby setup.rb
~$ <span style="color: #7a0874; font-weight: bold;">cd</span> ..
~$ <span style="color: #c20cb9; font-weight: bold;">rm</span> -r rubygems-x.x.x</pre>
<p>(НЕЛЬЗЯ запускать установку снаружи, типа <code>use sudo ruby rubygemsx.x.x/setup.rb</code>)</p>
<p>Теперь можно обновить RubyGems</p>
<pre class="bash">~$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> gem update --system</pre>
<p>Если эта команда не сработала, то, возможно, нужно создать симлинк /usr/bin/gem1.8 -&gt; /usr/bin/gem</p>
<pre class="bash">~$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> -s /usr/bin/gem1<span style="color: #000000;">.8</span> /usr/bin/gem</pre>
<p>Ставим Rails и mongrel через RubyGems:</p>
<pre class="bash">~$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> rails mongrel</pre>
<p>Добавляем <code>/var/lib/gems/1.8/bin/</code> в пути, и все готово!</p>
<pre class="bash">~$ <span style="color: #007800;">PATH=</span><span style="color: #007800;">$<span style="color: #7a0874; font-weight: bold;">&#123;</span>PATH<span style="color: #7a0874; font-weight: bold;">&#125;</span></span>:/var/lib/gems/<span style="color: #000000;">1.8</span>/bin/
~$ <span style="color: #7a0874; font-weight: bold;">export</span> PATH</pre>
<p>[<a href="http://wiki.rubyonrails.org/rails/pages/RailsOnUbuntu">источник</a>]</p>
<p><strong>Харитон Мизгирь пишет:</strong> NB! если при установке какого-нибудь gem'а выдается ошибка<br />
"no such file to load — mkmf"<br />
это значит, что не установлен ruby1.8-dev, libsqlite3-dev<br />
или еще какой-нибудь *-dev</p>
<pre class="bash">~$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> ruby1<span style="color: #000000;">.8</span>-dev libsqlite3-dev</pre>
<p>и т.д.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shatlovsky.ru/2008/09/19/instrukciya-po-ustanovke-ruby-gems-rails-na-ubuntu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

