Vim quickrun.vimで編集中コードの実行結果を表示する方法
スポンサーリンク
このドキュメントの内容は、以下の通りです。
Vim で編集中のコードを実行してみたいときに、どのようにしていますか?C-z で、 vim をバックブラウンドにやって !php を実行し、
fg で vim に戻ってくるとか。
:w したあとに、違うターミナルもしくはScreen/tmuxの他のウィンドウに移動して、!! してる、とか。
いちいち :w して、 :q して php foo.php とかやって、また、vim foo.php
とかやってる不思議ちゃんとかも世の中にはいます。
いちいち、シェル / ターミナルに移動しないで、実行したいし、
実行結果もそのまま残しておきたい、とか思ったりもしますよね。
そこで、 quickrun です。
vim 編集中のコードをショートカットで実行して、その結果を split したウィンドウで表示することができます。
設定
これは、 Bundle で導入する場合です。
.vimrc に下記の設定を加えます。
Bundle 'thinca/vim-quickrun' let g:quickrun_config={'*': {'split': ''}}
vim を起動して、インストールします。
:BundleInstall
使い方
まずは、プログラムを書きます。
vim quickrun.php
<?php echo ':)'; ?> ~ [php]/tmp/quickrun.php[+][euc-jp][unix] <1,5> 全て
この状態で、保存してなくても大丈夫です。
さて、buffer の中身を実行してみましょう。
カレントのバッファを実行するには、ノーマルモードで
\rを実行します。
Vim が split されて、左側の buffer に実行した結果が表示されます。
:) |<?php ~ |echo ':)'; ~ |?> ~ | ~ |~ [quickrun]<ut][euc-jp][unix]<1,1> 全て [php]<php[+][euc-jp][unix]<2,10> 全て
たとえば、こんな壊れた状態 (foreach がちゃんとかけてない) で実行すると
<?php echo ':)'; foreach ?> ~ [php]/tmp/quickrun.php[+][euc-jp][unix] <3,8> 全て
当然、エラーになるわけですが、
quickrun output の buffer に
Parse error: syntax error, unexpected ';', expecting '(' in /tmp/vQ9GWAX/4 on line 4
エラーが表示されるわけです。
引数を1つ指定する。
:QuickRun -args foo
複数の引数を指定して実行する。
:QuickRun -args "foo bar"
実行時間を表示する。
:QuickRun -hook/time/enable 1
文字コード
プログラムが utf-8 で、 \r で実行すると euc-jp の buffer で文字化けせずに表示されました。
設定
quickrun の設定。
デフォルトだと vsplit されるが、split にしたい場合には、
以下の設定をします。
let g:quickrun_config={'*': {'split': ''}}
quickrun のバッファを下に表示したい場合は、以下の設定にします。
let g:quickrun_config={'*': {'split': ''}} set splitbelow
new したときも、同様に新しいバッファが下にできます。
quickrun の buffer を開く場所を指定することが可能です。
set splitbelow | 新しいウィンドウを下に開く |
set splitright | 新しいウィンドウを右に開く |
常に実行時間を表示する。
let g:quickrun_config = {'*': {'hook/time/enable': '1'},}
デモ
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12