<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
         xmlns:admin="http://webns.net/mvcb/"
         xmlns:content="http://purl.org/rss/1.0/modules/content/"
         xmlns="http://purl.org/rss/1.0/">




  


<channel rdf:about="http://nanasi.jp/">
  <title>名無しのvim使い</title>
  <link>http://nanasi.jp/</link>
  <description>「名無しのvim使い」へようこそ。このサイトはUnix系エディタviの後継、vimエディタの基本の基本から、スクリプトでの機能拡張までを扱うvimエディタ専門の情報サイトです。</description>
  <dc:publisher>小見 拓 &lt;mail@nanasi.jp&gt;</dc:publisher>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <image rdf:resource="http://nanasi.jp/logo_site.png"/>
  <dc:language>ja</dc:language>
  <admin:errorReportsTo rdf:resource="mailto:mail@nanasi.jp"/>
  <admin:generatorAgent rdf:resource="http://nanasi.jp/"/>
  <items>
    <rdf:Seq>
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/vim/spinner_vim.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/vim/rargs_vim.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/howto/file/workingfile.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/vim/postmail_vim.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/howto/note/vimm-200906.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/howto/note/vimm-200811.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/howto/note/vimm-200807.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/howto/hardcopy/hardcopy.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/howto/config/dictionary.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/howto/editing/global-head.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/howto/coding/vim_vs_net_cmd.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/vim/batch_vim.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/vim/auto_wc_vim.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/vim/catn_vim.html"/>
    
    
      <rdf:li rdf:resource="http://nanasi.jp/articles/vim/commentout_source.html"/>
    
    </rdf:Seq>
  </items>
</channel>

<image rdf:about="http://nanasi.jp/logo_site.png">
    <url>http://nanasi.jp/logo_site.png</url>
    <title>名無しのvim使い</title>
    <link>http://nanasi.jp/</link>
</image>

<item rdf:about="http://nanasi.jp/articles/vim/spinner_vim.html">
  <title>spinner.vim : 3つのキーの操作だけで、バッファ、ファイル、タブを素早く切り替えられるプラグイン</title>
  <link>http://nanasi.jp/articles/vim/spinner_vim.html</link>
  <description>spinner.vimプラグインは「快適に」「簡単に」操作できることを目指して作られた、
操作ファイル切り替えプラグインです。
「Control」「Shift」「Enter」の3つのキーの操作だけで、
バッファ、同じディレクトリのファイル、タブなどを順々に切り替えられる機能があります。
(Windows, Mac)
</description>
  <dc:subject>vimスクリプト</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-17T13:26:22+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id11" name="id11"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id12" name="id12"&gt;インストール方法&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#spinner-vim-plugin-vba" id="id13" name="id13"&gt;spinner-vim-plugin.vbaのダウンロード&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id3" id="id14" name="id14"&gt;spinner-vim-plugin.vbaのインストール&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#spinner-vim" id="id15" name="id15"&gt;spinner.vimプラグインの基本的な使い方&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id16" name="id16"&gt;操作ファイルを次に進める、前に戻る。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id17" name="id17"&gt;操作モードを切り替える。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id6" id="id18" name="id18"&gt;今、どの操作モードにいるか、確認する。&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id19" name="id19"&gt;一歩進んだ、spinner.vimプラグインの使い方&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id8" id="id20" name="id20"&gt;spinner.vimの操作モードをステータスバーに表示する。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id9" id="id21" name="id21"&gt;操作モードを直接指定する。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id10" id="id22" name="id22"&gt;spinner.vimのキーのマッピングを変更する。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#vim-spinner-vim" id="id23" name="id23"&gt;Vimエディタ起動後、最初のspinner.vim操作モードを指定する。&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#vim" id="id24" name="id24"&gt;コンソール版Vimエディタでの問題&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id11" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;spinner.vim : fast buffer/file/tab/... switching plugin with only 3 keys. &lt;br /&gt;
