Pythonを用いてVimを拡張してみよう
翻訳校正:村上雅章・野崎裕子
テキストエディタVimはPythonのスクリプティングもサポートしている。Pythonを使ってVimに独自の機能を追加する方法をご紹介する。
あなたがテキストエディタVimを使っているならば、あらかじめ用意されているその機能の多さと便利さについては既にご存知のことだろう。そして、このエディタに独自の機能を追加しようとしたものの、Vimscript言語の難解さに嫌気が差したことがある人にとっては、VimがPythonのスクリプティングを内部でサポートするようになったということは良いニュースだろう。
以下のコマンドは、あなたの使用しているVimのバージョンが-pythonフラグを指定してコンパイルされたものである場合にのみ動作する。バージョン7.0以降のバイナリ版であればデフォルトでこのフラグが指定されているものの、それよりも古いバージョンでは指定されていない可能性がある。あなたの使用しているVimにPythonがサポートされているかどうかは、以下のコマンドを入力してみれば判る。
:python print "hi"
ステータスバーに「hi」と表示されていれば、OKだ。
ちょっとしたPythonプログラムをその場で使いたいという場合にはPythonコマンドをいつでも用いることができるものの、上記の例からも判るように、その標準出力先はドキュメントではなくステータスバー上となっている。
より複雑なPythonコードを使用するには、コードを関数として組み込んでしまうのが良いだろう。そのための方法にはいくつかあるが、PythonブロックをVimscript関数に組み込むか、Python関数を呼び出すマップもしくはマクロを使用するかのいずれかとなっている。ここでは前者の方法を説明しよう。
ウェブページをダウンロードし、カレントウィンドウに挿入するために、urllibとBeautifulSoupライブラリを用いる関数を記述することにしたい。BeautifulSoupについてあまり知らないという読者の方は、Pythonによるウェブサイトのスクレーピングについて説明しているこのコラムを読んでみてもらいたい。
- 5人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- ホワイトペーパー
- 企画特集
SOA、BPM、SaaS −今、企業に必要なこと
パンデミック対策特集
仮想環境を実現するソリューション特集
集積度も性能も、業界最高水準のブレードPC
中小企業のセキュリティリスクとは?
【徹底対談】運用管理ツールの賢い使い方
そのストレージで仮想化に対応できますか?
今注目の「サジェスト検索」−デモ掲載中
セキュリティ&ユーザ事例【SIer Club】
ロリポップ!がリニューアル
ESBでIT投資の無駄を劇的に解消する
◆エン・ジャパン厳選求人☆毎週更新◆
御社のログ活用しませんか!?
インターネット上の悪意を未然に防ぐには?
ストレージメディア特設サイト開設
- サーバー監視・運用のコストを削減するには
- ■ストレージ容量50%削減保証■
- サービス・ドリヴン・データセンター
- エンタープライズにおけるSUSEの強み
- 話題のタグ
Windows 7はLinuxへの切替が簡単:注目の仮想ディスクフォーマット「VHD」
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――