QFixHowm - インストール
ダウンロード
QFixHowm Ver.3
https://github.com/fuenor/qfixhowm/archive/master.zip
qfixhowm-master.zipを解凍します。
解凍後にqfixhowm-masterというディレクトリが作成されます。
このqfixhowm-masterディレクトリを適当な場所へコピーしてruntimepathを通してやればよいのですが、以降 c:/temp に解凍してqfixhowm-masterをqfixappにリネームし、 c:/temp/qfixapp が作成されたとして解説しますのでパスは環境に合わせて読み替えてください。
qfixapp には「QFixGrep」と同名のファイル(mygrep.vim, myqfix.vim)も同梱されていますので、すでにQFixGrep(プレビュー&絞り込み検索付きgrepヘルパー)を導入されている場合は、同じ場所に上書きしてください。
インストールと .vimrcの設定
_vimrc (linuxでは.vimrc) に設定を追加します。
動作に最低限必要なのはruntimepathを通すことだけですが、メモファイルの保存場所、メモファイル名、メモファイルのファイルエンコーディング、、メモファイルのファイルフォーマット(改行コード)ぐらいは設定しておいた方がよいでしょう。
Windowsの設定例
" qfixappにruntimepathを通す(パスは環境に合わせてください)
set runtimepath+=c:/temp/qfixapp
" キーマップリーダー
let QFixHowm_Key = 'g'
" howm_dirはファイルを保存したいディレクトリを設定
let howm_dir = 'c:/howm'
let howm_filename = '%Y/%m/%Y-%m-%d-%H%M%S.txt'
let howm_fileencoding = 'cp932'
let howm_fileformat = 'dos'
- howm_fileencoding は基本的に cp932 を指定してください。
- utf-8 で使用(検索)するためには後述する外部grepを用意するかagrep.vimを使用する必要があります。
- Windowsでhowm_fileencodingをutf-8に設定した場合、howmファイルをメモ帳では絶対にいじらないで下さい。
- メモ帳でutf-8のファイルを保存すると強制的にBOMを埋め込むため、ファイルの最初の一文字が外部grepで検索できなくなる事があります。
(重要)
もしfileencodings
を設定していない場合(UTF-8のファイルを開いて文字化けする場合)は以下を追加してください。
「Sche-Hd-0000-00-00-000000.utf8」を開いてみて文字化けしていないなら不要です。
fileformats
は必須ではありませんが設定しておいたほうが良いでしょう。
" fileencoding判定
set fileencodings=ucs-bom,utf-8,iso-2022-jp,euc-jp,cp932,utf-16le,utf-16,default
set fileformats=dos,unix,mac
もしうまくいかない場合は以下を試してみてください。
" fileencoding判定
set fileencodings=ucs-bom,utf-8,sjis,utf-16le,utf-16,default
Linux/Macの設定例
" qfixappにruntimepathを通す(パスは環境に合わせてください)
set runtimepath+=~/path/to/qfixapp
" キーマップリーダー
let QFixHowm_Key = 'g'
" howm_dirはファイルを保存したいディレクトリを設定
let howm_dir = '~/howm'
let howm_filename = '%Y/%m/%Y-%m-%d-%H%M%S.txt'
let howm_fileencoding = 'utf-8'
let howm_fileformat = 'unix'
- grepが動作しない場合があるようなので Linux、Macの場合は howm_dirにシンボリックリンクを指定せず、実ディレクトリを指定して下さい。
- android/iOSの場合は「android / iOS」も参照してください。
(注意事項)
- syntax表示(色分け)には .vimrcで syntax on を設定してやる必要もあります。
- GVimでのみ使用する場合も _gvimrc(linuxでは .gvimrc)ではなく _vimrc(.vimrc) でないと動作しません。
- 必要なら if has('gui_running') で切り分けて下さい。
- howm_filenameは実行時にstrftime()で %Y(年) %m(月) %d(日) %H(時) %M(分) %S(秒) が変換されます。
- その他の英数字はそのまま使用されます。
後述しますが、個人的には以下を追加設定しておくのをおすすめします。
" キーコードやマッピングされたキー列が完了するのを待つ時間(ミリ秒)
set timeout timeoutlen=3000 ttimeoutlen=100
" プレビューや絞り込みをQuickFix/ロケーションリストの両方で有効化(デフォルト:2)
let QFixWin_EnableMode = 1
メモの書式
デフォルトではメモのファイルタイプは howm_memo
です。
howm_memoファイルタイプにはなにも設定されていないのでsyntax/howm_memo.vimに好みのシンタックスハイライトを作成してください。
面倒な場合は既存のファイルタイプかqfix_memo
ファイルタイプが使用できます。
qfix_memo
qfix_memo
ファイルタイプには主なmarkdown記法とアウトライン機能が追加されています。
書式にqfix_memoファイルタイプを使用するにはVimの設定ファイルに以下を追加します。
" QFixHowmのファイルタイプ
let QFixHowm_FileType = 'qfix_memo'
既存のファイルタイプ(markdown)
VimのMarkdownとして使用するにはVimの設定ファイルに以下を追加します。
" QFixHowmのファイルタイプ
let QFixHowm_FileType = 'markdown'
Markdownの場合はタイトル記号を # に設定するとQFixHowmのバッファを完全にmarkdownバッファとして扱えるようになります。
" タイトル記号を # に変更する
let QFixHowm_Title = '#'
QuickFixウィンドウのプレビューや絞り込み
デフォルトではQuickFixウィンドウを使用する他のプラグイン等と相性問題を起こさせないため、QuickFixウィンドウでのプレ ビューや絞り込みは有効にしていません。
最初はとりあえず有効にしておいて、他のプラグイン等との併用でなにか問題が起きたら無効化するのをおすすめします。
" QuickFixウィンドウでもプレビューや絞り込みを有効化
let QFixWin_EnableMode = 1
" QFixHowm/QFixGrepの結果表示にロケーションリストを使用する/しない
let QFix_UseLocationList = 1
上記の設定では:makeの結果をQuickFixウィンドウでプレビュー表示を行い、同時にQFixGrepで検索した結果やQFixHowmのメモをロケーションリストに表示して参照したりできます。
問題が起きた場合は、この設定を削除するか適切に変更してください。
詳しい解説は以下にあります。
QFixHowm/QFixGrepでもQuickfFixウィンドウを使用したい場合は以下を設定してください。
" QuickFixウィンドウでもプレビューや絞り込みを有効化
let QFixWin_EnableMode = 1
" QFixHowm/QFixGrepの結果表示にロケーションリストを使用する/しない
let QFix_UseLocationList = 0
マッピングされたキーの待ち時間
QFixHowmのコマンドは g,c など3ストロークが基本になるので、キー完了待ち時間を長くしたほうが良いかもしれません。
" キーコードやマッピングされたキー列が完了するのを待つ時間(ミリ秒)
set timeout timeoutlen=3000 ttimeoutlen=100
詳しくは :help timeoutlenを参照してください。
Windowsのマイドキュメントフォルダについて
Windows のマイドキュメントフォルダは ~/My Documents か $USERPROFILE でアクセスするとユーザ名を考慮しないで済むので便利です。
" マイドキュメントの My Dropboxフォルダに howmフォルダを作るように howm_dir を設定する
let howm_dir = '~/My Documents/My Dropbox/howm'
$USERPROFILE を使用する場合は、なるべく後述する shellslashも設定するようにしてください。
let howm_dir = $USERPROFILE.'/My Documents/My Dropbox/howm'
Windowsと shellslash
Windowsでは パスの区切りに / と¥ の両方が使えるため設定によって異なるパス区切りが混在し、動作に問題が出る場合があります。
このような場合 shellslash を設定してやるとパスに関わる問題が解消される事があります。
set shellslash
QFixGrep、QFixHowmを使用する/しない、とは関係なく shellslash は設定しておいた方が色々問題は起きにくくなるようです。
Vimはunix系のエディタなのでパスの区切りは / で統一する方が他のプラグイン等の動作的にも良いと思います。
なお、shellslash を設定したからといって¥区切りを使用することができなくなるわけではありません。
Kaoriya版のtextwidth
Kaoriya版では vimrc_example.vim をデフォルトで読み込んでいるために txtファイルで折り返し文字数が78に設定されてしまいます。
自動で折り返しをさせたくない場合はtextwidthを再設定するかvimrc_example.vimを無効化してください。
" textwidthの再設定
au Filetype qfix_memo setlocal textwidth=0
vimrc_example.vimの無効化
「Kaoriya版のgvimでプラグインのメニューがおかしくならないようにする」
howm_dirの共有
複数のPCでhowm_dirを共有したい場合は、Dropboxやネットワークドライブ、バージョン管理ツールのリポジトリなどを使って下さい。
日本国外で使用する場合
予定・TODOで扱う時刻はデフォルトではJST(GMT+9)で扱います。
日本国外で使用する場合は QFixHowm_STにGMTとの時差を設定してください。
" GMTとの時差
let QFixHowm_ST = -9
予定・TODO (休日定義ファイル)
日本語環境の場合、自動的にデフォルトの休日定義ファイルが使用されますが、学校や会社の休日等を追加したい場合は以下を参照してください。
ドキュメントについて
メモファイルのデフォルト拡張子が以前は howm だったので、ドキュメントで拡張子が howm であることを前提にした書き方をしている部分が多くあります。
前述した設定例にあるように拡張子は txt にしていると他のツールとの連携で色々便利かと思いますが、ファイルの拡張子は適宜設定したファイル名の拡張子にあわせて読み替えてください。
またドキュメントの一部でVer.2用とVer.3用で分けて書かれていることがありますが Ver.3の場合を参照してください。
違いのある部分は主にファイルタイプ指定で、操作方法はそのままですので最初のうちは気にする必要はありません。
ドキュメントは順次修正しますが、以下をあとで構わないので読んでみてください。
外部grepの設定
Windowsとandroidに関しては外部grepを使用すると検索速度が圧倒的に早くなります。
とにかくQFixHowmを試用してみたい場合は「クイックスタートガイド」へ進んで構わないのですが、可能な限り外部grepを使用するようにしてください。
速度面以外でもWindowsではcp932以外の検索に問題がありますし、androidの場合は端末によってはデフォルト設定で検索が動作しないことがありますので設定しておくことをおすすめします。
- Windowsの場合は以下を参照してください。
- androidの場合は以下を参照してください。
- Linux/Mac/cygwinの場合は次へ進んで下さい。
- 同一ディレクトリにUTF-8とcp932、euc-jpなど異なるエンコーディングのファイルが混在している場合は以下を参照してください。
外部grepの設定が終わったら次へ進んでください。