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

<channel>
	<title>Vim &#8211; Mach3.laBlog</title>
	<atom:link href="https://blog.mach3.jp/tag/vim/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.mach3.jp</link>
	<description></description>
	<lastBuildDate>Tue, 10 Jan 2012 01:00:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Sublime TextとNettuts+ Fetchで音速のスタートアップ</title>
		<link>https://blog.mach3.jp/2012/01/10/sublime-text-and-nettuts-fetch.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Tue, 10 Jan 2012 01:00:05 +0000</pubDate>
				<category><![CDATA[WebClip]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[Nettuts+ Fetch]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Sublime Text]]></category>
		<category><![CDATA[Vim]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=2251</guid>

					<description><![CDATA[Sublime Textは高機能でマルチプラットフォームなプログラミングエディタです。 この度リリースされたSublime Text向けのプラグイン「Nettuts+ Fetch」が素敵だったので エディタも含めてご紹介 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="http://www.sublimetext.com/">Sublime Text</a>は高機能でマルチプラットフォームなプログラミングエディタです。<br />
この度リリースされたSublime Text向けのプラグイン「<a href="http://net.tutsplus.com/articles/news/introducing-nettuts-fetch/">Nettuts+ Fetch</a>」が素敵だったので<br />
エディタも含めてご紹介致します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/-ok1PDNz6-Tg/Twrvn1DTQoI/AAAAAAAABc4/LDpDFE46P_o/s400/20110109-00.png" alt="Sublime TextとNettuts+ Fetchで音速のスタートアップ"/></figure>



<p></p>



<span id="more-2256"></span>



<h2 class="wp-block-heading">Nettuts+ Fetch ってなに？</h2>



<ul class="wp-block-list">
<li><a href="http://net.tutsplus.com/articles/news/introducing-nettuts-fetch/">Introducing Nettuts+ Fetch | Nettuts+</a></li>
</ul>



<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/-3sQue-aeDvI/TwrvnBILq5I/AAAAAAAABc4/1LtUqyGLyGk/s500/20110109-01.png" alt="Introducing Nettuts+ Fetch"/></figure>



<p></p>



<p><em>Nettuts+ Fetch</em>は、名前の通り、Nettuts+からリリースされたSublime Text用のプラグインで、<br />
外部リソースを簡単なコマンドで手元にpullする事ができます。</p>



<p>例えば、普段からよく使うjQueryやリセット用のCSS、<br />
常用するフレームワークや、Wordpress等のCMS等、<br />
設定さえしておけば、コマンド一発（正確には三発）でダウンロード・展開してくれます。</p>



<p>新規プロジェクト用に各種ファイルをセットアップする際に、<br />
一々最新版を公式からダウンロードして設置して…という手間が省ける上、<br />
<em>Sublime Text</em>をメインエディタにすればそのまま作業に移れます。<br />
スタートアップがかなり捗りそうですね。</p>



<h2 class="wp-block-heading">前準備</h2>



<h3 class="wp-block-heading">Sublime Textのインストール</h3>



<ul class="wp-block-list">
<li><a href="http://www.sublimetext.com/2">Sublime Text &#8211; Download</a></li>
</ul>



<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/-dutOVJKs-iA/TwrvnLeavJI/AAAAAAAABc4/JLuk2C3dB9s/s500/20110109-02.png" alt="Sublime Text"/></figure>



<p></p>



<p>これが無いと何もはじまりはしないので。<br />
2012年1月7日現在ではβ版のバージョン2を入れて見ました。<br />
ちなみに執筆当初1ライセンス$59で、無料でお試しして良いよとの事。</p>



<h3 class="wp-block-heading">Sublime Package Control のインストール</h3>



<p>Sublime Textは<em>「Package Control」</em>という拡張を使うことで<br />
追加のパッケージをサクサク検索・インストール出来ます。<br />
是非入れておきましょう。</p>



<p><a href="http://wbond.net/sublime_packages/package_control">Sublime Package Control – a Sublime Text 2 Package Manager by wbond</a></p>



<ol class="wp-block-list">
<li>メニューから、<em>&#8220;View&#8221; > &#8220;Show Cnsole&#8221;</em> でコンソール窓を表示。</li>



<li>下記の公式のワンライナーを入力してEnter。</li>



<li>Sublime Textを再起動して完了。</li>
</ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>import urllib2,os; pf=&#8217;Package Control.sublime-package&#8217;; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),&#8217;wb&#8217;).write(urllib2.urlopen(&#8216;http://sublime.wbond.net/&#8217;+pf.replace(&#8216; &#8216;,&#8217;%20&#8217;)).read()); print &#8216;Please restart Sublime Text to finish installation&#8217;</p>
</blockquote>



<p>（執筆当初のコードです。念の為公式での確認をおすすめします。）</p>



<h2 class="wp-block-heading">Nettuts+ Fetch を使ってみよう</h2>



<p>いよいよ件のプラグインをインストールします。<br />
全入力しなくともコマンドパレットが補完してくれるので楽々安心ですね。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/-jrOAv77-kL4/TwrvnI3f5WI/AAAAAAAABc4/pAUvTeLRoRA/s500/20110109-03.png" alt="Nettuts+ Fetch"/></figure>



<p></p>



<ol class="wp-block-list">
<li>コマンドパレットを表示。<em>（Mac:⌘+Shift+p / Win:Ctrl+Shift+p）</em></li>



<li><em>&#8220;Install Package&#8221;</em></li>



<li><em>&#8220;Nettuts+ Fetch&#8221;</em> を選択・インストール</li>
</ol>



<p>jQueryとhtml5-boilerplateははじめから設定されているので<br />
試しにこれらをテストしてみましょう。</p>



<h3 class="wp-block-heading">jQueryを引っ張ってくる (単体ファイル）</h3>



<ol class="wp-block-list">
<li>コマンドパレットを開く。</li>



<li><em>&#8220;Fetch&#8221; > &#8220;Single File&#8221; > &#8220;jQuery&#8221;</em></li>



<li>現在開いているバッファーがあればそこに、無ければ新たな「untitled」に内容がペーストされます。</li>
</ol>



<h3 class="wp-block-heading">html5-boilerplateを引っ張ってくる（zipファイル）</h3>



<ol class="wp-block-list">
<li>作業用のフォルダを開く。</li>



<li>コマンドパレットを開く。</li>



<li><em>&#8220;Fetch&#8221; > &#8220;Package File&#8221; > &#8220;html5-boilerplate&#8221;</em></li>



<li>複数のフォルダがある場合は、確認を促されます。</li>



<li>選択したフォルダにダウンロードしたzipの内容が展開されます。</li>
</ol>



<h2 class="wp-block-heading">設定を足してみよう</h2>



<p>設定を足してやれば、勿論その他のパッケージを引っ張って来る事ができます。</p>



<ol class="wp-block-list">
<li>コマンドパレットを開く</li>



<li><em>&#8220;Fetch: Manage remote file&#8221;</em></li>



<li>開かれた設定ファイル（Fetch.sublime-settings）を編集</li>
</ol>



<pre class="wp-block-preformatted">{
    "files":
    {
        "jquery": "http://code.jquery.com/jquery.min.js"
    },
    "packages":
    {
        "html5-boilerplate": "http://github.com/h5bp/html5-boilerplate/zipball/v2.0stripped"
    }
}
</pre>



<p>これがデフォルトの状態。JSONで管理されているので編集も楽です。</p>



<p>WordPress日本語版の最新バージョンを引っ張ってこれるように設定してみます。<br />
最新版の場所を教えてくれた@understandardさんにこっそり感謝。</p>


<pre class="wp-block-code"><span><code class="hljs language-json">{
    <span class="hljs-attr">"files"</span>:
    {
        <span class="hljs-attr">"jquery"</span>: <span class="hljs-string">"http://code.jquery.com/jquery.min.js"</span>
    },
    <span class="hljs-attr">"packages"</span>:
    {
        <span class="hljs-attr">"html5-boilerplate"</span>: <span class="hljs-string">"http://github.com/h5bp/html5-boilerplate/zipball/v2.0stripped"</span>,
        <span class="hljs-attr">"wordpress-ja"</span>: <span class="hljs-string">"http://ja.wordpress.org/latest-ja.zip"</span>
    }
}
</code></span></pre>


<p>これで、<em>&#8220;Fetch&#8221; &gt; &#8220;Package File&#8221; &gt; &#8220;wordpress-ja&#8221;</em> で<br />
Wordpressが好きなフォルダに展開されます。</p>



<p>俺々フレームワーク等もGithubなりGistなりでWeb上にあげておけば簡単にpullできますね。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>Fetchコマンドもさることながら、このSublime Textというエディタ、かなりよさそうです。<br />
拡張性も高く、既に多くのプラグインがリリースされている他、<br />
Viキーバインドでも使う事ができます。</p>



<p>まだβ版でバグも多いそうですが、今後チェックしていきたいですね。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>VimでLessファイルを編集する（シンタックスの追加）</title>
		<link>https://blog.mach3.jp/2011/08/03/edit-less-with-macvim.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Wed, 03 Aug 2011 05:31:38 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[LESS]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MacVim]]></category>
		<category><![CDATA[Vim]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=1882</guid>

					<description><![CDATA[個人的な話ではありますが、先日ようやくはじめてのMacを手に入れました。 せっかく Less.app という素敵な物があるので、MacでもLessを使っていこうと思ったのですが、 Lessファイルを編集するのに丁度良いエ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>個人的な話ではありますが、先日ようやくはじめてのMacを手に入れました。<br />
せっかく <a href="http://incident57.com/less/">Less.app</a> という素敵な物があるので、MacでもLessを使っていこうと思ったのですが、<br />
Lessファイルを編集するのに丁度良いエディタに未だ出会えていないので、<br />
とりあえずMacVimで編集してみようという試み。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/-AKzjvfr6_RM/Tjjb-SHSQCI/AAAAAAAABVE/JBrE1WipE8I/201108031423.png" alt="VimでLessファイルを編集する"/></figure>



<p></p>



<p>ちなみに、Windowsでは <a href="http://notepad-plus-plus.org/">Notepad++</a> が使いやすくて重宝してます。</p>



<span id="more-1882"></span>



<h2 class="wp-block-heading">シンタックスファイルを追加する</h2>



<p>Vimでは、Sassははじめから使えるのに<br />
Lessのシンタックスファイルはありません。<br />
なので、自分で追加してやらないといけません。</p>



<p>PHPでLessする「lessphp」の作者さんが、<br />
オマケ？として公開してくれているので、こちらを使わせて頂くことに。</p>



<p><a href="http://leafo.net/lessphp/">lessphp &#8211; leaner css in php</a></p>



<p>「Resources」の「Vim syntax file」から取得出来ます。<br />
取得したless.vimは ~/.vim/syntax に保存。<br />
これで、VimでLessファイルのシンタックスを色分けしてくれるようになったはず。</p>



<p>適当なLessファイルをひらいて</p>


<pre class="wp-block-code"><span><code class="hljs">setf less
</code></span></pre>


<p>とかしてテストしてみましょう。</p>



<h2 class="wp-block-heading">.lessファイルを関連付けする</h2>



<p>.vimrc等で、lessファイルの関連付けをしてあげます。</p>


<pre class="wp-block-code"><span><code class="hljs language-css">" <span class="hljs-selector-tag">Less</span>
<span class="hljs-selector-tag">au</span> <span class="hljs-selector-tag">BufNewFile</span>,<span class="hljs-selector-tag">BufRead</span> *<span class="hljs-selector-class">.less</span>            <span class="hljs-selector-tag">setf</span> <span class="hljs-selector-tag">less</span>
</code></span></pre>


<p>これで拡張子が.lessのファイルを開くと、<br />
lessのシンタックスハイライトが適用されてます。やったね！</p>



<h2 class="wp-block-heading">less.vimが見つからなかった時は</h2>



<p>Sassに比べていささかマイナーなツールではあるので、<br />
そのような事もひょっとしたらあるかもしれません。<br />
そんな時は、Sassの記法がかなり近いのでそちらを編集して使ってみてもよいかも。</p>



<p>基本的には複製させていただき、<br />
変数の書き方だけLessに合わせておきます。</p>


<pre class="wp-block-code"><span><code class="hljs">$ cd /Applications/MacVim.app/Contents/Resources/vim/runtime/syntax/
$ cat sass.vim &gt; less.vim
$ vim less.vim
</code></span></pre>


<p>sass.vim を複製した less.vim を開き、</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">syn match sassVariable <span class="hljs-string">"$&#91;&#91;:alnum:]_-]+"</span>
syn match sassVariableAssignment <span class="hljs-string">"%(&#91;!$]&#91;&#91;:alnum:]_-]+s*)@&amp;lt;=%(||)=="</span> nextgroup=sassCssAttribute skipwhite
syn match sassVariableAssignment <span class="hljs-string">"%(&#91;!$]&#91;&#91;:alnum:]_-]+s*)@&amp;lt;=:"</span> nextgroup=sassCssAttribute skipwhite
</code></span></pre>


<p>この部分の$を@に書き換える。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">syn match sassVariable <span class="hljs-string">"@&#91;&#91;:alnum:]_-]+"</span>
syn match sassVariableAssignment <span class="hljs-string">"%(&#91;!@]&#91;&#91;:alnum:]_-]+s*)@&amp;lt;=%(||)=="</span> nextgroup=sassCssAttribute skipwhite
syn match sassVariableAssignment <span class="hljs-string">"%(&#91;!@]&#91;&#91;:alnum:]_-]+s*)@&amp;lt;=:"</span> nextgroup=sassCssAttribute skipwhite
</code></span></pre>


<p>また、ファイル先頭のコメントの部分は、<br />
適当にSassをLessに変更するなどしておきましょう。<br />
これで、setf lessすればLessファイルとしてカラーリングされるようになるはずです。</p>



<p>一部の記法（Mixinとか）はSassとLessで異なるので反映されませんが、<br />
個人的には変数とネストだけ反映されれば十分です。</p>



<p>「公開されているless.vimを紹介しておきながらなんでわざわざ？」と思われましたか？<br />
…苦し紛れのコレを書いてる時にやっとless.vimを見つけたんだからしょうがない。</p>



<h2 class="wp-block-heading">Less.appは素敵ですよ</h2>



<p>いずれ改めて紹介しようとは思ってますが、<br />
MacOSで使える <a href="http://incident57.com/less/">LESS.app For Mac OS X</a> は素晴らしいです。<br />
フォルダごとに管理も出来るし、出力先のパスも指定できる。<br />
Lessniumもこれくらい気の利いたツールにしてみたい…</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vimでのオートコンプリート設定覚書</title>
		<link>https://blog.mach3.jp/2010/11/19/gvim-autocomplpop.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Fri, 19 Nov 2010 02:40:36 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Notepad++]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=1150</guid>

					<description><![CDATA[エディタは長らくNotepad++を愛用していたのですが、 スクリプトを書くときはやはりViの方が速い…という事できちんと導入しておくことに。 gVimでオートコンプリートさせる設定のまとめです。 autocmplpop [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>エディタは長らくNotepad++を愛用していたのですが、<br />
スクリプトを書くときはやはりViの方が速い…という事できちんと導入しておくことに。<br />
gVimでオートコンプリートさせる設定のまとめです。</p>



<figure class="wp-block-image"><img decoding="async" src="http://lh3.ggpht.com/_JJkNs5Ixl70/TOUyoiITtRI/AAAAAAAABGI/8wBfF8f9Gmg/201011182257.png" alt="Vimでのオートコンプリート設定覚書"/></figure>



<p></p>



<span id="more-1150"></span>



<h2 class="wp-block-heading">autocmplpop.vimを導入</h2>



<p><a href="http://www.vim.org/scripts/script.php?script_id=1879">AutoComplPop &#8211; Automatically opens popup menu for completions : vim online</a></p>



<p>デフォルトのままのVimでは、<c-o>や<c-x>の後に、<br />
<c-n>, <c-p>とする事で入力候補をポップアップで表示させる事が出来ます<br />
…が、ちょっとまどろっこしい。</c-p></c-n></c-x></c-o></p>



<p>これを自動的にポップアップしてくれるようにしてくれるのが<br />
このAutoComplPopというプラグインです。<br />
導入方法はディレクトリにコピーするだけなので割愛。</p>



<p>尚、当方のUbuntu環境ではl9.vimも必要とされました。<br />
うまく動かなかったら一緒に導入してやりましょう。</p>



<p><a href="http://www.vim.org/scripts/script.php?script_id=3252">L9 &#8211; Vim-script library : vim online</a></p>



<h2 class="wp-block-heading">導入後の設定</h2>



<p>以下が、導入後の設定を極めて分かりやすく紹介してくれている記事。</p>



<p><a href="http://blog.blueblack.net/item_164">autocomplpop.vimでリアルタイムにキーワード補完 &#8211; ナレッジエース</a></p>



<figure class="wp-block-image"><img decoding="async" src="http://lh5.ggpht.com/_JJkNs5Ixl70/TOUynye84cI/AAAAAAAABGE/Bd0gX57VRmM/201011182304.png" alt="autocomplpop.vimでリアルタイムにキーワード補完 - ナレッジエース"/></figure>



<p></p>



<p>以下、リンク先の記事より拝借・抜粋させて頂きます。</p>



<h3 class="wp-block-heading">ポップアップ中でもEnterキーで候補決定しない様に設定</h3>



<p>候補を無視して改行を入力したい場合もあるので、<br />
ポップアップ中のEnterキーで決定しないようにします。<br />
修正箇所は、autoload/acp.vimの192行目付近。</p>


<pre class="wp-block-code"><span><code class="hljs language-xml">if pumvisible()
    " a command to restore to original text and select the first match
    return "\<span class="hljs-tag">&lt;<span class="hljs-name">C-p</span>&gt;</span>"
endif
</code></span></pre>


<p>これだとEnterでポップアップが消えるだけで、その時はまだ改行は挿入されません。<br />
私はこっちのほうが使いやすいのですが、改行を挿入したい場合はvimrcに下記を追記。</p>


<pre class="wp-block-code"><span><code class="hljs language-xml">inoremap <span class="hljs-tag">&lt;<span class="hljs-name">expr</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">CR</span>&gt;</span> pumvisible() ? "\<span class="hljs-tag">&lt;<span class="hljs-name">C-y</span>&gt;</span>\<span class="hljs-tag">&lt;<span class="hljs-name">CR</span>&gt;</span>" : "\<span class="hljs-tag">&lt;<span class="hljs-name">CR</span>&gt;</span>"
</code></span></pre>


<p>他にもTabで候補を巡回する為の設定等も掲載されていましたが、<br />
私は無い方が使いやすかったので、割愛致します。詳しくはリンク先で！</p>



<h2 class="wp-block-heading">『オプション &#8216;omnifunc&#8217; は設定されていません』</h2>



<p>…なんていうエラーが吐かれた場合の対処について。</p>



<p>当方の環境では挿入モードで「&lt;」を入力中に上記のエラーが吐かれました。<br />
omnifuncというのはオムニ補完、つまり入力補完のポップアップの事らしく、<br />
これを設定してあげれば黙るかな？というわけで設定してみました。</p>


<pre class="wp-block-code"><span><code class="hljs language-php">setlocal omnifunc=syntaxcomplete<span class="hljs-comment">#Complete</span>
</code></span></pre>


<p>無事静かになってくれました。<br />
参考：<a href="https://forums.ubuntulinux.jp/viewtopic.php?id=9456">Ubuntu日本語フォーラム / vim autocomplpop エラーについて</a></p>



<h2 class="wp-block-heading">ついでなのでPHPの辞書を突っ込んでおこう</h2>



<p>異常に関数の多いPHPこそ入力補完が役に立ちますね。<br />
辞書ファイルはただ改行で候補を連ねるだけなので、簡単に作成出来ます。</p>



<p>参考：<a href="http://www.asahi-net.or.jp/~wv7y-kmr/memo/vim_php.html">Vim で PHP 関数の辞書を作成する方法についてのメモ</a></p>



<p>上記リンクより抜粋。多謝！<br />
こちらのコードを走らせる事で辞書ファイルを生成出来ます。</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="php"><span class="hljs-meta">&lt;?php</span>
$keywords = <span class="hljs-keyword">array</span>(
    <span class="hljs-string">'if'</span>, <span class="hljs-string">'else'</span>, <span class="hljs-string">'elseif'</span>, <span class="hljs-string">'endif'</span>, <span class="hljs-string">'while'</span>, <span class="hljs-string">'endwhile'</span>, <span class="hljs-string">'do'</span>, <span class="hljs-string">'as'</span>, <span class="hljs-string">'for'</span>, <span class="hljs-string">'endfor'</span>, <span class="hljs-string">'foreach'</span>, <span class="hljs-string">'endforeach'</span>,
    <span class="hljs-string">'break'</span>, <span class="hljs-string">'continue'</span>, <span class="hljs-string">'switch'</span>, <span class="hljs-string">'endswitch'</span>, <span class="hljs-string">'case'</span>, <span class="hljs-string">'default'</span>, <span class="hljs-string">'declare'</span>, <span class="hljs-string">'enddeclare'</span>,
    <span class="hljs-string">'try'</span>, <span class="hljs-string">'catch'</span>, <span class="hljs-string">'return'</span>, <span class="hljs-string">'exit'</span>, <span class="hljs-string">'const'</span>, <span class="hljs-string">'class'</span>, <span class="hljs-string">'function'</span>,
    <span class="hljs-string">'require'</span>, <span class="hljs-string">'include'</span>, <span class="hljs-string">'require_once'</span>, <span class="hljs-string">'include_once'</span>,
    <span class="hljs-string">'abstract'</span>, <span class="hljs-string">'final'</span>, <span class="hljs-string">'interface'</span>, <span class="hljs-string">'private'</span>, <span class="hljs-string">'protected'</span>, <span class="hljs-string">'public'</span>, <span class="hljs-string">'static'</span>,
    <span class="hljs-string">'__LINE__'</span>, <span class="hljs-string">'__FILE__'</span>, <span class="hljs-string">'__DIR__'</span>, <span class="hljs-string">'__FUNCTION__'</span>, <span class="hljs-string">'__CLASS__'</span>, <span class="hljs-string">'__METHOD__'</span>, <span class="hljs-string">'__NAMESPACE__'</span>
);
$functions  = function_exists( <span class="hljs-string">'get_defined_functions'</span>   ) ? get_defined_functions()   : <span class="hljs-keyword">array</span>();
$constants  = function_exists( <span class="hljs-string">'get_defined_constants'</span>   ) ? get_defined_constants()   : <span class="hljs-keyword">array</span>();
$interfaces = function_exists( <span class="hljs-string">'get_declared_interfaces'</span> ) ? get_declared_interfaces() : <span class="hljs-keyword">array</span>();
$classes    = function_exists( <span class="hljs-string">'get_declared_classes'</span>   ) ? get_declared_classes()  : <span class="hljs-keyword">array</span>();

$arrays = array_merge(
    $keywords,
    $functions&#91;<span class="hljs-string">'internal'</span>],
<span class="hljs-comment">//  array_keys( $constants ),   // 定数を補完したい場合はこの行を有効にする</span>
    $interfaces,
    $classes
);
sort( $arrays );
$arrays = array_unique( $arrays );
<span class="hljs-keyword">echo</span> implode( <span class="hljs-string">"\n"</span>, $arrays );
</span></code></span></pre>


<p>生成した辞書ファイルをvimrcで登録しておけば完了です。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">autocmd FileType php :<span class="hljs-keyword">set</span> dictionary=~/.vim/dict/php.dict
</code></span></pre>


<p>Windowsの場合は下記のような感じ。<br />
&#8220;$VIM&#8221;はgVim.exeがインストールされているパスです。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">autocmd FileType php :<span class="hljs-keyword">set</span> dictionary=$VIM/vimfiles/dict/php.dict
</code></span></pre>


<p>辞書は必要に応じて追加していきましょう。<br />
ActionScriptなんかも欲しいなぁ…</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>ひとまずこんな感じで、Win/Linux共にまともに動いてくれています。<br />
オムニ補完はバッファの中身のみならず、<br />
辞書を設定しておけば辞書内からも候補を表示してくれる優れもの。<br />
Linxではパスの入力もこれでかなり楽になりますね。</p>



<p>ノートでのコーディングがとても快適になりました！すごいやVim！</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
