Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

[Vim] PHPのマニュアルをVimから引けるようにする

$
0
0

はじめに

コードを読んでいてPHPの関数をPHPマニュアルで調べることが多々あると思います。
テキストブラウザのw3mを使用すればVimからPHPマニュアルを参照できます。
local環境であればw3mをインストールすることが可能ですが、DEV環境やSTG環境、本番環境では権限がなくてw3mをインストールすることができないと思います。
Vimはdocを参照する機能を持っています。
ですので、PHPマニュアルをtxtファイルに変換して.vimrcでtxtを読み込むように設定してあげればVimからPHPのマニュアルを参照することができます。

やったこと

  1. PHPマニュアルをダウンロード
  2. PHPマニュアルのhtmlファイルをtxtファイルに変換する
  3. runtimepathを設定 (.vimrc)

1. PHPマニュアルをダウンロード

PHPのマニュアルサイトでマニュアルのhtml版をダウンロードすることができますので、ダウンロードしてください。
日本語版は赤枠で囲んだところからダウンロードできます。
php_manual.jpg

2. PHPマニュアルのhtmlファイルをtxtファイルに変換する

次にhtmlファイルをtxtファイルに変換する作業です。
正直やり方は自由だと思います。
私の場合は自分でスクリプトを作成しました。
ここの工程をSkipしたい方は事前に私が変換したものをgit hubにpushしておきましたのでもしよければそちらをご使用ください。
https://github.com/MasaharuSuizu/vim_php_manual_jp

※git hub上で変換用のスクリプトを公開してくれているを見つけましたので、その人のスクリプトを使用しても良いかもしれません。
w3mが必要ですが私の方で動作することは確認しました。
https://github.com/alvan/vim-php-manual

3. runtimepathを設定 (.vimrc)

変換したtxtファイルを任意の場所に置きruntimepathを設定します。
私が設定した例をご紹介します。

# ファイルを置いたディレクトリ ~/.vim/vim_php_manual_jp/doc/$ cd ~/.vim/vim_php_manual_jp/doc/
$ ls -la 
合計 20801
drwxr-xr-x+ 1 MASAHARU MASAHARU      0 1月   8 18:17 .
drwxr-xr-x+ 1 MASAHARU MASAHARU      0 1月   8 18:17 ..
-rwx---r-x  1 MASAHARU MASAHARU   1134 1月   7 22:36 abs.txt
-rwx---r-x  1 MASAHARU MASAHARU   1012 1月   7 22:36 acos.txt
-rwx---r-x  1 MASAHARU MASAHARU   1257 1月   7 22:36 acosh.txt
-rwx---r-x  1 MASAHARU MASAHARU   3684 1月   7 22:36 addcslashes.txt
-rwx---r-x  1 MASAHARU MASAHARU   3796 1月   7 22:36 addslashes.txt
-rwx---r-x  1 MASAHARU MASAHARU   1918 1月   7 22:36 apache-child-terminate.txt
.
.
.
.vimrc
" runtimepathに追加setruntimepath+=~/.vim/vim_php_manual_jp

" helpをword上で<Shift>kで開くようにするsetkeywordprg=:help

docディレクトリはランタイムファイルが検索されるディレクトリ(詳しくはここを参照)
なので、vim_php_manual_jpをruntimepathに設定してあげます。

すると、
ダウンロード.gif

あといちいち:help is_nullなどと打つのが面倒臭いので set keywordprg=:helpも.vimrcに設定してあげるといいかも。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>