lightline.vimのバッファ履歴表示コンポーネントをかいた リンクを取得 Facebook Twitter Pinterest メール 他のアプリ 3月 13, 2014 この記事は Vim Advent Calendar 2013 103日目の記事になります。 今回はlightline.vimのコンポーネントを作ってみました。 基本的な部分については作者様直々に記事を執筆していらっしゃるのでそちらを参考にしてください。 作者が教える! lightline.vimの設定方法! ~ 初級編 - コンポーネントを作ってみよう 普段Vimを使っていてバッファ一覧が常に見える位置にあるのは何かと便利です。 ちらっと見てから、直ぐに:b2とかで移動できますからね。 ですが、あまり場所を取ってほしくはありません。 それに、ただのバッファ一覧ではなくてVimFilerとかUniteとかのバッファは除外してほしい。 しかも、開いた順に表示したい。 そこでlightline.vimのコンポーネントを書きました。 ぜひ活用してやってください。 また、バグがあれば気軽に教えて下さい。 リンクを取得 Facebook Twitter Pinterest メール 他のアプリ コメント
カーソルキーさん@つかわない インサートモード編 3月 14, 2013 この記事は Vim Advent Calendar 2012 104日目の記事になります。 103日目は@ujihisaさんの unite-build でした。 Vimッ! 使わずにはいられないッ! カーソルキーでエディット? 貧弱貧弱ゥ!! はい、すいません。 というわけで 以前、書いた記事にも似たようなことをチラッと書きましたが、改めてきちんと書きなおしてみます。 Vimmerであればノーマルモードにおいて、息をするよりも簡単にhjkl移動をすることだと思います しかし、インサートモードではどうでしょう? 案外カーソルキーに手を伸ばしがちですね。 私もVimを使い始めたばかりの頃はそうでした。 そもそも、インサートモードにおいてカーソルキーを連打ってしまうくらいの移動ならば <ESC>してノーマルモードで移動すべきだと思います。 Vimは音ゲーでは無いので連打なんてするべきではないのです。 標準では以下のように与えられています。 下の行へ <C-G><C-J> <C-G>j 上の行へ <C-G><C-K> <C-G>k これでは物足りませんね(゜.゜) そこで、この上記に加えるといいであろう設定を列挙します。 <C-A> - 行頭 <C-E> - 行末 <C-F> - 右 <C-B> - 左 noremap! <C-A> <Home> noremap! <C-E> <End> noremap! <C-F> <Right> noremap! <C-B> <Left> noremap! <C-D> <Del> emacsライクに設定しています 私がこの設定にしている理由はMacを常用しているからです。 Macだと結構な割合でemacs移動バインドがテキストボックス内で使えるので案外役に立つのではないでしょうか。 あと、emacsも最低限の動作は覚えておきませんと。 emacsっぽいとか 続きを読む
Android で MIME Type 判別 12月 24, 2011 ちょっとアプリを作っていてかなり悩んだのでメモとして残しておく MIME Typeというのは見たことはあるが、きちんと知らないので調べて見ました MIME 【Multipurpose Internet Mail Extension】 "マイム"と読むらしい 直訳してみれば、"多目的インターネットメール拡張機能"かな? ネットワーク上で動画、音声、画像などのファイルを扱うための規格 RFC2045~2049で規定されている。 拡張子とファイルのデータを関連付けているものらしい " タイプ名/サブタイプ名"のように区切られて表現される 例としては、 text/html text/plain image/jpg application/pdf などなど さて、例えば、AndroidでSDカードにアクセスし適当なファイルを開いた際 どんなファイルか判別したいとする この時にMIMEを読み取り画像か音声かテキストか判別し 他のアプリにIntentを投げようと思います ※12/25追記:以下の方法だと動作しない場合があるので更に下に追記しました。 Android Developerの ここ を参考に //ファイル名からMIMEタイプ取得 public String GetMIMEType(String Path){ //拡張子を取得 String ext=MimeTypeMap.getFileExtensionFromUrl(Path); //小文字に変換 ext=ext.toLowerCase(); //MIME Typeを返す return MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext); } 引数のパスは"/sdcard/Music/xxx.mp3"のように渡しています。 そこからgetFileExtensionFromUrlメソッドを使って、拡張子(mp3)を取得 それをgetMimeTypeFromExtensionメソッドに入れてMIME Typeを呼び出し元に返す getFileExtensionFromUrlとgetMimeTypeF 続きを読む
Vimでカーソル位置などの設定保存 と .vimrc 10月 28, 2012 vimrcを見なおしたら結構おかしいとこがありました… あと、Vimを開いたり閉じたりしまくりますが そのために毎回移動しなおしたり折りたたみを開いたり閉じたりは面倒です そこで以下のように設定しました。 " 設定の保存と復元 autocmd BufWinLeave * silent mkview autocmd BufWinEnter * silent loadview " 2012/10/30 修正 autocmd BufWinLeave ?* silent mkview autocmd BufWinEnter ?* silent loadview 2012/10/30追記 パターンマッチが修正前だと:helpなどにも反応してしまうので修正 Vimには セッション と ビュー というものがあります。 セッションが全ウィンドウとグローバル設定などで、ビューがウィンドウ毎のローカル設定らしいです。 簡単に言うとビュー∈セッションだろうか? 上記設定では、バッファがウィンドウから非表示になる時に発生するBufWinLeaveイベントでmkviewを使いビューを保存します。 同様に、バッファがウィンドウに表示される時に発生するBufWinEnterイベントでloadviewを使いビューを復元します。 viewはファイルごとに作成、保存され標準だと~/.vim/viewに書きだされます。 viewoptiosを設定することで保存と復元をする設定を選べます。 以下、.vimrc いろんなとこを参考にしました。 "-------------------------------------------------------------------------------" " Vim Option By mopp "-------------------------------------------------------------------------------" " viとの互換をオフ set nocompatible " バックアップ作成 set backup set backupdir=$HOME/\.vim_bac 続きを読む
コメント
コメントを投稿