&lt;a class="reference" href="http://spinner-vim-plugin.googlecode.com/files/spinner-vim-plugin.vba"&gt;http://spinner-vim-plugin.googlecode.com/files/spinner-vim-plugin.vba&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;spinner.vimプラグインは「快適に」「簡単に」操作できることを目指して作られた、
操作ファイル切り替えプラグインです。
&lt;span class="raw-html"&gt;&lt;kbd&gt;Control&lt;/kbd&gt;&lt;/span&gt; &lt;span class="raw-html"&gt;&lt;kbd&gt;Shift&lt;/kbd&gt;&lt;/span&gt; &lt;span class="raw-html"&gt;&lt;kbd&gt;Enter&lt;/kbd&gt;&lt;/span&gt; の
3つのキーの操作だけで、&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;バッファ&lt;/li&gt;
&lt;li&gt;ファイル（開いているファイルと同じディレクトリから探す）&lt;/li&gt;
&lt;li&gt;最近編集したファイル&lt;/li&gt;
&lt;li&gt;タブ&lt;/li&gt;
&lt;li&gt;ウィンドウ&lt;/li&gt;
&lt;li&gt;エラーリスト&lt;/li&gt;
&lt;li&gt;エラーリスト（ファイル単位）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の種類の操作ファイルを順々に切り替えられる機能を提供します。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id12" id="id2" name="id2"&gt;インストール方法&lt;/a&gt;&lt;/h3&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id13" id="spinner-vim-plugin-vba" name="spinner-vim-plugin-vba"&gt;spinner-vim-plugin.vbaのダウンロード&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;spinner.vimプラグインは、次のURLからダウンロードします。 &lt;br /&gt;
&lt;a class="reference" href="http://spinner-vim-plugin.googlecode.com/files/spinner-vim-plugin.vba"&gt;http://spinner-vim-plugin.googlecode.com/files/spinner-vim-plugin.vba&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id14" id="id3" name="id3"&gt;spinner-vim-plugin.vbaのインストール&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;spinner.vimプラグインはVimBall形式で配布しています。 &lt;br /&gt;
このプラグインをインストールするには、
「spinner-vim-plugin.vba」ファイルをVimエディタで開き、
&lt;span class="raw-html"&gt;&lt;kbd&gt;:source %&lt;/kbd&gt;&lt;/span&gt; コマンドを実行してください。
プラグインと、プラグインのヘルプファイルがインストールされます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; プラグインをインストールするには、&lt;/strong&gt;
&lt;strong&gt;&amp;quot; Vimエディタでspinner-vim-plugin.vbaファイルを開いてから、&lt;/strong&gt;
&lt;strong&gt;&amp;quot; sourceコマンドを実行する&lt;/strong&gt;
:source %
&lt;/pre&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;ファイル&lt;/th&gt;
&lt;th class="head"&gt;URL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;spinner-vim-plugin.vba&lt;/td&gt;
&lt;td&gt;&lt;a class="reference" href="http://spinner-vim-plugin.googlecode.com/files/spinner-vim-plugin.vba"&gt;http://spinner-vim-plugin.googlecode.com/files/spinner-vim-plugin.vba&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id15" id="spinner-vim" name="spinner-vim"&gt;spinner.vimプラグインの基本的な使い方&lt;/a&gt;&lt;/h3&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;操作&lt;/th&gt;
&lt;th class="head"&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;&amp;lt;C-Enter&amp;gt;&lt;/td&gt;
&lt;td&gt;次のファイルへ移動&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;lt;S-Enter&amp;gt;&lt;/td&gt;
&lt;td&gt;前のファイルへ移動&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;lt;C-S-Enter&amp;gt;&lt;/td&gt;
&lt;td&gt;操作モードを切り替える&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;lt;A-Enter&amp;gt;&lt;/td&gt;
&lt;td&gt;操作モードを表示する。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;lt;D-Enter&amp;gt;&lt;/td&gt;
&lt;td&gt;操作モードを表示する。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id16" id="id4" name="id4"&gt;操作ファイルを次に進める、前に戻る。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;spinner.vimの基本操作の一つです。 &lt;br /&gt;
ノーマルモードで、 &lt;span class="raw-html"&gt;&lt;kbd&gt;Control-Enter&lt;/kbd&gt;&lt;/span&gt; を押下すると次のファイルに、 &lt;br /&gt;
&lt;span class="raw-html"&gt;&lt;kbd&gt;Shift-Enter&lt;/kbd&gt;&lt;/span&gt; を押下すると前のファイルに操作ファイルが切り替わります。&lt;/p&gt;
&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;&lt;span class="raw-html"&gt;&lt;kbd&gt;Control-Enter&lt;/kbd&gt;&lt;/span&gt; は
&lt;span class="raw-html"&gt;&lt;kbd&gt;Control&lt;/kbd&gt;&lt;/span&gt; キーを押しながら &lt;span class="raw-html"&gt;&lt;kbd&gt;Enter&lt;/kbd&gt;&lt;/span&gt; キー、 &lt;br /&gt;
&lt;span class="raw-html"&gt;&lt;kbd&gt;Shift-Enter&lt;/kbd&gt;&lt;/span&gt; は
&lt;span class="raw-html"&gt;&lt;kbd&gt;Shift&lt;/kbd&gt;&lt;/span&gt; キーを押しながら &lt;span class="raw-html"&gt;&lt;kbd&gt;Enter&lt;/kbd&gt;&lt;/span&gt; キーを押すことを示しています。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id17" id="id5" name="id5"&gt;操作モードを切り替える。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span class="raw-html"&gt;&lt;kbd&gt;Control-Enter&lt;/kbd&gt;&lt;/span&gt; 、 &lt;span class="raw-html"&gt;&lt;kbd&gt;Shift-Enter&lt;/kbd&gt;&lt;/span&gt; を押した時に、
どの種類のファイルを操作するのかを切り替えるのが、
&lt;span class="raw-html"&gt;&lt;kbd&gt;Control-Shift-Enter&lt;/kbd&gt;&lt;/span&gt; キーです。&lt;/p&gt;
&lt;p&gt;ノーマルモードで &lt;span class="raw-html"&gt;&lt;kbd&gt;Control-Shift-Enter&lt;/kbd&gt;&lt;/span&gt; キーを押下するごとに、
&lt;span class="raw-html"&gt;&lt;kbd&gt;Control-Enter&lt;/kbd&gt;&lt;/span&gt; 押下時の挙動が次の順序で変わっていきます。&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;バッファを切り替える。&lt;/li&gt;
&lt;li&gt;同じディレクトリにあるファイルを開く。&lt;/li&gt;
&lt;li&gt;最近編集したファイルの一覧から、ファイルを開く。&lt;/li&gt;
&lt;li&gt;タブを移動する。&lt;/li&gt;
&lt;li&gt;ウィンドウを移動する。&lt;/li&gt;
&lt;li&gt;エラーリストの次の項目に移動する。&lt;/li&gt;
&lt;li&gt;エラーリスト（ファイル単位）の次のファイルの項目に移動する。&lt;/li&gt;
&lt;/ul&gt;
&lt;img alt="C-S-Enter押下毎に、spinner.vimプラグインの挙動が変わります。" src="/dist/img/vim/spinner_switch_mode.png" /&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id18" id="id6" name="id6"&gt;今、どの操作モードにいるか、確認する。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;spinner.vimプラグインで、どの操作モードにいるか分からなくなった時は、 &lt;br /&gt;
&lt;span class="raw-html"&gt;&lt;kbd&gt;Alt-Enter&lt;/kbd&gt;&lt;/span&gt; か、 &lt;span class="raw-html"&gt;&lt;kbd&gt;Command-Enter&lt;/kbd&gt;&lt;/span&gt; で、
現在の操作モードを表示できます。&lt;/p&gt;
&lt;img alt="spinner.vimプラグインの現在の操作モードを表示" src="/dist/img/vim/spinner_current_mode.png" /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id19" id="id7" name="id7"&gt;一歩進んだ、spinner.vimプラグインの使い方&lt;/a&gt;&lt;/h3&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id20" id="id8" name="id8"&gt;spinner.vimの操作モードをステータスバーに表示する。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;spinner.vimプラグインが今のどの操作モードにいるか忘れやすい、というのは、
状態をもったプラグインである、spinner.vimの大きな弱点です。 &lt;br /&gt;
この問題を解決する方法の一つとして、ステータスバーを使う方法を紹介します。&lt;/p&gt;
&lt;p&gt;spinner.vimプラグインをインストールすると「g:CurrentSpinnerMode()」で現在の操作モードをとれるようになるので、
例えば、次のようにVimエディタ設定ファイルで設定すれば、
ステータスバーにspinner.vimプラグインの操作モードを表示できます。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; ステータスバーにspinner.vimプラグインの状態を表示&lt;/strong&gt;
set statusline=%&amp;lt;%f%m%r%h%w[#%n]%{'['.(&amp;amp;fenc!=''?&amp;amp;fenc:&amp;amp;enc).']['.&amp;amp;ff.'][spinner:'.g:CurrentSpinnerMode().']'}%=[row:%l/%L,col:%c]%P
&lt;/pre&gt;
&lt;img alt="ステータスバーにspinner.vimプラグインの操作モードを表示" src="/dist/img/vim/spinner_statusbar.png" /&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id21" id="id9" name="id9"&gt;操作モードを直接指定する。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;spinner.vimプラグインでは、通常、
&lt;span class="raw-html"&gt;&lt;kbd&gt;Control-Shift-Enter&lt;/kbd&gt;&lt;/span&gt; で操作モードを順々に切り替えて、
目的のモードまで変更するのですが、&lt;/p&gt;
&lt;p&gt;&lt;span class="raw-html"&gt;&lt;kbd&gt;2 Control-Shift-Enter&lt;/kbd&gt;&lt;/span&gt; のように、操作モードの番号を指定して、
&lt;span class="raw-html"&gt;&lt;kbd&gt;Control-Shift-Enter&lt;/kbd&gt;&lt;/span&gt; を押下すると、指定した操作モードに直接切り替えられます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; コマンドのフォーマット&lt;/strong&gt;
{モードの番号} &amp;lt;C-S-Enter&amp;gt;

&lt;strong&gt;&amp;quot; コマンド実行例。タブ操作モードに移行。&lt;/strong&gt;
4 &amp;lt;C-S-Enter&amp;gt;
&lt;/pre&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;NUMBER&lt;/th&gt;
&lt;th class="head"&gt;spinner.vimプラグインのモード&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;same directory file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;most recently edited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;tab&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;window&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;quickfix&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;quickfix file&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id22" id="id10" name="id10"&gt;spinner.vimのキーのマッピングを変更する。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Vimエディタの設定ファイルで
「g:spinner_nextitem_key」「g:spinner_previousitem_key」「g:spinner_switchmode_key」「g:spinner_displaymode_key」
を設定すると、デフォルト以外のキーでspinner.vimプラグインを操作できるようになります。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; 設定のフォーマット&lt;/strong&gt;
let g:spinner_nextitem_key = {mapping}
let g:spinner_previousitem_key = {mapping}
let g:spinner_switchmode_key = {mapping}
let g:spinner_displaymode_key = {mapping}

&lt;strong&gt;&amp;quot; 設定例&lt;/strong&gt;
let g:spinner_nextitem_key = ',n'
let g:spinner_previousitem_key = ',p'
let g:spinner_switchmode_key = ',s'
let g:spinner_displaymode_key = ',d'
&lt;/pre&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;設定&lt;/th&gt;
&lt;th class="head"&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;g:spinner_nextitem_key&lt;/td&gt;
&lt;td&gt;次のアイテムに移動するキー&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;g:spinner_previousitem_key&lt;/td&gt;
&lt;td&gt;前のアイテムに移動するキー&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;g:spinner_switchmode_key&lt;/td&gt;
&lt;td&gt;操作モードを切り替えるキー&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;g:spinner_displaymode_key&lt;/td&gt;
&lt;td&gt;操作モードを表示するキー&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id23" id="vim-spinner-vim" name="vim-spinner-vim"&gt;Vimエディタ起動後、最初のspinner.vim操作モードを指定する。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;起動直後の最初の操作モードを変更するには「g:spinner_initial_search_type」を設定します。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; 設定のフォーマット&lt;/strong&gt;
let g:spinner_initial_search_type = {mode number}

&lt;strong&gt;&amp;quot; 設定例。同ディレクトリファイルを最初の操作モードにする&lt;/strong&gt;
let g:spinner_initial_search_type = 2
&lt;/pre&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;操作モード番号&lt;/th&gt;
&lt;th class="head"&gt;操作モード&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;same directory file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;most recently edited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;tab&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;window&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;quickfix&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;quickfix file&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id24" id="vim" name="vim"&gt;コンソール版Vimエディタでの問題&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;このspinner.vimプラグインをコンソール版Vimエディタで使う場合、
&lt;span class="raw-html"&gt;&lt;kbd&gt;Control-Enter&lt;/kbd&gt;&lt;/span&gt; 、 &lt;span class="raw-html"&gt;&lt;kbd&gt;Shift-Enter&lt;/kbd&gt;&lt;/span&gt; といった、
デフォルトで割り当てられているマッピングが機能しない、という大きな問題があります。&lt;/p&gt;
&lt;p&gt;ただし、一部環境（というには多いですが）を考慮して、全ての環境の利便性を下げるつもりはないので、
この問題はそのままにしています。&lt;/p&gt;
&lt;p&gt;コンソール版でspinner.vimプラグインを使う場合は、
&lt;a class="reference" href="#id10"&gt;spinner.vimのキーのマッピングを変更する。&lt;/a&gt; を参考に、
操作キーを変更してください。&lt;/p&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/vim/rargs_vim.html">
  <title>rargs.vim : 指定した複数のファイルを一度に読み込む</title>
  <link>http://nanasi.jp/articles/vim/rargs_vim.html</link>
  <description>rargs.vimは指定した複数のファイルをカーソル行の位置に読み込む、
「:read」コマンドの拡張的な機能を提供するプラグインです。
(Windows, Mac)
</description>
  <dc:subject>vimスクリプト</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-17T13:15:48+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id7" name="id7"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id8" name="id8"&gt;インストール方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id3" id="id9" name="id9"&gt;コマンドフォーマット&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id10" name="id10"&gt;コマンドの実行例&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id11" name="id11"&gt;読み込み位置&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id6" id="id12" name="id12"&gt;設定&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#g-rargs-exit-when-error" id="id13" name="id13"&gt;g:rargs_exit_when_error&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id7" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;rargs.vim : read the contents of many files at one time. &lt;br /&gt;
&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/rargs.vim"&gt;http://indefero.taku-o.net/index.php/p/download/source/file/master/rargs.vim&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;rargs.vimは指定した複数のファイルをカーソル行の位置に読み込む、
&lt;span class="raw-html"&gt;&lt;kbd&gt;:read&lt;/kbd&gt;&lt;/span&gt; コマンドの拡張的な機能を提供するプラグインです。&lt;/p&gt;
&lt;p&gt;Unixで良く行われるファイルをまとめる操作、&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
cat file1 file2 file3 &amp;gt; some.txt
&lt;/pre&gt;
&lt;p&gt;を書き込まれる側のファイルから制御します。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id8" id="id2" name="id2"&gt;インストール方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;インストールするにはプラグインをダウンロードして、
Vim設定ファイルディレクトリのpluginディレクトリにコピーしてください。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;ファイル&lt;/th&gt;
&lt;th class="head"&gt;URL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;rargs.vim&lt;/td&gt;
&lt;td&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/rargs.vim"&gt;http://indefero.taku-o.net/index.php/p/download/source/file/master/rargs.vim&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id9" id="id3" name="id3"&gt;コマンドフォーマット&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;rargs.vimプラグインをインストールすると &lt;span class="raw-html"&gt;&lt;kbd&gt;:RArgs&lt;/kbd&gt;&lt;/span&gt; コマンドが追加されます。
&lt;span class="raw-html"&gt;&lt;kbd&gt;:RArgs&lt;/kbd&gt;&lt;/span&gt; コマンドのフォーマットは次の通りです。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:[N]RArgs [++opt] {filename1} [{filename2} {filename3}...]
&lt;/pre&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;コマンド説明&lt;/strong&gt;
[N]
    テキストを流し込む位置。省略可能。

[++opt]
    ファイル読み込みの際に指定するオプション。
    詳しくは、 ':help ++opt' 参照。

{filename1} [{filename2} {filename3}...]
    読み込むファイル。複数指定可能。同じファイル指定可能。
    ワイルドカード使用可能。
    Vimのファイル系特殊キーワード（'#2', '%'）など使用可能。
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id10" id="id4" name="id4"&gt;コマンドの実行例&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="raw-html"&gt;&lt;kbd&gt;:RArgs&lt;/kbd&gt;&lt;/span&gt; コマンドはファイル名のリストを受け取りますが、 &lt;br /&gt;
単純なファイル名だけでなく、ワイルドカードによるファイル指定や、
Vimのファイル系の特殊キーワードを使用したファイル指定、
同じファイルの複数回の読み込みなども利用できます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 複数ファイルの読み込み&lt;/strong&gt;
:RArgs sample1.txt sample2.txt sample3.txt

&lt;strong&gt;&amp;quot; ワイルドカード&lt;/strong&gt;
:RArgs sample*

&lt;strong&gt;&amp;quot; Vimのファイル系特殊キーワード&lt;/strong&gt;
:RArgs #2 #4 #6&amp;lt;.bak

&lt;strong&gt;&amp;quot; 同じファイルの複数回読み込み&lt;/strong&gt;
:RArgs sample1.txt sample1.txt sample1.txt

&lt;strong&gt;&amp;quot; エンコード、ファイルフォーマット指定&lt;/strong&gt;
:RArgs ++enc=utf-8 ++ff=unix sample1.txt sample2.txt sample3.txt
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id11" id="id5" name="id5"&gt;読み込み位置&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="raw-html"&gt;&lt;kbd&gt;:RArgs&lt;/kbd&gt;&lt;/span&gt; コマンドでファイルが読み込まれる位置は、行未指定ならカーソル行、 &lt;br /&gt;
行を指定したなら、その指定行になります。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; カーソル行に読み込み&lt;/strong&gt;
:RArgs sample1.txt sample2.txt sample3.txt

&lt;strong&gt;&amp;quot; 200行に読み込み&lt;/strong&gt;
:200RArgs sample1.txt sample2.txt sample3.txt
&lt;/pre&gt;
&lt;p&gt;ファイルの先頭に、読み込みファイルを流し込むには、 &lt;br /&gt;
&lt;span class="raw-html"&gt;&lt;kbd&gt;:read&lt;/kbd&gt;&lt;/span&gt; コマンドの場合と同じく、行の指定に0を使用してください。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; ファイルの先頭に読み込んだファイルを流し込む&lt;/strong&gt;
:0RArgs sample1.txt sample2.txt sample3.txt
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id12" id="id6" name="id6"&gt;設定&lt;/a&gt;&lt;/h3&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id13" id="g-rargs-exit-when-error" name="g-rargs-exit-when-error"&gt;g:rargs_exit_when_error&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;ファイル読み込みの際、エラーが発生した、もしくは、指定したファイルが読み込めない場合に、
プラグインの処理を中止するかしないかを 'g:rargs_exit_when_error' で指定できます。
「デフォルトの挙動は、エラーがあっても残りのファイルを継続して処理する」です。&lt;/p&gt;
&lt;p&gt;エラー発見時に、プラグインの処理を中止するには、Vimの設定ファイルで次のように
設定してください。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
let g:rargs_exit_when_error = '1'
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/howto/file/workingfile.html">
  <title>一時ファイル、作業用ファイルを使い倒すための実戦向けテクニック</title>
  <link>http://nanasi.jp/articles/howto/file/workingfile.html</link>
  <description>設定ファイルを編集したり、コーディングすることだけが、Vimエディタの使い道ではありません。        
Vimエディタに備わっている高い編集能力は、他の雑多な作業においても十分に役に立つものがあります。 
このページでは、それら小作業において多用されることの多い、                                       
一時ファイル、作業用ファイル、メモ用ファイルをより活用する術をご紹介します。                     
コーディングの共に、議事録のメモに、計算処理の結果算出にと、役立つ場面の多い技術です。           
(Windows, Mac)                                                                                   
</description>
  <dc:subject>vimエディタ基本</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-17T13:14:51+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id66" name="id66"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id67" name="id67"&gt;無名バッファを作業用領域として利用する&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id3" id="id68" name="id68"&gt;無名バッファの作り方&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id69" name="id69"&gt;無名ファイルのクラッシュ時のリカバリー方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id6" id="id70" name="id70"&gt;作業終了後の無名ファイルの閉じ方&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id71" name="id71"&gt;スクラッチバッファを作業用領域として利用する&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id8" id="id72" name="id72"&gt;スクラッチバッファの作り方&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id12" id="id73" name="id73"&gt;一時ファイルを作業用領域として利用する&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id14" id="id74" name="id74"&gt;一時ファイルの作り方&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id15" id="id75" name="id75"&gt;一時ファイル作成用のコマンドを用意する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id16" id="id76" name="id76"&gt;利用していた一時ファイルを後から探す&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id21" id="id77" name="id77"&gt;実ファイルを作業用領域として利用する&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id22" id="id78" name="id78"&gt;日付入りファイル&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id23" id="id79" name="id79"&gt;日付入りファイルの作り方&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id24" id="id80" name="id80"&gt;連番入りファイル&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id27" id="id81" name="id81"&gt;多数の連番入りファイルの作り方&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id28" id="id82" name="id82"&gt;既存のファイルを作業用ファイルのテンプレートとして使う&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id31" id="id83" name="id83"&gt;作業用ファイルを直接実行する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id36" id="id84" name="id84"&gt;目次ファイルからのリンク&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id39" id="id85" name="id85"&gt;ファイルタイプを設定する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id41" id="id86" name="id86"&gt;参考情報リンクなど&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id66" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;設定ファイルを編集したり、コーディングすることだけが、Vimエディタの使い道ではありません。 &lt;br /&gt;
Vimエディタに備わっている高い編集能力は、他の雑多な作業においても十分に役に立つものがあります。&lt;/p&gt;
&lt;p&gt;このページでは、それら小作業において多用されることの多い、 &lt;br /&gt;
一時ファイル、作業用ファイル、メモ用ファイルをより活用する術をご紹介します。&lt;/p&gt;
&lt;p&gt;コーディングの共に、議事録のメモに、計算処理の結果算出にと、役立つ場面の多い技術です。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id67" id="id2" name="id2"&gt;無名バッファを作業用領域として利用する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;新規にVimエディタを立ち上げるか、 &lt;span class="raw-html"&gt;&lt;kbd&gt;:enew&lt;/kbd&gt;&lt;/span&gt; コマンドで空のバッファを作り、
そのバッファを作業用の領域として利用します。&lt;/p&gt;
&lt;p&gt;最も簡単に作業用の領域を用意できる方法ではありますが、
Vimエディタを終了してしまえば編集していた情報は消滅してしまいますし、
一部プラグインの機能の利用やバッファの切り替えなどで、不都合が生じることもあります。&lt;/p&gt;
&lt;p&gt;しかし、いくらかの簡易な作業は、無名バッファでも十分なはずです。&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id68" id="id3" name="id3"&gt;無名バッファの作り方&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;新規にVimエディタを立ち上げるか、起動中のVimエディタから無名バッファを作るコマンドを実行する。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 新たに無名バッファを開く&lt;/strong&gt;
:enew

&lt;strong&gt;&amp;quot; ウィンドウを分割して、そこに無名バッファを開く&lt;/strong&gt;
:split +enew
:vsplit +enew

&lt;strong&gt;&amp;quot; 新しいタブを作り、そこで無名バッファを開く&lt;/strong&gt;
:tabnew
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id69" id="id4" name="id4"&gt;無名ファイルのクラッシュ時のリカバリー方法&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;万が一、無名ファイルで作業中にVimエディタがクラッシュしてしまった場合でも、 &lt;br /&gt;
.swp、.swoという名前のスワップファイルを探して、そのファイルに対して &lt;span class="raw-html"&gt;&lt;kbd&gt;:recover&lt;/kbd&gt;&lt;/span&gt; コマンドを実行すれば、 &lt;br /&gt;
クラッシュ前の状態までリカバリできます。いざというときは、このリカバリー方法を思い出しましょう。 &lt;a class="footnote-reference" href="#id42" id="id5" name="id5"&gt;[1]&lt;/a&gt;&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; スワップファイルからリカバリ&lt;/strong&gt;
:recover .swp
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id70" id="id6" name="id6"&gt;作業終了後の無名ファイルの閉じ方&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;無名バッファでの作業終了後は、
&lt;span class="raw-html"&gt;&lt;kbd&gt;ZQ&lt;/kbd&gt;&lt;/span&gt; コマンドや &lt;span class="raw-html"&gt;&lt;kbd&gt;:bd!&lt;/kbd&gt;&lt;/span&gt; コマンドでバッファを閉じます。 &lt;br /&gt;
（ &lt;span class="raw-html"&gt;&lt;kbd&gt;ZQ&lt;/kbd&gt;&lt;/span&gt; コマンドは編集中のバッファの状態を保存せずにバッファを閉じられるコマンド。）&lt;/p&gt;
&lt;p&gt;&lt;span class="raw-html"&gt;&lt;kbd&gt;ZQ&lt;/kbd&gt;&lt;/span&gt; コマンドは通常編集作業では、
編集結果を保存せずにバッファを閉じてしまう可能性のある危険性の高いコマンドですが、
一時ファイルや作業用ファイルを活用する場合は多用することになります。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id71" id="id7" name="id7"&gt;スクラッチバッファを作業用領域として利用する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;スクラッチバッファは作業のために領域として使うのに向いている。
簡単な作業であれば、多くの場合、非常に利用しやすい。&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id72" id="id8" name="id8"&gt;スクラッチバッファの作り方&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Vimエディタでスクラッチバッファを利用するには、&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Kaoriya版Vimエディタに含まれる、 &lt;span class="raw-html"&gt;&lt;kbd&gt;:Scratch&lt;/kbd&gt;&lt;/span&gt; コマンド &lt;a class="footnote-reference" href="#id43" id="id9" name="id9"&gt;[2]&lt;/a&gt; を使うか、&lt;/li&gt;
&lt;li&gt;Vim公式サイトで配布されている &lt;a class="reference" href="http://www.vim.org/script.php?script_id=389"&gt;スクラッチバッファ管理系プラグイン&lt;/a&gt; &lt;a class="footnote-reference" href="#id44" id="id10" name="id10"&gt;[3]&lt;/a&gt; をインストールする、&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と良い。&lt;/p&gt;
&lt;p&gt;多くのスクラッチバッファ管理系プラグインでは、一度、スクラッチバッファを閉じてしまうと、
閉じる前の情報は消失していまい、復元できない。注意して利用してほしい。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id73" id="id12" name="id12"&gt;一時ファイルを作業用領域として利用する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;一時ファイルを作成し、そのファイルを作業用ファイルとして利用します。 &lt;br /&gt;
この方法ではファイルシステム上にファイルが実際に存在するので、
作成したファイルを対象に外部コマンドなども実行できます。 &lt;a class="footnote-reference" href="#id45" id="id13" name="id13"&gt;[4]&lt;/a&gt;
これは一時ファイルを作業用領域として使う場合の、大きな利点の一つです。&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id74" id="id14" name="id14"&gt;一時ファイルの作り方&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;一時ファイルは、Vimエディタの一時ファイル作成機能を利用して作り出せば良いでしょう。 &lt;br /&gt;
この時作成した一時ファイルは、Vimエディタ終了時に削除されます（ということになっている）。&lt;/p&gt;
&lt;p&gt;一時ファイルは、削除されるまでは他のアプリケーションからも利用できるし、
別のファイルで作業後に開き直すこともできます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 一時ファイルを作成して、開く&lt;/strong&gt;
:edit `=tempname()`
&lt;/pre&gt;
&lt;p&gt;上記コマンドを実行すると、例えば、次のような名前のファイルが開かれます。 &lt;br /&gt;
どのような名前のファイルが開かれるかは、貴方のVimエディタの実行環境次第です。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
/var/folders/F0/F0evLcz0Giymvy+P9VHaJ++++TM/-Tmp-/v982233/0
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id75" id="id15" name="id15"&gt;一時ファイル作成用のコマンドを用意する&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;一時ファイル作成を多用する場合は専用のコマンドを用意しておくと、一時ファイル作成の手間を省けます。&lt;/p&gt;
&lt;p&gt;コマンド定義の例を挙げる。 &lt;br /&gt;
この設定をVimエディタの設定ファイルに追加すると、
&lt;span class="raw-html"&gt;&lt;kbd&gt;:OpenTempfile&lt;/kbd&gt;&lt;/span&gt; コマンドで一時ファイルを開けるようになります。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; 一時ファイルを作成して開く、OpenTempfileコマンドを定義&lt;/strong&gt;
:command! OpenTempfile :edit `=tempname()`
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id76" id="id16" name="id16"&gt;利用していた一時ファイルを後から探す&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;他のファイルでの作業を行った後、一時ファイルを再び開く場合は、 &lt;br /&gt;
作業していた一時ファイルのファイル名を思い出すのは大抵の場合、困難なので、&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="/articles/vim/mru_vim.html"&gt;mru.vim&lt;/a&gt; &lt;a class="footnote-reference" href="#id46" id="id17" name="id17"&gt;[5]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="http://www.vim.org/scripts/script.php?script_id=1984"&gt;fuzzyfinder.vim&lt;/a&gt; &lt;a class="footnote-reference" href="#id47" id="id18" name="id18"&gt;[6]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの、過去に開いたファイルを記録できるプラグインを使って、ファイルを探すと良い。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id77" id="id21" name="id21"&gt;実ファイルを作業用領域として利用する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;明示的に「todo.txt」や「meeting-20091112.txt」のようなファイル名を指定してファイル作成し、 &lt;br /&gt;
そのファイルを作業用の領域として利用します。
数日間、数週間など、ある程度の期間、情報をキープしたい時に向いています。&lt;/p&gt;
&lt;p&gt;ただし、実ファイルを作業ファイルとして利用する場合は、 &lt;br /&gt;
そのファイルが必要なくなった時に、自分で後始末、削除しなければなりません。&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id78" id="id22" name="id22"&gt;日付入りファイル&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;ファイル名に日付を入れておけば、利用した日付ごとにファイルを整理できるので、
後日、情報を再利用しやすくなります。&lt;/p&gt;
&lt;p&gt;日付入りのファイルを作成する方法はいくつかありますが、 &lt;br /&gt;
このページでは、Vimエディタの設定ファイルであらかじめ日付変数を設定しておいて、その変数をファイル名の一部として使用する、
という、入門者にも簡単に利用、応用できる方法を紹介します。&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h5&gt;&lt;a class="toc-backref" href="#id79" id="id23" name="id23"&gt;日付入りファイルの作り方&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Vimエディタの設定ファイルで「$TODAY」変数を定義しておいて、&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; 今日の日付を「$TODAY」に入れておく。Vimエディタ起動時に設定される。&lt;/strong&gt;
:let $TODAY = strftime('%Y%m%d')
&lt;/pre&gt;
&lt;p&gt;ファイルを開くときにファイル名の一部として「$TODAY」を指定します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 作業日の日付の入ったファイルを作る&lt;/strong&gt;
:edit ~/Desktop/meeting-$TODAY.txt

&amp;quot; #=&amp;gt; :edit ~/Desktop/meeting-20091112.txt
&amp;quot; $TODAYが日付に展開される。
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id80" id="id24" name="id24"&gt;連番入りファイル&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;データ変換用のファイルなど同じ用途で複数のファイルが必要な場合は、連番ファイルを使用すると良いでしょう。 &lt;br /&gt;
筆者の作成した &lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/cmdline-increment.vim"&gt;コマンドライン行数値インクリメントデクリメントプラグイン&lt;/a&gt; &lt;a class="footnote-reference" href="#id48" id="id25" name="id25"&gt;[7]&lt;/a&gt; が役に立つかもしれない。&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h5&gt;&lt;a class="toc-backref" href="#id81" id="id27" name="id27"&gt;多数の連番入りファイルの作り方&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;一度に多数の連番入りの作業ファイルが必要な場合は、
Vimエディタからではなくシェルから作ります。&lt;/p&gt;
&lt;p&gt;全ての環境での方法を紹介することはとてもできないため、 &lt;br /&gt;
ここではWindows PowerShell環境と、Unix bash環境での、連番入りファイルの作り方の例を紹介します。 &lt;br /&gt;
下コードは、ファイルにいったん書いてから実行しても良いが、シェルに直接入力しても実行できる。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;# Windows PowerShell 連番ファイルの作り方&lt;/strong&gt;
&lt;strong&gt;# template.txtを複製して、連番ファイルを作成する&lt;/strong&gt;
for ($i = 1; $i -le 10; $i ++ )
{
    cp template.txt work-$i.txt
}
&lt;/pre&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;# bash 連番ファイルの作り方&lt;/strong&gt;
&lt;strong&gt;# template.txtを複製して、連番ファイルを作成する&lt;/strong&gt;
for i in {1..10}
do
    cp template.txt work-$i.txt
done
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id82" id="id28" name="id28"&gt;既存のファイルを作業用ファイルのテンプレートとして使う&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;テスト用コードの作成、似たような文面の文章の作成などで、 &lt;br /&gt;
既に存在する既存ファイルをベースにして、作業用ファイルを作りたい時もあるでしょう。&lt;/p&gt;
&lt;p&gt;覚えておくと便利なコマンドをいくつか紹介します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 他のファイルを読み込み、カーソル位置に流し込む&lt;/strong&gt;
:read filename

&lt;strong&gt;&amp;quot; テンプレートにしたいファイルを開いている状態で、&lt;/strong&gt;
&lt;strong&gt;&amp;quot; そのファイルを他のファイルに書き込んで、即開く。&lt;/strong&gt;
:saveas filename
&lt;/pre&gt;
&lt;p&gt;&lt;span class="raw-html"&gt;&lt;kbd&gt;:read&lt;/kbd&gt;&lt;/span&gt; コマンドは一度に一つのファイルしか読み込めない。 &lt;br /&gt;
多数のファイルを一度に読みたい場合は、筆者作 &lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/rargs.vim"&gt;rargs.vimプラグイン&lt;/a&gt; &lt;a class="footnote-reference" href="#id49" id="id29" name="id29"&gt;[8]&lt;/a&gt; が役に立つ。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; カーソル位置に、指定した複数のファイルの内容を流し込む。&lt;/strong&gt;
:RArgs *.cs *.java *.pl
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id83" id="id31" name="id31"&gt;作業用ファイルを直接実行する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;作業ファイルが実行可能なプログラムのコードである場合、
作業後に、そのファイルを確認のため、あるいは新たな成果物を出力するため、「実行したい」という事は良くあることだと思います。&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Vimスクリプトファイルであれば、 &lt;a class="reference" href="/articles/vim/batch_vim.html"&gt;batch.vim&lt;/a&gt; &lt;a class="footnote-reference" href="#id50" id="id32" name="id32"&gt;[9]&lt;/a&gt; を、&lt;/li&gt;
&lt;li&gt;Perl、Python、Ruby、シェルスクリプト辺りであれば、 &lt;a class="reference" href="http://www.vim.org/scripts/download_script.php?src_id=10552"&gt;quickrun.vim&lt;/a&gt; &lt;a class="footnote-reference" href="#id51" id="id33" name="id33"&gt;[10]&lt;/a&gt; を使えば、&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;編集中の作業ファイルを実行できます。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id84" id="id36" name="id36"&gt;目次ファイルからのリンク&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;何度も何度も後から開き直す事になる場合は、ファイルパスの一覧ファイルを作成しておくと、 &lt;br /&gt;
ファイル名の上で &lt;span class="raw-html"&gt;&lt;kbd&gt;gf&lt;/kbd&gt;&lt;/span&gt; を押下して、そのファイルまで移動できる。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;# このようなファイル名一覧を用意しておいて、移動したいファイル名の上でgfを押下する。&lt;/strong&gt;
crash-recovery.html
file-dialog.html
open-lastfile.html
seemingly-unneeded-file.html
workingfile.html
&lt;/pre&gt;
&lt;p&gt;&lt;br /&gt;
ファイル名の一覧は、外部コマンドを利用して作成しても良いし、&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; lsコマンドを使用してファイル一覧を読み込む&lt;/strong&gt;
:read !ls
&lt;/pre&gt;
&lt;p&gt;&lt;a class="reference" href="/articles/vim/lsf_vim.html"&gt;lsf.vimプラグイン&lt;/a&gt; &lt;a class="footnote-reference" href="#id52" id="id37" name="id37"&gt;[11]&lt;/a&gt; を使用して作成しても良い。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; カーソル位置にファイル一覧を読み込む&lt;/strong&gt;
:LSF
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id85" id="id39" name="id39"&gt;ファイルタイプを設定する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;一時ファイル、作業用ファイルであっても、ファイルタイプは設定できます。&lt;/p&gt;
&lt;p&gt;最も簡単なファイルタイプの設定方法は、
作業用ファイルの拡張子を利用したいファイルタイプ用の拡張子にしてしまうことですが、
短期間の利用であれば、直接コマンドでファイルタイプを設定しても良いし、&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; memoファイルタイプを指定する（Kaoriyaパッチ）&lt;/strong&gt;
:setlocal filetype=memo
&lt;/pre&gt;
&lt;p&gt;ある程度の期間の利用が見込まれるのであれば、モードラインを設定しても良いでしょう。 &lt;a class="footnote-reference" href="#id53" id="id40" name="id40"&gt;[12]&lt;/a&gt;&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; シェルスクリプトであれば、このようなモードラインをファイルに設定する&lt;/strong&gt;
# vim:set filetype=memo :
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id86" id="id41" name="id41"&gt;参考情報リンクなど&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;外部のページへのリンクが多かったので、まとめてあります。&lt;/p&gt;
&lt;table class="docutils footnote" frame="void" id="id42" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id5" name="id42"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="/articles/howto/file/crash-recovery.html"&gt;swapファイルが見つかった場合にどのように対処すべきか（クラッシュからのリカバリー）&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id43" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id9" name="id43"&gt;[2]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="/articles/vim/cmdex_vim.html"&gt;cmdex.vim : Kaoriyaパッチ ユーティリティコマンド集&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id44" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id10" name="id44"&gt;[3]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="/articles/vim/scratch_vim.html"&gt;scratch utility : 自由に開閉できる作業用バッファ管理プラグイン&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id45" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id13" name="id45"&gt;[4]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="/articles/howto/editing/external-program.html"&gt;vimエディタから外部のプログラムやコマンドを実行する。&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id46" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id17" name="id46"&gt;[5]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="/articles/vim/mru_vim.html"&gt;mru.vim : 開いたファイルの履歴を管理して、最近開いたファイルに簡単にアクセスできるようにするプラグイン&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id47" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id18" name="id47"&gt;[6]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="http://www.vim.org/scripts/script.php?script_id=1984"&gt;FuzzyFinder : buffer/file/command/tag/etc explorer with fuzzy matching&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id48" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id25" name="id48"&gt;[7]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/cmdline-increment.vim"&gt;cmdline-increment.vim : コマンドライン行で数値インクリメント、デクリメント&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id49" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id29" name="id49"&gt;[8]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="/articles/vim/rargs_vim.html"&gt;rargs.vim : 指定した複数のファイルを一度に読み込む&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id50" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id32" name="id50"&gt;[9]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="/articles/vim/batch_vim.html"&gt;batch.vim : 選択した範囲に記述されたvimスクリプトを実行する&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id51" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id33" name="id51"&gt;[10]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="http://www.vim.org/scripts/download_script.php?src_id=10552"&gt;quickrun - run a command and show its result quickly&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id52" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id37" name="id52"&gt;[11]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="/articles/vim/lsf_vim.html"&gt;lsf.vim : カレントディレクトリ以下のファイル、ディレクトリ一覧を読み込む&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="id53" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label"&gt;&lt;col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#id40" name="id53"&gt;[12]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference" href="/articles/howto/file/modeline.html"&gt;モードラインを使って、ファイルごとにvimエディタのオプションを指定する。&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/vim/postmail_vim.html">
  <title>postmail.vim : メール送信用vimエディタプラグイン</title>
  <link>http://nanasi.jp/articles/vim/postmail_vim.html</link>
  <description>メール送信用vimエディタプラグインです。                              
カレントバッファ全文か、選択した行のテキストをメールで送信できます。 
実行するにはPython環境が必要です。                                   
(Windows, Mac)                                                       
</description>
  <dc:subject>vimスクリプト</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T23:58:59+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id18" name="id18"&gt;概要&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id19" name="id19"&gt;プラグインの構成&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id3" id="id20" name="id20"&gt;動作環境&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id21" name="id21"&gt;インストール方法&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id22" name="id22"&gt;ダウンロード、解凍&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#runtimepath" id="id23" name="id23"&gt;runtimepathディレクトリにコピーする&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#helptags" id="id24" name="id24"&gt;':helptags'コマンドを実行する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#postmail-conf" id="id25" name="id25"&gt;メール送信設定ファイル「postmail.conf」を編集する。&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id26" name="id26"&gt;使用方法&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#mail" id="id27" name="id27"&gt;':Mail'コマンドのフォーマット&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id8" id="id28" name="id28"&gt;':Mail'コマンドの使い方の例&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id9" id="id29" name="id29"&gt;'postmail.conf'の設定方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id10" id="id30" name="id30"&gt;'postmail.conf'の設定例&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#gmail" id="id31" name="id31"&gt;GMailをメール送信サーバにする場合&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#outbound-port25-blocking" id="id32" name="id32"&gt;Outbound Port25 Blockingのメールサーバでメールを送信する場合&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#pop-before-smtp" id="id33" name="id33"&gt;POP Before SMTP認証のメールサーバでメールを送信する場合&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id11" id="id34" name="id34"&gt;うまく動作しない場合&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#vim" id="id35" name="id35"&gt;Vimエディタのバージョン。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#compatible" id="id36" name="id36"&gt;'compatible' オプション。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id12" id="id37" name="id37"&gt;Vimエディタのコンパイルオプション。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#python" id="id38" name="id38"&gt;Python環境。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id13" id="id39" name="id39"&gt;Pythonのバージョン。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id15" id="id40" name="id40"&gt;postmail.conf。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#smtp" id="id41" name="id41"&gt;SMTPサーバの認証の種類。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id16" id="id42" name="id42"&gt;ネットワーク。&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id17" id="id43" name="id43"&gt;注意事項など&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id18" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;postmail.vim : メール送信用vimエディタプラグイン &lt;br /&gt;
&lt;a class="reference" href="http://postmail-vim-plugin.googlecode.com/files/postmail-vim-plugin.zip"&gt;http://postmail-vim-plugin.googlecode.com/files/postmail-vim-plugin.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;編集中のバッファ全文か、選択した範囲のテキストをEメールで送信します。 &lt;br /&gt;
このプラグインの最も簡単な使い方は「:Mail」コマンドを実行することです。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:Mail
&lt;/pre&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id19" id="id2" name="id2"&gt;プラグインの構成&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;このプラグインは次のファイルから構成されます。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;ファイル&lt;/th&gt;
&lt;th class="head"&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;postmail.vim&lt;/td&gt;
&lt;td&gt;vimスクリプトファイル。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;postmail.py&lt;/td&gt;
&lt;td&gt;python製メール送信エンジン。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;postmail.conf&lt;/td&gt;
&lt;td&gt;メール送信先設定ファイル&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;このメール送信プラグインは「postmail.conf」から設定を読み込んで、 &lt;br /&gt;
メールサーバに接続、メールを送信する仕組みになっています。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id20" id="id3" name="id3"&gt;動作環境&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;このプラグインを利用するには、動作環境が次の条件を満たす必要があります。&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;'compatible'オプションがセットされていない、&lt;/li&gt;
&lt;li&gt;'+python', '+iconv', '+multi_byte'オプション付きでコンパイルされたVimエディタを使用している&lt;/li&gt;
&lt;li&gt;Pythonが適切にインストール、使用できる状態にある&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id21" id="id4" name="id4"&gt;インストール方法&lt;/a&gt;&lt;/h3&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id22" id="id5" name="id5"&gt;ダウンロード、解凍&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;まず、 &lt;a class="reference" href="http://postmail-vim-plugin.googlecode.com/files/postmail-vim-plugin.zip"&gt;プラグイン&lt;/a&gt; をダウンロードし、 &lt;br /&gt;
次に、 ダウンロードした圧縮ファイルを解凍してください。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;ファイル&lt;/th&gt;
&lt;th class="head"&gt;URL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;postmail.zip&lt;/td&gt;
&lt;td&gt;&lt;a class="reference" href="http://postmail-vim-plugin.googlecode.com/files/postmail-vim-plugin.zip"&gt;http://postmail-vim-plugin.googlecode.com/files/postmail-vim-plugin.zip&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id23" id="runtimepath" name="runtimepath"&gt;runtimepathディレクトリにコピーする&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;'postmail.zip' を解凍後、生成されたファイルを'runtimepath'ディレクトリの'plugin'、'doc'ディレクトリにコピーします。 &lt;br /&gt;
'runtimepath'ディレクトリがどういうものか分からない場合は、 &lt;br /&gt;
Windows環境なら「$HOME/vimfiles」ディレクトリを、 &lt;br /&gt;
Mac OSX環境では「$HOME/.vim」ディレクトリを使用してください。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id24" id="helptags" name="helptags"&gt;':helptags'コマンドを実行する&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;':helptags'コマンドを'postmail.vim'をインストールした'doc'ディレクトリに実行してください。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&amp;quot; Windows環境の場合のコマンド例
:helptags $HOME/vimfiles/doc
&lt;/pre&gt;
&lt;pre class="console literal-block"&gt;
&amp;quot; Mac OSX環境の場合のコマンド例
:helptags $HOME/.vim/doc
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id25" id="postmail-conf" name="postmail-conf"&gt;メール送信設定ファイル「postmail.conf」を編集する。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;「postmail.conf」設定ファイルを編集します。
「postmail.conf」には、いくつかのメール送信用の設定例が書かれているので、
余分な設定をコメントアウトしてから、
自分の環境にあわせて設定を変更するとプラグインを利用できるようになります。 &lt;br /&gt;
設定の詳細については、 &lt;a class="reference" href="#id9"&gt;'postmail.conf'の設定方法&lt;/a&gt; を見てください。&lt;/p&gt;
&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;設定ファイルは、vimエディタのencodingオプションと同じエンコーディングで記述します。&lt;/p&gt;
&lt;pre class="console last literal-block"&gt;
&amp;quot; vimエディタのencodingの値を確認する
:echo &amp;amp;encoding
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id26" id="id7" name="id7"&gt;使用方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;':Mail' コマンドを実行するとメールが送信されます。 &lt;br /&gt;
メール送信コマンドの例も用意してあるので、そちらも見てください。 &lt;br /&gt;
（ &lt;a class="reference" href="#id8"&gt;':Mail'コマンドの使い方の例&lt;/a&gt; ）&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id27" id="mail" name="mail"&gt;':Mail'コマンドのフォーマット&lt;/a&gt;&lt;/h4&gt;
&lt;pre class="console literal-block"&gt;
:[range]Mail
&lt;/pre&gt;
&lt;p&gt;メールを送信します。範囲を指定すると選択した範囲のテキストを、
範囲を指定しないとカレントバッファ全文を送信します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:[range]Mail {to_mailaddress}
&lt;/pre&gt;
&lt;p&gt;{to_mailaddress}にメールを送信します。
範囲を指定すると選択した範囲のテキストを、範囲を指定しないとカレントバッファ全文を送信します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:[range]Mail {to_mailaddress1} {to_mailaddress2}, {to_mailaddress3}
&lt;/pre&gt;
&lt;p&gt;{to_mailaddress1}、{to_mailaddress2}、{to_mailaddress3}の3メールアドレスにメールを送信します。
送信先はいくらでも指定できます。
範囲を指定すると選択した範囲のテキストを、範囲を指定しないとカレントバッファ全文を送信します。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id28" id="id8" name="id8"&gt;':Mail'コマンドの使い方の例&lt;/a&gt;&lt;/h4&gt;
&lt;pre class="console literal-block"&gt;
:Mail
&lt;/pre&gt;
&lt;p&gt;メールを送信します。
送信されるメッセージはカレントバッファ全文です。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:Mail mail&amp;#64;nanasi.jp
&lt;/pre&gt;
&lt;p&gt;カレントバッファ全文を'mail&amp;#64;nanasi.jp'に送信します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:6,20Mail mail&amp;#64;nanasi.jp
&lt;/pre&gt;
&lt;p&gt;6行目から20行目の範囲のテキストを'mail&amp;#64;nanasi.jp'に送信します。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id29" id="id9" name="id9"&gt;'postmail.conf'の設定方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;'postmail.conf' ファイルがメール送信サーバの設定ファイルです。 &lt;br /&gt;
基本的な設定ファイルフォーマットは次のようになっています。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
{
    'auth_type':'{認証の種類。&amp;quot;None&amp;quot;、&amp;quot;POP&amp;quot;、もしくは&amp;quot;TLS&amp;quot;}' ,
    'smtp_host':'{SMTPサーバのホスト}' ,
    'smtp_port':'{SMTPサーバのポート}' ,
    'login_user':'{SMTPサーバのユーザ名}' ,
    'login_pass':'{SMTPサーバのユーザパスワード}' ,
    'mail_encoding':'{メールのエンコーディング}' ,
    'from_address':'{FROMに使用するアドレス}' ,
    'default_to_address':'{デフォルトのTOアドレス}' ,
    'default_subject':'{デフォルトのメールサブジェクト}'
}
&lt;/pre&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;設定項目&lt;/th&gt;
&lt;th class="head"&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;auth_type&lt;/td&gt;
&lt;td&gt;SMTPサーバが採用している認証の種類。選択できるのは、'None'、'POP'、'TLS'です。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;smtp_host&lt;/td&gt;
&lt;td&gt;SMTPサーバのホスト。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;smtp_port&lt;/td&gt;
&lt;td&gt;SMTPサーバのポート番号。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;login_user&lt;/td&gt;
&lt;td&gt;SMTPサーバに接続するユーザの名前。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;login_pass&lt;/td&gt;
&lt;td&gt;SMTPサーバに接続するユーザのパスワード。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;mail_encoding&lt;/td&gt;
&lt;td&gt;メールのメッセージのエンコーディング。おそらく変更する必要はない。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;from_address&lt;/td&gt;
&lt;td&gt;FROMにセットするメールアドレス。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;default_to_address&lt;/td&gt;
&lt;td&gt;TOメールアドレスのデフォルトの値。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;default_subject&lt;/td&gt;
&lt;td&gt;メールサブジェクトのデフォルトの値。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;'auth_type'の値と認証の種類のマッピングは次の表の通りです。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;auth_type&lt;/th&gt;
&lt;th class="head"&gt;認証の種類&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;認証なし&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;POP&lt;/td&gt;
&lt;td&gt;POP Before SMTP認証&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;TLS&lt;/td&gt;
&lt;td&gt;TLS認証&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id30" id="id10" name="id10"&gt;'postmail.conf'の設定例&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;postmail.confの設定例をいくつか紹介します。&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id31" id="gmail" name="gmail"&gt;GMailをメール送信サーバにする場合&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;元からある設定「basic configuration」を削除後、
「gmail configuration」の箇所のコメントを削除して有効にしてください。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; GMailを利用する場合のサンプル設定ファイル。&lt;/strong&gt;
{
    'auth_type':          'TLS'                     ,
    'smtp_host':          'smtp.gmail.com'          ,
    'smtp_port':          '587'                     ,
    'login_user':         'please_change&amp;#64;gmail.com' ,
    'login_pass':         'xxxxxxxxxxxx'            ,
    'mail_encoding':      'ISO-2022-JP'             ,
    'from_address':       'user&amp;#64;example.jp'         ,
    'default_to_address': 'user&amp;#64;example.jp'         ,
    'default_subject':    'default subject'
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id32" id="outbound-port25-blocking" name="outbound-port25-blocking"&gt;Outbound Port25 Blockingのメールサーバでメールを送信する場合&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Outbound Port25 Blockingを採用しているメールサーバからメールを送信する場合は、
「outbound port 25 blocking configuration」の項の設定例を参考にしてみてください。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; Outbound Port25 Blocking&lt;/strong&gt;
{
    'auth_type':          'None'                    ,
    'smtp_host':          'smtp.example.jp'         ,
    'smtp_port':          '587'                     ,
    'login_user':         'please_change&amp;#64;gmail.com' ,
    'login_pass':         'xxxxxxxxxxxx'            ,
    'mail_encoding':      'ISO-2022-JP'             ,
    'from_address':       'user&amp;#64;example.jp'         ,
    'default_to_address': 'user&amp;#64;example.jp'         ,
    'default_subject':    'default subject'
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id33" id="pop-before-smtp" name="pop-before-smtp"&gt;POP Before SMTP認証のメールサーバでメールを送信する場合&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;POP Before SMTP認証を採用しているメールサーバなら、次のように設定します。
認証方式の都合上、POP Before SMTP認証でメールを送信する場合、設定項目がいくつか必要になります。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; POP Before SMTP認証&lt;/strong&gt;
{
    'auth_type':          'POP'                     ,
    'pop_host':           'pop.example.jp'          ,
    'pop_port':           '110'                     ,
    'pop_user':           'user&amp;#64;example.jp'         ,
    'pop_pass':           'xxxxxxxxxxxx'            ,
    'smtp_host':          'smtp.example.jp'         ,
    'smtp_port':          '25'                      ,
    'login_user':         'please_change&amp;#64;gmail.com' ,
    'login_pass':         'xxxxxxxxxxxx'            ,
    'mail_encoding':      'ISO-2022-JP'             ,
    'from_address':       'user&amp;#64;example.jp'         ,
    'default_to_address': 'user&amp;#64;example.jp'         ,
    'default_subject':    'default subject'
}
&lt;/pre&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;設定項目&lt;/th&gt;
&lt;th class="head"&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;pop_host&lt;/td&gt;
&lt;td&gt;POPサーバのホスト。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;pop_port&lt;/td&gt;
&lt;td&gt;POPサーバのホストのポート番号。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;pop_user&lt;/td&gt;
&lt;td&gt;POPサーバに接続するユーザの名前。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;pop_pass&lt;/td&gt;
&lt;td&gt;POPサーバに接続するユーザのパスワード。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id34" id="id11" name="id11"&gt;うまく動作しない場合&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;もし、postmail.vimがエラーを投げたり、うまく動かなかったりしたら、
まず、次のポイントをチェックしてください。&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id35" id="vim" name="vim"&gt;Vimエディタのバージョン。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Vimエディタのバージョンが7以降でないと動作しません。 &lt;br /&gt;
次のコマンドを実行して、Vimエディタのバージョンを調べてください。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:version
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id36" id="compatible" name="compatible"&gt;'compatible' オプション。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;'compatible' オプションがonだと動作しません。 &lt;br /&gt;
次のコマンドを実行して、Vimエディタのオプションを調べてください。 &lt;br /&gt;
0が返ってくれば、OKです。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:echo &amp;amp;compatible
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id37" id="id12" name="id12"&gt;Vimエディタのコンパイルオプション。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;'+python'、'+iconv'、'+multi_byte'付きでコンパイルされたVimエディタを使用していますか？ &lt;br /&gt;
次のコマンドを実行して、Vimエディタのコンパイルオプションを調べてください。 &lt;br /&gt;
'+python'、'+iconv'、'+multi_byte'が見つかればOKです。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:version
&lt;/pre&gt;
&lt;p&gt;もしくは、次のコマンドを実行し、全てのコマンドの結果が1になればOKです。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:echo has(&amp;quot;python&amp;quot;)
:echo has(&amp;quot;iconv&amp;quot;)
:echo has(&amp;quot;multi_byte&amp;quot;)
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id38" id="python" name="python"&gt;Python環境。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Pythonがインストールされて、かつ、使用できるようにPATHがセットされていますか？ &lt;br /&gt;
次のコマンドを実行して、Pythonの状態を確認してください。 &lt;br /&gt;
'python is installed.'と、返ってくればOKです。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:python print &amp;quot;python is installed.&amp;quot;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id39" id="id13" name="id13"&gt;Pythonのバージョン。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;環境がMS-Windowsで、Vimエディタが'+python/dyn'付きでコンパイルされている場合は、 &lt;br /&gt;
Pythonのバージョンをコンパイル時と揃える必要があります。 &lt;br /&gt;
次のコマンドを実行して、Pythonのバージョンが揃っているか、確認してください。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&amp;quot; Vimエディタで使用できるPythonのバージョンを確認
:help python-dynamic&amp;#64;en

&amp;quot; Pythonの実行環境のバージョンを確認
:!python --version
&lt;/pre&gt;
&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Windows用のPythonは、 &lt;a class="reference" href="http://www.python.jp/Zope/"&gt;日本Pythonユーザ会（PyJUG）&lt;/a&gt; でダウンロードできます。 &lt;br /&gt;
&lt;a class="reference" href="http://www.python.jp/Zope/"&gt;http://www.python.jp/Zope/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id40" id="id15" name="id15"&gt;postmail.conf。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;'postmail.conf'設定ファイルは適切に設定されていますか？ &lt;br /&gt;
もし、まだなら、'postmail.conf'ファイルを編集してください。 &lt;br /&gt;
'postmail.conf'ファイルのテンプレートファイルは、pluginディレクトリに入っています。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id41" id="smtp" name="smtp"&gt;SMTPサーバの認証の種類。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;メール送信サーバの認証は、プラグインでサポートされているタイプですか？ &lt;br /&gt;
postmail.vimは、'POP Before SMTP認証'と'TLS認証'しかサポートしていません。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id42" id="id16" name="id16"&gt;ネットワーク。&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;ネットワークの環境を確認してください。 &lt;br /&gt;
別のメーラーを使用してメールを送信できますか？&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id43" id="id17" name="id17"&gt;注意事項など&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;次のコマンドで、postmail.vimのより詳しい説明を参照できます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:help postmail
&lt;/pre&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/howto/note/vimm-200906.html">
  <title>Vimでコード印刷（VimM#4）</title>
  <link>http://nanasi.jp/articles/howto/note/vimm-200906.html</link>
  <description>2009年06月22日、秋葉原ダイビル(13階)で行われた、                                
第四回 VimM (Vim Movement) vim勉強会で発表したVimエディタの印刷機能の資料です。 
5分間の内容なので短めです。                                                     
</description>
  <dc:subject>vimエディタ基本</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:57:23+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id7" name="id7"&gt;プレゼンテーションのスライド&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#keynote-pdf" id="id8" name="id8"&gt;KeyNote、PDF、サンプルコードなど&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id7" id="id1" name="id1"&gt;プレゼンテーションのスライド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;2009年06月22日、 &lt;a class="reference" href="http://www.i.u-tokyo.ac.jp/map/index.shtml#aki"&gt;秋葉原ダイビル(13階)&lt;/a&gt; で行われた、 &lt;br /&gt;
&lt;a class="reference" href="http://vim-users.jp/2009/06/vimm4-ann/"&gt;第四回 VimM (Vim Movement) vim勉強会&lt;/a&gt; で発表したVimエディタの印刷機能の資料です。 &lt;br /&gt;
5分間の内容なので短めです。&lt;/p&gt;
&lt;hr /&gt;
&lt;object width="512" height="384"&gt;

&lt;embed src="/dist/img/howto/note/vimm200906/vimm200906.swf" width="512" height="384"&gt;
&lt;/embed&gt;
&lt;/object&gt;
&lt;hr /&gt;&lt;p&gt;&lt;a class="reference" href="/articles/howto/note/vimm-200906-full.html"&gt;スライドのみを表示する&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id8" id="keynote-pdf" name="keynote-pdf"&gt;KeyNote、PDF、サンプルコードなど&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;プレゼンテーションファイルとサンプルコードは &lt;br /&gt;
こちら(↓)に置いておきます。&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/tree/master/vimm200906/"&gt;プレゼン発表資料置き場&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="/dist/img/howto/note/vimm200906/evening_hardcopy_scan.jpg"&gt;カラーでないプリンタで印刷したら酷いことになった図&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/howto/note/vimm-200811.html">
  <title>Vimエディタマクロの話（VimM#3）</title>
  <link>http://nanasi.jp/articles/howto/note/vimm-200811.html</link>
  <description>2008年11月22日、秋葉原ダイビル(13階)で行われた              
第三回 VimM (Vim Movement) vim勉強会で発表したvimエディタの 
マクロの使い方の資料です。                                  
</description>
  <dc:subject>vimエディタ基本</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:56:40+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id8" name="id8"&gt;プレゼンテーションのスライド&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#keynote-pdf" id="id9" name="id9"&gt;KeyNote、PDF、サンプルコードなど&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id10" name="id10"&gt;感想&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id8" id="id1" name="id1"&gt;プレゼンテーションのスライド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;2008年11月22日、 &lt;a class="reference" href="http://www.i.u-tokyo.ac.jp/map/index.shtml#aki"&gt;秋葉原ダイビル(13階)&lt;/a&gt; で行われた &lt;br /&gt;
&lt;a class="reference" href="http://wiki.livedoor.jp/biowithit/d/VimM%233"&gt;第三回 VimM (Vim Movement) vim勉強会&lt;/a&gt; で発表したvimエディタの &lt;br /&gt;
マクロの使い方の資料です。 &lt;br /&gt;
少しページ数多めなので、プレゼンテーションのファイルをダウンロードして &lt;br /&gt;
見た方が良いかもしれません。&lt;/p&gt;
&lt;hr /&gt;
&lt;object width="512" height="384"&gt;

&lt;embed src="/dist/img/howto/note/vimm200811/vimm200811.swf" width="512" height="384"&gt;
&lt;/embed&gt;
&lt;/object&gt;
&lt;hr /&gt;&lt;p&gt;&lt;a class="reference" href="/articles/howto/note/vimm-200811-full.html"&gt;スライドのみを表示する&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id9" id="keynote-pdf" name="keynote-pdf"&gt;KeyNote、PDF、サンプルコードなど&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;プレゼンテーションファイルとサンプルコードは &lt;br /&gt;
こちら(↓)に置いておきます。&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/tree/master/vimm200811/"&gt;プレゼン発表資料置き場&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/rand.vim"&gt;サンプルコード（rand.vim） 乱数生成ファンクション&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id10" id="id7" name="id7"&gt;感想&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;22日、朝の時点で全く完成していなかった時はどうしようかと思いましたが、
なんとかなったみたいです。 &lt;br /&gt;
後悔しているプレゼンテーションファイルは少し重めです。 &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;いくらか追記、および、Web公開用に修正を入れてありますが、 &lt;br /&gt;
マクロを実際に使って見せてみたところは再現できなかったので、 &lt;br /&gt;
その点は、少し脳内で補完してください。&lt;/p&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/howto/note/vimm-200807.html">
  <title>ライブラリスクリプトを利用したvimエディタプラグインの構築（VimM#1）</title>
  <link>http://nanasi.jp/articles/howto/note/vimm-200807.html</link>
  <description>2008年07月20日、株式会社ECナビ様会議室「カエサル」で行われた 
第一回 VimM (Vim Movement) vim勉強会で発表したvimエディタの  
ライブラリスクリプトの資料です。                             
ライブラリスクリプトの説明と、その使い方を説明しています。   
</description>
  <dc:subject>vimエディタ基本</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:56:02+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id8" name="id8"&gt;プレゼンテーションのスライド（いくらか追記あり）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id9" name="id9"&gt;オリジナルファイル、サンプルコードなど&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id10" name="id10"&gt;感想&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id8" id="id1" name="id1"&gt;プレゼンテーションのスライド（いくらか追記あり）&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;2008年07月20日、 &lt;a class="reference" href="http://ecnavi.co.jp/"&gt;株式会社ECナビ様&lt;/a&gt; 会議室「カエサル」で行われた &lt;br /&gt;
第一回 &lt;a class="reference" href="http://wiki.livedoor.jp/biowithit/"&gt;VimM (Vim Movement)&lt;/a&gt; vim勉強会で発表したvimエディタの &lt;br /&gt;
ライブラリスクリプトの資料です。 &lt;br /&gt;
下のスライドでは、ライブラリスクリプトの説明と、その使い方を説明しています。&lt;/p&gt;
&lt;hr /&gt;
&lt;object width="512" height="384"&gt;

&lt;embed src="/dist/img/howto/note/vimm200807/vimm200807_with_comment.swf" width="512" height="384"&gt;
&lt;/embed&gt;
&lt;/object&gt;
&lt;hr /&gt;&lt;p&gt;&lt;a class="reference" href="/articles/howto/note/vimm-200807-full.html"&gt;スライドのみを表示する&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id9" id="id5" name="id5"&gt;オリジナルファイル、サンプルコードなど&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;上で表示しているスライドにはプレゼン時には無かった追記が加えられています。 &lt;br /&gt;
追記無しの実際にプレゼンで使用したプレゼンテーションファイルと、 &lt;br /&gt;
プレゼン時に使用したサンプルコードはこちら(↓)に置いておきます。&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/tree/master/vimm200807/"&gt;プレゼン発表資料置き場&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id10" id="id7" name="id7"&gt;感想&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;第1回のVimM勉強会の参加メンバの平均レベルがかなり高そうだったのと、 &lt;br /&gt;
普段から雑誌や本で基礎的な話や初心者向けな話しか流れないのを嘆く声を聞いていたのとがあり、 &lt;br /&gt;
そんなレベルの高いメンバでもおそらく知らないであろう話を振ってみました。&lt;/p&gt;
&lt;p&gt;しかし、少々一般ユーザ向けのテーマではなかったようです。 &lt;br /&gt;
実際には、第1回の会場にはプラグインを作る人はあんまりいなかったのかなぁ、という印象です。&lt;/p&gt;
&lt;p&gt;なので、少し反省して、次の機会あるなら、もう少しユーザ向けなテーマを選んでみようと思います。 &lt;br /&gt;
（たとえば、マクロとか？）&lt;/p&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/howto/hardcopy/hardcopy.html">
  <title>vimエディタの印刷機能を使用する #1 （印刷機能の基本）</title>
  <link>http://nanasi.jp/articles/howto/hardcopy/hardcopy.html</link>
  <description>vimエディタの印刷機能に関する説明です。                             
この記事ではvimエディタの印刷機能の基本的な項目について説明します。 
(Windows)                                                           
</description>
  <dc:subject>vimエディタ基本</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:55:14+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id14" name="id14"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id15" name="id15"&gt;印刷機能の実行方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id3" id="id16" name="id16"&gt;印刷範囲を指定する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id17" name="id17"&gt;印刷の設定&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id18" name="id18"&gt;印刷結果をカスタマイズする&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id6" id="id19" name="id19"&gt;印刷用の設定ファイルを用意する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#html-vim-web" id="id20" name="id20"&gt;2html.vimを使用して、Webブラウザで印刷する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id9" id="id21" name="id21"&gt;ページリンク&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id14" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;vimエディタの印刷機能に関する説明です。 &lt;br /&gt;
この記事ではvimエディタの印刷機能の基本的な項目について説明します。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id15" id="id2" name="id2"&gt;印刷機能の実行方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;vimエディタで印刷を行うには &lt;span class="raw-html"&gt;&lt;kbd&gt;:hardcopy&lt;/kbd&gt;&lt;/span&gt; コマンドを実行するか、 &lt;br /&gt;
メニューから「印刷(P)」を選択します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 印刷ダイアログを表示する&lt;/strong&gt;
:hardcopy
&lt;/pre&gt;
&lt;p&gt;Windows環境の場合は &lt;span class="raw-html"&gt;&lt;kbd&gt;:hardcopy&lt;/kbd&gt;&lt;/span&gt; コマンドを実行すると印刷ダイアログが表示されるので、 &lt;br /&gt;
そのダイアログから印刷を実行してください。&lt;/p&gt;
&lt;img alt="印刷ダイアログ" src="/dist/img/howto/hardcopy/print_dialog.jpg" /&gt;
&lt;p&gt;&lt;span class="raw-html"&gt;&lt;kbd&gt;:hardcopy&lt;/kbd&gt;&lt;/span&gt; ではなく、 &lt;span class="raw-html"&gt;&lt;kbd&gt;!&lt;/kbd&gt;&lt;/span&gt; を付けて &lt;span class="raw-html"&gt;&lt;kbd&gt;:hardcopy!&lt;/kbd&gt;&lt;/span&gt; とコマンドを入力した場合は、 &lt;br /&gt;
印刷ダイアログを経由せずに、いきなり印刷を実行します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 印刷ダイアログを表示しないで印刷&lt;/strong&gt;
:hardcopy!
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id16" id="id3" name="id3"&gt;印刷範囲を指定する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="raw-html"&gt;&lt;kbd&gt;:hardcopy&lt;/kbd&gt;&lt;/span&gt; コマンド実行時に、ビジュアルモードで範囲を選択するか、 &lt;br /&gt;
コマンドラインモードで範囲を指定すると、指定した範囲のみを印刷できます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 20行目から50行目を印刷する&lt;/strong&gt;
:20,50hardcopy
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id17" id="id4" name="id4"&gt;印刷の設定&lt;/a&gt;&lt;/h3&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id18" id="id5" name="id5"&gt;印刷結果をカスタマイズする&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;印刷結果のカスタマイズは、vimエディタのオプションを設定することで実現します。&lt;/p&gt;
&lt;img alt="印刷オプション設定、印刷のフロー" class="image-border" src="/dist/img/howto/hardcopy/hardcopy_options_flow.png" /&gt;
&lt;p&gt;例えば、ヘッダーの印刷設定を変更するには「printheader」オプションを設定し、
その後に &lt;span class="raw-html"&gt;&lt;kbd&gt;:hardcopy&lt;/kbd&gt;&lt;/span&gt; コマンドを実行します。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; ヘッダーの設定&lt;/strong&gt;
:set printheader=%=Page%N

&lt;strong&gt;&amp;quot; 印刷実行&lt;/strong&gt;
:hardcopy
&lt;/pre&gt;
&lt;p&gt;すると、先ほど設定した「printheader」オプションの指定に従った印刷が行われます。&lt;/p&gt;
&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;どのような印刷系オプションがあるかについては、
他のページで説明します。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id19" id="id6" name="id6"&gt;印刷用の設定ファイルを用意する&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;印刷設定用のオプションは、
&lt;span class="raw-html"&gt;&lt;kbd&gt;:hardcopy&lt;/kbd&gt;&lt;/span&gt; コマンド実行直前に手動でセットしても良いし、
vimエディタの設定ファイル内でセットしても構いません。 &lt;br /&gt;
しかし、前者の方法は毎回コマンドを実行するのが面倒ですし、
後者の方法も印刷設定を変更しようとすると手間がかかります。&lt;/p&gt;
&lt;p&gt;そこで、印刷専用の設定ファイルを別に用意し、そのファイルに印刷のオプションを記述、 &lt;br /&gt;
&lt;span class="raw-html"&gt;&lt;kbd&gt;:hardcopy&lt;/kbd&gt;&lt;/span&gt; コマンド実行前に &lt;span class="raw-html"&gt;&lt;kbd&gt;:source&lt;/kbd&gt;&lt;/span&gt; コマンドで読み込む方法をおすすめします。 &lt;br /&gt;
この方法であれば、印刷をカスタマイズしたい場合は、印刷用設定ファイルを変更するだけで済みます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 印刷用設定ファイルを読み込み&lt;/strong&gt;
:source $HOME/vimfiles/macros/printrc.vim

&lt;strong&gt;&amp;quot; それから印刷&lt;/strong&gt;
:hardcopy
&lt;/pre&gt;
&lt;p&gt;印刷用設定ファイルは、サンプルとなるファイルを用意しておいたので、参考にしてみてください。 &lt;br /&gt;
参考：
&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/printrc.vim"&gt;vimエディタ 印刷用カスタム設定ファイル&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id20" id="html-vim-web" name="html-vim-web"&gt;2html.vimを使用して、Webブラウザで印刷する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;2html.vimスクリプトを使用するとカレントビューそのままのHTMLファイルを生成できるので、 &lt;br /&gt;
vimエディタから直接印刷するのではなく、 &lt;br /&gt;
代わりに2html.vimスクリプトで生成したHTMLファイルをウェブブラウザで印刷する方法もあります。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 2html.vimスクリプトで、テキストをHTML化&lt;/strong&gt;
:TOhtml
&lt;/pre&gt;
&lt;p&gt;2html.vimの詳しい使い方については、次のページを参照してください。 &lt;br /&gt;
参考：
&lt;a class="reference" href="/articles/vim/2html_vim.html"&gt;2html.vim : ファイルをシンタックスハイライトつきのHTMLに変換&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id21" id="id9" name="id9"&gt;ページリンク&lt;/a&gt;&lt;/h3&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;ul class="first"&gt;
&lt;li&gt;&lt;a class="reference" href="/articles/howto/hardcopy/hardcopy.html"&gt;vimエディタの印刷機能を使用する #1 （印刷機能の基本）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="/articles/howto/hardcopy/hardcopy_page.html"&gt;vimエディタの印刷機能を使用する #2 （ヘッダー、余白、改行位置の設定）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="/articles/howto/hardcopy/hardcopy_draw.html"&gt;vimエディタの印刷機能を使用する #3 （描画に関する設定）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="/articles/howto/hardcopy/hardcopy_printer.html"&gt;vimエディタの印刷機能を使用する #4 （プリンタ設定）&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/howto/config/dictionary.html">
  <title>辞書ファイルで入力を補完する</title>
  <link>http://nanasi.jp/articles/howto/config/dictionary.html</link>
  <description>vimエディタの設定ファイルで「辞書ファイル」を指定しておくと、 
その辞書ファイルを使用して、入力補完検索することができます。  
(Windows, Mac)                                                
</description>
  <dc:subject>vimエディタ基本</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:53:01+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id10" name="id10"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id11" name="id11"&gt;インストール方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id12" name="id12"&gt;使用方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#java" id="id13" name="id13"&gt;辞書ファイルの作り方 (Java)&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#windows" id="id14" name="id14"&gt;Windowsの場合の注意事項など&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#mac-osx" id="id15" name="id15"&gt;Mac OSXの場合の注意事項など&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id16" name="id16"&gt;辞書ファイルの作成&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id8" id="id17" name="id17"&gt;注意事項など&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id10" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;vimエディタの設定ファイルで「辞書ファイル」を指定しておくと、
その辞書ファイルを使用して、入力補完検索することができます。&lt;/p&gt;
&lt;img alt="辞書ファイルからの検索の様子" src="/dist/img/vim/dictionary_search.jpg" /&gt;
&lt;p&gt;この記事ではこの辞書ファイルの使い方から、
Java用の辞書ファイルの使い方までを扱います。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id11" id="id2" name="id2"&gt;インストール方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;まず、辞書ファイルを用意します。 &lt;br /&gt;
辞書ファイルの中身は、
補完に使うキーワードを、改行で区切って入れたものです。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;辞書ファイルの中身の例&lt;/strong&gt;
const
continue
default
do
else
extends
false
final
&lt;/pre&gt;
&lt;p&gt;辞書ファイルを用意したら、Vimの設定ファイル_vimrcに
以下のように設定を書きこんでください。
辞書ファイルが「j2se131.dict」という名前である時の設定例です。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; 設定例&lt;/strong&gt;
:set dictionary=j2se131.dict
&lt;/pre&gt;
&lt;p&gt;ファイルの種類に応じて、辞書ファイルを変えたいのであれば、
以下のように設定します。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; JavaとPHPで辞書ファイルを切りかえる例&lt;/strong&gt;
autocmd FileType java :set dictionary=j2se131.dict&amp;lt;CR&amp;gt;
autocmd FileType php :set dictionary=PHP.dict&amp;lt;CR&amp;gt;
&lt;/pre&gt;
&lt;p&gt;PHPの辞書ファイルは、 &lt;a class="reference" href="http://www.vim.org/scripts/script.php?script_id=534"&gt;vim online&lt;/a&gt; にあります。&lt;/p&gt;
&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;当サイトでは、 &lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/vim_dictionary/j2se131dict.zip"&gt;Java2SE 1.3.1用&lt;/a&gt; 、 &lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/vim_dictionary/j2se142dict.zip"&gt;Java2SE 1.4.2用&lt;/a&gt; のvim用辞書ファイルを用意しています。
こちらは圧縮ファイルになっているので、ダウンロードしたら解凍ツールで解凍してください。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id12" id="id4" name="id4"&gt;使用方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;例えば、以下のようなJavaのクラス名の書きかけがあったとして、&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
Attribu
&lt;/pre&gt;
&lt;pre class="console literal-block"&gt;
Ctrl-x Ctrl-k
&lt;/pre&gt;
&lt;p&gt;で、辞書ファイルからの検索を行い、&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
AttributeContext
&lt;/pre&gt;
&lt;pre class="console literal-block"&gt;
Ctrl-n
&lt;/pre&gt;
&lt;p&gt;を入力するたびに辞書ファイルから、次の候補を補完していきます。 &lt;br /&gt;
↓&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
AttributeInUseException
&lt;/pre&gt;
&lt;p&gt;↓&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
AttributeList
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id13" id="java" name="java"&gt;辞書ファイルの作り方 (Java)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;では、新たにJavaの辞書ファイルを作成しましょう。 &lt;br /&gt;
&lt;a class="reference" href="http://www.raf.org/"&gt;RAFというサイト&lt;/a&gt; から、perlスクリプトを拾ってきました。
ここで入手したスクリプトを改造してあります。&lt;/p&gt;
&lt;p&gt;このperlスクリプトを使用するので、
このファイルを手元にダウンロードしてください。&lt;/p&gt;
&lt;p&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/vim_dictionary/mkjdict.pl"&gt;Java用辞書ファイル作成スクリプト mkjdict.pl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;このperlスクリプトはJava Jarファイルより、辞書の元になる情報を取り出すので、 &lt;br /&gt;
辞書を作成するためにclassファイルの入ったJava Jarファイルが必要です。 &lt;br /&gt;
また、このperlスクリプトの扱いに関して、
Windowsの場合、Mac OSXの場合、共に注意する点があります。&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id14" id="windows" name="windows"&gt;Windowsの場合の注意事項など&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;perlがインストールされている必要があります。 &lt;br /&gt;
私が動作確認したperl環境は、&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
perl v5.6.1 build for cygwin
&lt;/pre&gt;
&lt;p&gt;ですが、ActivePerlでも動作すると思われます。(未確認です)。 &lt;br /&gt;
DOS プロンプトから、perlが実行できるようにしておいてください。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id15" id="mac-osx" name="mac-osx"&gt;Mac OSXの場合の注意事項など&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;私が用意したperlスクリプトですが、そのままでは動作しません。
Mac OSXの環境に合わせて、perlスクリプトを一部変更します。 &lt;br /&gt;
perlスクリプトの9から16行目をご覧下さい。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;# mkjdict.pl 9 ～ 16行目&lt;/strong&gt;
# file.separator
# line.separator
# Windows
my $FS = &amp;quot;;&amp;quot;;
my $LS = &amp;quot;\r\n&amp;quot;;
# OSX
#my $FS = &amp;quot;:&amp;quot;;
#my $LS = &amp;quot;\n&amp;quot;;
&lt;/pre&gt;
&lt;p&gt;この部分を&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;# mkjdict.pl 9 ～ 16行目 変更後&lt;/strong&gt;
# file.separator
# line.separator
# Windows
#my $FS = &amp;quot;;&amp;quot;;
#my $LS = &amp;quot;\r\n&amp;quot;;
# OSX
my $FS = &amp;quot;:&amp;quot;;
my $LS = &amp;quot;\n&amp;quot;;
&lt;/pre&gt;
&lt;p&gt;この通り、変更してください。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id16" id="id7" name="id7"&gt;辞書ファイルの作成&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;では、実際にJavaの辞書ファイルを作成してみます。 &lt;br /&gt;
Terminal(Mac OSX)もしくは、MS-DOS プロンプトを(Windows)を立ち上げてください。 &lt;br /&gt;
辞書ファイルを作成したい対象のJava Jarファイルを引数に指定して、perlスクリプトを実行します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
perl mkjdict.pl JavaJarファイル JavaJarファイル ..... &amp;gt; 作成したいJava辞書ファイル名
&lt;/pre&gt;
&lt;p&gt;次のコマンドは、作成に使用するJava Jarファイルが &lt;br /&gt;
「/System/Library/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar」で、 &lt;br /&gt;
「java_dictionary」が生成される辞書ファイルの時の例です。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;# 使用例&lt;/strong&gt;
perl mkjdict.pl /System/Library/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar &amp;gt; java_dictionary
&lt;/pre&gt;
&lt;p&gt;同時に複数のJava Jarファイルも指定できます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
perl mkjdict.pl jarfile1 jarfile2 jarfile3 &amp;gt; java_dictionary
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id17" id="id8" name="id8"&gt;注意事項など&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;perlスクリプトでエラーが出る時は、&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Jarファイルにクラスが含まれていない。&lt;/li&gt;
&lt;li&gt;Jarファイルが参照しているクラスがCLASSPATHに無い。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などが原因として考えられます。&lt;/p&gt;
&lt;p&gt;このサイトでは &lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/vim_dictionary/j2se131dict.zip"&gt;Java2SE 1.3.1用のvim用辞書ファイル&lt;/a&gt; 、
&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/vim_dictionary/j2se142dict.zip"&gt;Java2SE 1.4用のvim用辞書ファイル&lt;/a&gt; を用意しています。&lt;/p&gt;
&lt;p&gt;また、PHPの辞書ファイルが &lt;a class="reference" href="http://www.vim.org/scripts/script.php?script_id=534"&gt;vim online&lt;/a&gt; に用意されています。&lt;/p&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/howto/editing/global-head.html">
  <title>ファイル内の各行ごとに編集処理を実行する、何行かおきに編集処理を実行する。</title>
  <link>http://nanasi.jp/articles/howto/editing/global-head.html</link>
  <description>編集中のテキストの各行それぞれに対して処理を行う方法と、                         
テキストの何行かおきにVimエディタの編集処理を実行する方法を紹介します。          
この記事では、                                                                   
各行をそれぞれ複製する方法、                                                     
各行間に空行を挿入する方法、                                                     
何行かおきにVimエディタの編集処理を実行する方法                                  
を紹介していますが、これらの編集技法をセットで覚えておくと、非常に役に立ちます。 
(Windows, Mac)                                                                   
</description>
  <dc:subject>vimエディタ基本</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:53:38+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id9" name="id9"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id10" name="id10"&gt;各行それぞれに対して処理を行う&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id3" id="id11" name="id11"&gt;各行をそれぞれ複製する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id12" name="id12"&gt;各行間に空行を挿入する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#vim" id="id13" name="id13"&gt;何行かおきにVimエディタの編集処理を実行する&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id14" name="id14"&gt;実行例&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id6" id="id15" name="id15"&gt;条件判定の式&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id16" name="id16"&gt;複数の条件を指定&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id8" id="id17" name="id17"&gt;略語を用意する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id9" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;編集中のテキストの &lt;a class="reference" href="#id2"&gt;各行それぞれに対して処理を行う&lt;/a&gt; 方法と、 &lt;br /&gt;
テキストの &lt;a class="reference" href="#vim"&gt;何行かおきにVimエディタの編集処理を実行する&lt;/a&gt; 方法を紹介します。&lt;/p&gt;
&lt;p&gt;この記事では、&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id3"&gt;各行をそれぞれ複製する&lt;/a&gt; 方法&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4"&gt;各行間に空行を挿入する&lt;/a&gt; 方法&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#vim"&gt;何行かおきにVimエディタの編集処理を実行する&lt;/a&gt; 方法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を紹介していますが、これらの編集技法をセットで覚えておくと、非常に役に立ちます。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id10" id="id2" name="id2"&gt;各行それぞれに対して処理を行う&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;「:global」と検索パターン「/^/」を組み合わせると、 &lt;br /&gt;
バッファ内の各行それぞれに対して任意の処理を行えます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; バッファ内の各行に「コマンド」を実行する。&lt;/strong&gt;
:global/^/ {コマンド}

&lt;strong&gt;&amp;quot; 「:global」は、「:g」と省略しても実行できます。&lt;/strong&gt;
:g/^/ {コマンド}

&lt;strong&gt;&amp;quot; 「:global」は範囲指定可能。選択した範囲のみを処理の対象にできる。&lt;/strong&gt;
&lt;strong&gt;&amp;quot;  20行目から159行目にコマンドを適用する。&lt;/strong&gt;
:20,159 global/^/ {コマンド}
&lt;/pre&gt;
&lt;p&gt;上のフォーマットの中の「コマンド」の部分では、置換の「:substitute」コマンドや、 &lt;br /&gt;
ノーマルモードの機能を呼び出す「:normal」コマンドなどが使用できます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 20行目から159行目に、置換処理を実行。&lt;/strong&gt;
&lt;strong&gt;&amp;quot; (この例の場合は、:20,159 s/置換前テキスト/置換後テキスト/g と結果は変わりませんが、&lt;/strong&gt;
&lt;strong&gt;&amp;quot; 後にでてくる、条件指定と組み合わせると、利用価値が出てくるので覚えておいてください。）&lt;/strong&gt;
:20,159 global/^/ s/置換前テキスト/置換後テキスト/g

&lt;strong&gt;&amp;quot; 各行の文字「S」までを削除する。&lt;/strong&gt;
:20,159 global/^/ normal dfS
&lt;/pre&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id11" id="id3" name="id3"&gt;各行をそれぞれ複製する&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;各行のテキストを、1行1行それぞれ複製します。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
jp.nanasi.gui.header.color=green
jp.nanasi.gui.menu.color=green
jp.nanasi.gui.leftContent.color=green
jp.nanasi.gui.body.color=green
jp.nanasi.gui.footer.color=green
&lt;/pre&gt;
&lt;p&gt;上図(↑)のようなテキストを、下図(↓)のように加工します。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
jp.nanasi.gui.header.color=green
jp.nanasi.gui.header.color=green
jp.nanasi.gui.header.color=green
jp.nanasi.gui.header.color=green
jp.nanasi.gui.header.color=green
jp.nanasi.gui.menu.color=green
jp.nanasi.gui.menu.color=green
jp.nanasi.gui.menu.color=green
jp.nanasi.gui.menu.color=green
jp.nanasi.gui.menu.color=green
jp.nanasi.gui.leftContent.color=green
jp.nanasi.gui.leftContent.color=green
jp.nanasi.gui.leftContent.color=green
jp.nanasi.gui.leftContent.color=green
jp.nanasi.gui.leftContent.color=green
jp.nanasi.gui.body.color=green
jp.nanasi.gui.body.color=green
jp.nanasi.gui.body.color=green
jp.nanasi.gui.body.color=green
jp.nanasi.gui.body.color=green
jp.nanasi.gui.footer.color=green
jp.nanasi.gui.footer.color=green
jp.nanasi.gui.footer.color=green
jp.nanasi.gui.footer.color=green
jp.nanasi.gui.footer.color=green
....
&lt;/pre&gt;
&lt;p&gt;上の章で紹介している「:global/^/」と「normal」を組み合わせて使えば、
行の複製を実現できます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; ファイル全体の行を複製する。&lt;/strong&gt;
:global/^/ normal yyp
&lt;/pre&gt;
&lt;p&gt;この複製処理が利用されるような状況では、範囲の指定と、コピーする行数の指定が必要になる場合がほとんどなので、 &lt;br /&gt;
実際には、次のようにコマンドを実行することになるでしょう。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 24行目から98行目までの行を、それぞれ4行ずつ複製する。&lt;/strong&gt;
:24,98 global/^/ normal yy4p
&lt;/pre&gt;
&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;複製したい行の数が1行だけである場合は、下記コマンドのどちらかを使用しても良い。&lt;/p&gt;
&lt;pre class="console last literal-block"&gt;
:g/^/copy .
:g/^/t .
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id12" id="id4" name="id4"&gt;各行間に空行を挿入する&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;テキストの各行の間に、空行を入れる方法を紹介します。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
jp.nanasi.gui.header.color=green
jp.nanasi.gui.menu.color=green
jp.nanasi.gui.leftContent.color=green
jp.nanasi.gui.body.color=green
jp.nanasi.gui.footer.color=green
&lt;/pre&gt;
&lt;p&gt;上図（↑）のテキストを、下図（↓）のテキストに加工します。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
jp.nanasi.gui.header.color=green

jp.nanasi.gui.menu.color=green

jp.nanasi.gui.leftContent.color=green

jp.nanasi.gui.body.color=green

jp.nanasi.gui.footer.color=green
&lt;/pre&gt;
&lt;p&gt;この処理の場合もやはり、「:global/^/」と「normal」を利用して実現します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; ファイル全体の行を複製する。&lt;/strong&gt;
:global/^/ normal i^M
&lt;/pre&gt;
&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;「^M」は、 &lt;span class="raw-html"&gt;&lt;kbd&gt;Control-v&lt;/kbd&gt;&lt;/span&gt; &lt;span class="raw-html"&gt;&lt;kbd&gt;Enter&lt;/kbd&gt;&lt;/span&gt; と順に押下すると入力できます。&lt;/p&gt;
&lt;img alt="制御文字入力" class="last" src="/dist/img/howto/editing/global-head-meta-lf.png" /&gt;
&lt;/div&gt;
&lt;p&gt;挿入する空白行の数を調節するには、繰り返しを利用するのが良いと思います。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 4行ずつ、空白行を挿入する。&lt;/strong&gt;
:global/^/ normal 4i^M
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id13" id="vim" name="vim"&gt;何行かおきにVimエディタの編集処理を実行する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;ある行数の間隔で、Vimエディタのテキスト編集処理を実行する方法を紹介します。 &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;まず、下記のコマンド入力を見てください。 &lt;br /&gt;
この式では、「:global」で範囲を指定し、「if」で条件を指定し、最後に実行したい処理を「|」で繋げていますが、&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 「条件」にマッチした行に「コマンド」を実行する。&lt;/strong&gt;
:global/^/ if {条件} | {コマンド}
&lt;/pre&gt;
&lt;p&gt;この「条件」の部分に、「line(&amp;quot;.&amp;quot;) % 2 == 0」のような条件を指定すれば、 &lt;br /&gt;
何行おきかでのVimエディタコマンドの実行を実現できます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 1行おきに、処理を実行する。&lt;/strong&gt;
:global/^/ if line(&amp;quot;.&amp;quot;) % 2 == 0 | {コマンド}
&lt;/pre&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id14" id="id5" name="id5"&gt;実行例&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;実行例です。 &lt;br /&gt;
次の式は、7行おきに置換処理を実行します。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 7で割り切れる行のみ、後半の置換処理を実行する。&lt;/strong&gt;
:global/^/ if line(&amp;quot;.&amp;quot;) % 7 == 0 | s/加工前テキスト/置換テキスト/g
&lt;/pre&gt;
&lt;p&gt;処理対象の行の調整は、ifの条件でコントロールします。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 例。57行目から、3行に1行ごとに、置換処理を実行する。&lt;/strong&gt;
&lt;strong&gt;&amp;quot; 最初に、57行目移行を指定して、かつ、57行目から、3行ごとに置換されるように調整。&lt;/strong&gt;
:57,$g/^/ if (line(&amp;quot;.&amp;quot;) - 57) % 3 == 0 | s/加工前テキスト/加工後テキスト/g
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id15" id="id6" name="id6"&gt;条件判定の式&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;条件判定の式に利用できそうなVimスクリプトのコードを一覧します。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;ファンクション&lt;/th&gt;
&lt;th class="head"&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;line('.')&lt;/td&gt;
&lt;td&gt;カレント行の行番号を返す。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;line('$')&lt;/td&gt;
&lt;td&gt;最終行の行番号を返す。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;getline(68)&lt;/td&gt;
&lt;td&gt;68行目のテキストを返す。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;式&lt;/th&gt;
&lt;th class="head"&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;X + Y&lt;/td&gt;
&lt;td&gt;加算。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;X - Y&lt;/td&gt;
&lt;td&gt;減算。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;X * Y&lt;/td&gt;
&lt;td&gt;乗算。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;X / Y&lt;/td&gt;
&lt;td&gt;除算。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;X % Y&lt;/td&gt;
&lt;td&gt;剰余演算。余りを返す。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id16" id="id7" name="id7"&gt;複数の条件を指定&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;複数の条件を指定する場合は、各条件式を「|」で区切ります。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 「条件」にマッチした行に「コマンド」を実行する。&lt;/strong&gt;
:global/^/ if {条件1} | if {条件2} | {コマンド}
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id17" id="id8" name="id8"&gt;略語を用意する&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;しかし、ここで紹介したコマンド入力は長くて、たまに利用する程度なら良いが、
頻繁に使用するには面倒です。 &lt;br /&gt;
さらに、Vimを使う人全員がVimスクリプトをすらすら書けるわけでもありません。 &lt;br /&gt;
（できる人は原理さえ知っておけば、即組み立てられる。）&lt;/p&gt;
&lt;p&gt;そこで、上のテクニックを有効に活用するために、 &lt;br /&gt;
入力を簡単にするための略語を定義しておくと、良いかもしれません。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&amp;quot; 略語の設定の例
&amp;quot; コマンドラインモードで「ga」や「ga2」と入力すると、展開される。
:cabbrev ga  g/^/
:cabbrev ga2 g/^/ if (line(&amp;quot;.&amp;quot;) % 2 == 1) &amp;lt;BAR&amp;gt;
:cabbrev ga3 g/^/ if (line(&amp;quot;.&amp;quot;) % 3 == 1) &amp;lt;BAR&amp;gt;
:cabbrev ga4 g/^/ if (line(&amp;quot;.&amp;quot;) % 4 == 1) &amp;lt;BAR&amp;gt;
:cabbrev ga5 g/^/ if (line(&amp;quot;.&amp;quot;) % 5 == 1) &amp;lt;BAR&amp;gt;
&lt;/pre&gt;
&lt;p&gt;作成したスクリプトを置いておきます。 &lt;br /&gt;
&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/interval-linecommand.vim"&gt;http://indefero.taku-o.net/index.php/p/download/source/file/master/interval-linecommand.vim&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/howto/coding/vim_vs_net_cmd.html">
  <title>Visual Studio .NETから外部ツールとしてVimエディタを起動する。</title>
  <link>http://nanasi.jp/articles/howto/coding/vim_vs_net_cmd.html</link>
  <description>このページでは、Visual Studio .NETからVimエディタを、 
外部ツールとして起動する場合の設定例を紹介します。    
(Windows)                                             
</description>
  <dc:subject>vimエディタ基本</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:52:08+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id9" name="id9"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id10" name="id10"&gt;設定方法&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#gvim" id="id11" name="id11"&gt;GVim起動用のバッチファイルをダウンロードする&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id12" name="id12"&gt;外部ツールの設定パネルを開く&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id6" id="id13" name="id13"&gt;外部ツールの登録&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id14" name="id14"&gt;動作確認&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id8" id="id15" name="id15"&gt;カスタマイズ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id9" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;このページでは、Visual Studio .NETからVimエディタを、
外部ツールとして起動する場合の設定例を紹介します。&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;他のVimエディタが起動されていなければ、新規にVimエディタを立ち上げる。&lt;/li&gt;
&lt;li&gt;他のVimエディタが起動されていれば、そのVimエディタウィンドウでファイルを開く。&lt;/li&gt;
&lt;li&gt;新しく開かれるファイルであれば、タブで開く。&lt;/li&gt;
&lt;li&gt;開始時のカーソル行を指定。（開かれたファイルにフォーカスが当たっている場合）&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id10" id="id2" name="id2"&gt;設定方法&lt;/a&gt;&lt;/h3&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id11" id="gvim" name="gvim"&gt;GVim起動用のバッチファイルをダウンロードする&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Vimエディタ起動用のバッチファイル「vim_vs_net.cmd」を用意してあるので、これを &lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/vim_vs_net.cmd"&gt;ダウンロード&lt;/a&gt; し、 &lt;br /&gt;
適当なディレクトリに置きます。迷うようであれば、toolsディレクトリにでも置きましょう。&lt;/p&gt;
&lt;p&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/vim_vs_net.cmd"&gt;バッチファイル「vim_vs_net.cmd」ダウンロード&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id12" id="id5" name="id5"&gt;外部ツールの設定パネルを開く&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Visual Studioを起動したら、メニューから&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;「ツール」→「外部ツール...」（日本語メニュー）&lt;/li&gt;
&lt;li&gt;「Tools」→「External Tools...」（英語メニュー）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と選択し、外部ツールの設定パネルを開きます。&lt;/p&gt;
&lt;img alt="エラーを確認する。" src="/dist/img/howto/coding/vim_vs_net_cmd_menu.png" /&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id13" id="id6" name="id6"&gt;外部ツールの登録&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;外部ツールの設定パネルで、次のように設定してください。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="33%"&gt;
&lt;col width="33%"&gt;
&lt;col width="33%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;項目&lt;/th&gt;
&lt;th class="head"&gt;設定例&lt;/th&gt;
&lt;th class="head"&gt;備考&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;タイトル&lt;/td&gt;
&lt;td&gt;Vim&lt;/td&gt;
&lt;td&gt;好きな名前で登録してください。このページの説明では「Vim」を使用します。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;コマンド&lt;/td&gt;
&lt;td&gt;C:\path\to\vim_vs_net.cmd&lt;/td&gt;
&lt;td&gt;「vim_vs_net.cmd」までのパスを登録します。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;引数&lt;/td&gt;
&lt;td&gt;$(CurLine) $(ItemPath)&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;初期ディレクトリ&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;空にします。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;img alt="エラーを確認する。" src="/dist/img/howto/coding/vim_vs_net_cmd_dialog.png" /&gt;
&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;このページで紹介している設定は、「gvim.exe」コマンドにPATHが通っていることが前提になっています。 &lt;br /&gt;
（gvim.exeコマンドを「vim_vs_net.cmd」が使用します。） &lt;br /&gt;
「gvim.exe」にPATHを通さない場合は「vim_vs_net.cmd」を編集してください。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id14" id="id7" name="id7"&gt;動作確認&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;外部ツールの設定が完了したら、動作確認を行います。&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Visual Studio .NETのエクスプローラでファイルを選択するか、&lt;/li&gt;
&lt;li&gt;エディタでファイルを開いて、&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;先のステップで登録した、外部ツールの「Vim」を選択してください。&lt;/p&gt;
&lt;img alt="ファイル選択" src="/dist/img/howto/coding/vim_vs_net_cmd_select.png" /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id15" id="id8" name="id8"&gt;カスタマイズ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;「vim_vs_net.cmd」ファイルの中身は次のようになっています。 &lt;br /&gt;
起動するVimをカスタマイズしたり、gvim.exeまでのパスをフルパスで指定したい場合は、 &lt;br /&gt;
下コードのハイライトされている箇所を修正してください。&lt;/p&gt;
&lt;pre class="program"&gt;
@echo off

IF "%~2" == "" (GOTO WITHOUT_LINE_NO) else GOTO WITH_LINE_NO

:WITH_LINE_NO
&lt;span class="code_high"&gt;start /b gvim.exe --servername VS_NET --remote-tab-silent +%1 %2&lt;/span&gt;
GOTO END

:WITHOUT_LINE_NO
&lt;span class="code_high"&gt;start /b gvim.exe --servername VS_NET --remote-tab-silent %1&lt;/span&gt;
GOTO END

:END
&lt;/pre&gt;&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;実はVimエディタ本体のランタイムのtoolsディレクトリには、 &lt;br /&gt;
この「vim_vs_net.cmd」と名前も目的も機能も同じファイル、「vim_vs_net.cmd」が入っています。 &lt;br /&gt;
このページで配布している「vim_vs_net.cmd」は、元ファイルを改変したものなのです。&lt;/p&gt;
&lt;pre class="console last literal-block"&gt;
$VIM/runtime/tools/vim_vs_net.cmd
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/vim/batch_vim.html">
  <title>batch.vim : 選択した範囲に記述されたvimスクリプトを実行する</title>
  <link>http://nanasi.jp/articles/vim/batch_vim.html</link>
  <description>選択した範囲に記述されたvimエディタのコマンドを、              
順々に実行するスクリプトです。                                 
vimエディタ設定の確認や、vimスクリプトのデバッグで使用します。 
(Windows, Mac)                                                 
</description>
  <dc:subject>vimスクリプト</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:50:09+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id6" name="id6"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id7" name="id7"&gt;インストール方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id8" name="id8"&gt;使用方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id9" name="id9"&gt;注意事項など&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id6" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;batch.vim : 選択した範囲に記述されたvimスクリプトを実行する &lt;br /&gt;
&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/batch.vim"&gt;http://indefero.taku-o.net/index.php/p/download/source/file/master/batch.vim&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;選択した範囲に記述されたvimエディタのコマンドを、
順々に実行するスクリプトです。 &lt;br /&gt;
vimエディタ設定の確認や、vimスクリプトのデバッグで使用します。&lt;/p&gt;
&lt;p&gt;または、vimエディタのコマンドの入力が面倒になってきた時に、 &lt;br /&gt;
ファイルにコマンドを記述して簡易入力で実行するために用います。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id7" id="id2" name="id2"&gt;インストール方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/batch.vim"&gt;プラグイン&lt;/a&gt; をダウンロードして、 &lt;br /&gt;
pluginディレクトリにコピーしてください。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;ファイル&lt;/th&gt;
&lt;th class="head"&gt;URL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;batch.vim&lt;/td&gt;
&lt;td&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/batch.vim"&gt;http://indefero.taku-o.net/index.php/p/download/source/file/master/batch.vim&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id8" id="id4" name="id4"&gt;使用方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;まず、vimスクリプトのコマンド、もしくはvimスクリプトの文を記述します。 &lt;br /&gt;
次に、それらのコードをビジュアルモードで選択するか、コマンドラインモードで指定して、 &lt;br /&gt;
「:Batch」コマンドを実行してください。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:{range}Batch

&lt;strong&gt;&amp;quot; コマンド実行のサンプル&lt;/strong&gt;
&lt;strong&gt;&amp;quot; 1から20行目の範囲のvimスクリプトのコードを実行&lt;/strong&gt;
:1,20Batch
&lt;/pre&gt;
&lt;p&gt;「:Batch」コマンドは選択した範囲のコードを一時ファイルにコピーし、 &lt;br /&gt;
その後に、そのファイルをvimスクリプトとして実行します。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id9" id="id5" name="id5"&gt;注意事項など&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;「:Batch」コマンドによる選択スクリプトの実行処理は、 &lt;br /&gt;
選択したコードが単体で実行できないような場合
（たとえば、スクリプトローカルな関数に依存している場合）、 &lt;br /&gt;
コードの実行に失敗します。 &lt;br /&gt;&lt;/p&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/vim/auto_wc_vim.html">
  <title>auto_wc.vim : ファイルの文字数を自動的に集計する</title>
  <link>http://nanasi.jp/articles/vim/auto_wc_vim.html</link>
  <description>ファイルに                                           
WC:[1672/4200]:                                      
という行を書いておくと、左側ファイル文字数カウンタが 
ファイル保存時に自動的に更新されます。               
右側数値は、入力可能な最大文字数を想定。             
(Windows, Mac)                                       
</description>
  <dc:subject>vimスクリプト</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:50:58+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id8" name="id8"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id9" name="id9"&gt;インストール方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id10" name="id10"&gt;使用方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id11" name="id11"&gt;注意事項など&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id8" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;auto_wc.vim : ファイルの文字数を自動的に集計する &lt;br /&gt;
&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/auto_wc.vim"&gt;http://indefero.taku-o.net/index.php/p/download/source/file/master/auto_wc.vim&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ファイルに &lt;br /&gt;
WC:[1780/4200]: &lt;br /&gt;
という行を書いておくと、左側ファイル文字数カウンタがファイル保存時に自動的に更新されます。 &lt;br /&gt;
右側数値は、入力可能な最大文字数を想定。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id9" id="id2" name="id2"&gt;インストール方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/auto_wc.vim"&gt;スクリプト&lt;/a&gt; をダウンロードして、 &lt;br /&gt;
pluginディレクトリにコピーしてください。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;ファイル&lt;/th&gt;
&lt;th class="head"&gt;URL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;auto_wc.vim&lt;/td&gt;
&lt;td&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/auto_wc.vim"&gt;http://indefero.taku-o.net/index.php/p/download/source/file/master/auto_wc.vim&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id10" id="id4" name="id4"&gt;使用方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;文字数を集計したいファイルに、&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
WC:[1780/0]:
&lt;/pre&gt;
&lt;p&gt;という行を記述してください。 &lt;br /&gt;
ファイル保存時に左側数値が自動的に更新されます。&lt;/p&gt;
&lt;p&gt;右側の数値には最大文字数を入れて、 &lt;br /&gt;
入力可能な文字数の目安にしてください。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id11" id="id5" name="id5"&gt;注意事項など&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;「 &lt;a class="reference" href="http://d.hatena.ne.jp/nokturnalmortum/"&gt;地獄の猫日記&lt;/a&gt; 」様が、 &lt;br /&gt;
&lt;a class="reference" href="http://d.hatena.ne.jp/nokturnalmortum/20080422#1208817273"&gt;ステータスラインに文字数のカウントを表示するスクリプト&lt;/a&gt; を
作成してくれています。&lt;/p&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/vim/catn_vim.html">
  <title>catn.vim : 行先頭に連番を挿入するスクリプト</title>
  <link>http://nanasi.jp/articles/vim/catn_vim.html</link>
  <description>選択した範囲の行の先頭に連番を挿入するスクリプトです。Unixの"cat -n"。 
(Windows, Mac)                                                         
</description>
  <dc:subject>vimスクリプト</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:49:24+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id9" name="id9"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id10" name="id10"&gt;インストール方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id4" id="id11" name="id11"&gt;使用方法&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id12" name="id12"&gt;コマンドのフォーマット&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id6" id="id13" name="id13"&gt;指定した範囲の行の先頭に、1から始まる連番を挿入&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id14" name="id14"&gt;指定した範囲の行の先頭に、指定した番号からの連番を挿入&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id8" id="id15" name="id15"&gt;指定した範囲の行の先頭に、指定したフォーマットで指定した番号からの連番を挿入&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id9" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;catn.vim : 行先頭に連番を挿入するスクリプト &lt;br /&gt;
&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/catn.vim"&gt;http://indefero.taku-o.net/index.php/p/download/source/file/master/catn.vim&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;選択した範囲の行の先頭に連番を挿入するスクリプトです。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id10" id="id2" name="id2"&gt;インストール方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/catn.vim"&gt;スクリプト&lt;/a&gt; をダウンロードして、 &lt;br /&gt;
pluginディレクトリにコピーしてください。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;ファイル&lt;/th&gt;
&lt;th class="head"&gt;URL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;catn.vim&lt;/td&gt;
&lt;td&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/catn.vim"&gt;http://indefero.taku-o.net/index.php/p/download/source/file/master/catn.vim&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id11" id="id4" name="id4"&gt;使用方法&lt;/a&gt;&lt;/h3&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id12" id="id5" name="id5"&gt;コマンドのフォーマット&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;スクリプトをインストールすると、「:Catn」コマンドを使用できるようになります。 &lt;br /&gt;
「:Catn」コマンドのフォーマットは3通りあります。 &lt;br /&gt;
どのフォーマットのコマンドを呼び出す場合にも、連番を挿入する範囲を指定する必要があります。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; 指定した範囲の行の先頭に、1から始まる連番を挿入&lt;/strong&gt;
:'&amp;lt;,'&amp;gt;Catn

&lt;strong&gt;&amp;quot; 指定した範囲の行の先頭に、指定した番号からの連番を挿入&lt;/strong&gt;
:'&amp;lt;,'&amp;gt;Catn {開始値}

&lt;strong&gt;&amp;quot; 指定した範囲の行の先頭に、指定したフォーマットで指定した番号からの連番を挿入&lt;/strong&gt;
:'&amp;lt;,'&amp;gt;Catn {フォーマット} {開始値}
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id13" id="id6" name="id6"&gt;指定した範囲の行の先頭に、1から始まる連番を挿入&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;「:Catn」コマンドにパラメータを与えないと、1から始まる連番を、
指定した範囲の行頭に挿入します。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
public class Main {
  public static void main(String[] args) {
    System.out.println(&amp;quot;Hello World&amp;quot;);
  }
}
&lt;/pre&gt;
&lt;p&gt;↑ 上のようなコードがある時に、連番を挿入したい範囲をビジュアルモードで選択するか、 &lt;br /&gt;
コマンドラインモードで指定して、「:Catn」コマンドを実行すると、&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; ファイル全体を対象に「:Catn」コマンドを実行&lt;/strong&gt;
:%Catn
&lt;/pre&gt;
&lt;p&gt;↓ 次のように連番を埋め込みます。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
1 public class Main {
2   public static void main(String[] args) {
3     System.out.println(&amp;quot;Hello World&amp;quot;);
4   }
5 }
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id14" id="id7" name="id7"&gt;指定した範囲の行の先頭に、指定した番号からの連番を挿入&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;「:Catn」コマンドにパラメータを1つ、数値を与えると、 &lt;br /&gt;
その数値から始まる連番を、指定した範囲の行頭に挿入します。 &lt;br /&gt;
（パラメータで指定した数値を含む）&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
public class Main {
  public static void main(String[] args) {
    System.out.println(&amp;quot;Hello World&amp;quot;);
  }
}
&lt;/pre&gt;
&lt;p&gt;↑ 上のようなコードがある時に、連番を挿入したい範囲をビジュアルモードで選択するか、 &lt;br /&gt;
コマンドラインモードで指定して、「:Catn」コマンドに連番開始値を与えて実行すると、&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 1行目から5行目を対象に、連番開始値50を指定して「:Catn」コマンドを実行&lt;/strong&gt;
:1,5Catn 50
&lt;/pre&gt;
&lt;p&gt;↓ 次のように連番を埋め込みます。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
50 public class Main {
51   public static void main(String[] args) {
52     System.out.println(&amp;quot;Hello World&amp;quot;);
53   }
54 }
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="#id15" id="id8" name="id8"&gt;指定した範囲の行の先頭に、指定したフォーマットで指定した番号からの連番を挿入&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;フォーマットを指定して、連番を挿入することもできます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
:'&amp;lt;,'&amp;gt;Catn {フォーマット} {開始値}
&lt;/pre&gt;
&lt;p&gt;フォーマットには、vimエディタのprintf()ファンクションで使用できるフォーマットを指定します。 &lt;br /&gt;
例えば、次のようにコマンドを実行すると、&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 数値8桁、0埋めのフォーマット&lt;/strong&gt;
:%Catn %08d: 500
&lt;/pre&gt;
&lt;p&gt;↓ 次のように連番を埋め込みます。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
00000500:public class Main {
00000501:  public static void main(String[] args) {
00000502:    System.out.println(&amp;quot;Hello World&amp;quot;);
00000503:  }
00000504:}
&lt;/pre&gt;
&lt;p&gt;半角スペースを入れる場合は、「\」でエスケープする必要があります。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
&lt;strong&gt;&amp;quot; 数値8桁、0埋めのフォーマット。間に1つスペースを入れる。&lt;/strong&gt;
:%Catn %08d:\  500
&lt;/pre&gt;
&lt;pre class="program literal-block"&gt;
00000500: public class Main {
00000501:   public static void main(String[] args) {
00000502:     System.out.println(&amp;quot;Hello World&amp;quot;);
00000503:   }
00000504: }
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
</content:encoded>
</item>
<item rdf:about="http://nanasi.jp/articles/vim/commentout_source.html">
  <title>commentout.vim : ソースをコメントアウト ←→ コメントアウト解除</title>
  <link>http://nanasi.jp/articles/vim/commentout_source.html</link>
  <description>Visual Modeで選択した範囲のソースを                                
コメントアウトしたり、逆にコメントを外したり出来るスクリプトです。 
(Windows, Mac)                                                     
</description>
  <dc:subject>vimスクリプト</dc:subject>
  <dc:creator>小見 拓 &lt;mail@nanasi.jp&gt;</dc:creator>
  <dc:date>2010-01-11T11:48:00+09:00</dc:date>
  <content:encoded>


&lt;div class="contents topic"&gt;
&lt;p class="topic-title first"&gt;&lt;a id="contents" name="contents"&gt;Contents&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference" href="#id1" id="id8" name="id8"&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id2" id="id9" name="id9"&gt;インストール方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id5" id="id10" name="id10"&gt;使用方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id6" id="id11" name="id11"&gt;コマンド一覧&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference" href="#id7" id="id12" name="id12"&gt;注意事項など&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id8" id="id1" name="id1"&gt;概要&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;vim online Tip #271: easy (un)commenting out of source code &lt;br /&gt;
&lt;a class="reference" href="http://www.vim.org/tip_view.php?tip_id=271"&gt;http://www.vim.org/tip_view.php?tip_id=271&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visual Modeで指定した範囲のソースにコメントを付けたり、外したりするスクリプトです。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id9" id="id2" name="id2"&gt;インストール方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a class="reference" href="http://www.vim.org/tip_view.php?tip_id=271"&gt;vim onlineのTip #271&lt;/a&gt; を参考にして、
スクリプトを製作しました。&lt;/p&gt;
&lt;p&gt;中身は以下のようになっています。&lt;/p&gt;
&lt;pre class="program literal-block"&gt;
&lt;strong&gt;&amp;quot; commentout.vim&lt;/strong&gt;
&amp;quot; lhs comments
vmap ,# :s/^/#/&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,/ :s/^/\/\//&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,&amp;gt; :s/^/&amp;gt; /&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,&amp;quot; :s/^/\&amp;quot;/&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,% :s/^/%/&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,! :s/^/!/&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,; :s/^/;/&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,- :s/^/--/&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,c :s/^\/\/\\|^--\\|^&amp;gt; \\|^[#&amp;quot;%!;]//&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;

&amp;quot; wrapping comments
vmap ,* :s/^\(.*\)$/\/\* \1 \*\//&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,( :s/^\(.*\)$/\(\* \1 \*\)/&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,&amp;lt; :s/^\(.*\)$/&amp;lt;!-- \1 --&amp;gt;/&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;
vmap ,d :s/^\([/(]\*\\|&amp;lt;!--\) \(.*\) \(\*[/)]\\|--&amp;gt;\)$/\2/&amp;lt;CR&amp;gt;:nohlsearch&amp;lt;CR&amp;gt;

&amp;quot; block comments
vmap ,b v`&amp;lt;I&amp;lt;CR&amp;gt;&amp;lt;esc&amp;gt;k0i/*&amp;lt;ESC&amp;gt;`&amp;gt;j0i*/&amp;lt;CR&amp;gt;&amp;lt;esc&amp;gt;&amp;lt;ESC&amp;gt;
vmap ,h v`&amp;lt;I&amp;lt;CR&amp;gt;&amp;lt;esc&amp;gt;k0i&amp;lt;!--&amp;lt;ESC&amp;gt;`&amp;gt;j0i--&amp;gt;&amp;lt;CR&amp;gt;&amp;lt;esc&amp;gt;&amp;lt;ESC&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&lt;a class="reference" href="http://indefero.taku-o.net/index.php/p/download/source/file/master/commentout.vim"&gt;スクリプトダウンロード&lt;/a&gt; し、|BR|
このスクリプトを$VIMRUNTIME/plugin/に入れてください。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id10" id="id5" name="id5"&gt;使用方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;サンプルのJavaソースコードです。&lt;/p&gt;
&lt;img alt="/dist/img/vim/commentout_default.jpg" src="/dist/img/vim/commentout_default.jpg" /&gt;
&lt;p&gt;コメントアウトしたい範囲をVisual Modeで選択します。
マウスで選択しても良いでしょう。&lt;/p&gt;
&lt;img alt="/dist/img/vim/commentout_select.jpg" src="/dist/img/vim/commentout_select.jpg" /&gt;
&lt;p&gt;選択したら、 &lt;strong&gt;素早く(重要)&lt;/strong&gt; 、&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
,/
&lt;/pre&gt;
&lt;p&gt;と入力すると、&lt;/p&gt;
&lt;img alt="/dist/img/vim/commentout_1line.jpg" src="/dist/img/vim/commentout_1line.jpg" /&gt;
&lt;p&gt;と選択した範囲がコメントアウトされます。&lt;/p&gt;
&lt;pre class="console literal-block"&gt;
,b
&lt;/pre&gt;
&lt;p&gt;で、複数行コメントアウトすることもできます。&lt;/p&gt;
&lt;img alt="/dist/img/vim/commentout_block.jpg" src="/dist/img/vim/commentout_block.jpg" /&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id11" id="id6" name="id6"&gt;コマンド一覧&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;一行コメント&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;コマンド&lt;/th&gt;
&lt;th class="head"&gt;コメントの種類&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;,/&lt;/td&gt;
&lt;td&gt;Java, C++の一行コメント&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,#&lt;/td&gt;
&lt;td&gt;shell, perl, 他&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,&amp;gt;&lt;/td&gt;
&lt;td&gt;email, quote&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,&amp;quot;&lt;/td&gt;
&lt;td&gt;vimスクリプト&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,%&lt;/td&gt;
&lt;td&gt;latex, prolog&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,!&lt;/td&gt;
&lt;td&gt;assembly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,;&lt;/td&gt;
&lt;td&gt;scheme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,-&lt;/td&gt;
&lt;td&gt;SQL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,c&lt;/td&gt;
&lt;td&gt;上記の種類のコメントを削除するコマンドです。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;複数行コメント&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;コマンド&lt;/th&gt;
&lt;th class="head"&gt;コメントの種類&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;,*&lt;/td&gt;
&lt;td&gt;Java, C++の複数行コメント&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,(&lt;/td&gt;
&lt;td&gt;Standard ML&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,&amp;lt;&lt;/td&gt;
&lt;td&gt;HTML&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,d&lt;/td&gt;
&lt;td&gt;上記の種類のコメントを削除するコマンドです。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;複数行一括コメント&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="50%"&gt;
&lt;col width="50%"&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;コマンド&lt;/th&gt;
&lt;th class="head"&gt;コメントの種類&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;,b&lt;/td&gt;
&lt;td&gt;Java, C++の複数行コメント&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;,h&lt;/td&gt;
&lt;td&gt;HTML, XMLの複数行コメント&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="#id12" id="id7" name="id7"&gt;注意事項など&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;キーマップが悪さをする場合には、
自分でスクリプトを編集し直してください。&lt;/p&gt;
&lt;/div&gt;
</content:encoded>
</item>

</rdf:RDF>
