QFixHowm - インストール


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のメモをロケーションリストに表示して参照したりできます。

問題が起きた場合は、この設定を削除するか適切に変更してください。
詳しい解説は以下にあります。
QuickFix/ロケーションリスト

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やネットワークドライブ、バージョン管理ツールのリポジトリなどを使って下さい。
複数のPCでhowmファイルを共有する

予定・TODO (休日定義ファイル)

QFixHowmでは予定・TODOを扱うことができますが、休日関係の処理に休日・祝日定義ファイルが必要です。
適当な場所へコピーしてパスをQFixHowm_HolidayFileへ登録してください。

休日定義ファイル(ファイルエンコーディングはQFixHowmと同じものを使用します)
    " 休日定義ファイル
    let QFixHowm_HolidayFile = 'path/to/Sche-Hd-0000-00-00-000000.txt'
    休日定義ファイルはQFixHowmのアーカイブファイル(qfixhowm.zip)内 misc/holidayにもあります。

    日本国外で使用する場合

    予定・TODOで扱う時刻はデフォルトではJST(GMT+9)で扱います。
    日本国外で使用する場合は QFixHowm_STにGMTとの時差を設定してください。
    " GMTとの時差
    let QFixHowm_ST = -9

    ドキュメントについて

    メモファイルのデフォルト拡張子が以前は howm だったので、ドキュメントで拡張子が howm であることを前提にした書き方をしている部分が多くあります。
    前述した設定例にあるように拡張子は txt にしていると他のツールとの連携で色々便利かと思いますが、ファイルの拡張子は適宜設定したファイル名の拡張子にあわせて読み替えてください。

    またドキュメントの一部でVer.2用とVer.3用で分けて書かれていることがありますが Ver.3の場合を参照してください。
    違いのある部分は主にファイルタイプ指定で、操作方法はそのままですので最初のうちは気にする必要はありません。
    ドキュメントは順次修正しますが、以下をあとで構わないので読んでみてください。
    QFixHowm Ver.3について

    外部grepの設定

    Windowsとandroidに関しては外部grepを使用すると検索速度が圧倒的に早くなります。
    とにかくQFixHowmを試用してみたい場合は「クイックスタートガイド」へ進んで構わないのですが、可能な限り外部grepを使用するようにしてください。

    速度面以外でもWindowsではcp932以外の検索に問題がありますし、androidの場合は端末によってはデフォルト設定で検索が動作しないことがありますので設定しておくことをおすすめします。




    外部grepの設定が終わったら次へ進んでください。
    クイックスタートガイド


    Comments