Vimwiki : Vimベースの個人用Wiki環境 #4 設定・カスタマイズ
このページでは、Vimwikiの設定・カスタマイズと、操作のマッピングの変更方法について説明します。 「Vimwiki : Vimベースの個人用Wiki環境 #1 インストールから基本的な使い方まで」の続きとなる記事です。 (Windows, Mac)
概要
Vimwiki : Personal Wiki for Vim
http://www.vim.org/scripts/script.php?script_id=2226
このページでは、Vimwikiの設定・カスタマイズと、操作のマッピングの変更方法について説明します。
「 Vimwiki : Vimベースの個人用Wiki環境 #1 インストールから基本的な使い方まで 」の続きとなる記事です。
Wikiごとの設定
Vimwikiでは「g:vimwiki_list」変数で、管理するWikiの数と、それぞれのWikiの設定を管理します。
「g:vimwiki_list」はディクショナリのリストをとり、
リストに入れられたディクショナリの数でWikiの数を、ディクショナリの属性でWikiの設定をコントロールします。
" Wiki 2つの場合の設定例 :let g:vimwiki_list = [{'path':'~/my_site/', 'path_html':'~/public_html/'}, {'path':'~/my_docs/', 'ext':'.mdox'}]
Note
複数のWikiを作成した場合、 複数のWikiの中で、どのWikiを使用するかは「\ws」で決定します。
\ws
ディレクトリ
Wikiページのファイルの置き場所、HTMLファイルの生成先ディレクトリは、「path」「public_html」で設定できます。
" Wikiページファイルのディレクトリ: ~/my_site/ " HTMLファイルの出力先ディレクトリ: ~/public_html/ :let g:vimwiki_list = [{'path':'~/my_site/', 'path_html':'~/public_html/'}]
ファイル名
インデックスページのファイル名、Wikiページの拡張子は「index」「ext」で設定できます。
" インデックスページのファイル名: welcome " Wikiページの拡張子: .viki :let g:vimwiki_list = [{'path':'~/my_site/', 'index':'welcome', 'ext':'.viki'}]
フォールディング
Wikiページを開いた際に、Wikiページのフォールディングを有効な状態にするか、 フォールディングを無効な状態にするかは「folding」で設定します。
" Wikiページのフォールディングを無効にする :let g:vimwiki_list = [{'path':'~/my_site/', 'folding':0}]
デザイン
WikiページをHTMLとして出力する際に使用される、
HTMLページのヘッダ、フッタのテンプレート、スタイルシートを指定できます。
" ヘッダのテンプレート: ~/public_html/header.tpl " フッタのテンプレート: ~/public_html/footer.tpl " 参照するスタイルシート: css/style.css :let g:vimwiki_list = [{'path':'~/my_site/', 'html_header':'~/public_html/header.tpl', 'html_footer':'~/public_html/footer.tpl', 'css_name':'css/style.css'}]
起動時の状態
Vimwikiを開くときに、ウィンドウを分割するか、タブで開くかを設定できます。
" 上下にウィンドウを分割して、Vimwikiを表示する。 :let g:vimwiki_list = [{'path':'~/my_site/', 'gohome':'split'}] " 左右にウィンドウを分割して、Vimwikiを表示する。 :let g:vimwiki_list = [{'path':'~/my_site/', 'gohome':'vsplit'}] " タブを開いて、Vimwikiを表示する。 :let g:vimwiki_list = [{'path':'~/my_site/', 'gohome':'tabe'}]
未作成Wikiページリンクをハイライトする
別のWikiページへのリンクがあり、そのリンク先Wikiページがまだ作られていない場合に、
そのリンクをハイライト表示する機能があります。
デフォルトで有効になっていますが、処理が重くなるので、無効にすることもできます。
" 未作成Wikiページリンクのハイライトを無効にする :let g:vimwiki_list = [{'path':'~/my_site/', 'maxhi':'0'}]
リンク先が無い場合のハイライト表示(↓)を無効にできます。
Vimwiki全体の設定
VimwikiのGUIメニューを有効・無効にする
GUI版Vimエディタで、Vimwikiのメニューを表示するかしないかは、 「g:vimwiki_menu」で制御します。
" 「Vimwiki」メニューを表示しない。 :let g:vimwiki_menu = 0 " 「Vimwiki」メニューを表示する。デフォルト設定。 :let g:vimwiki_menu = 1 " 「Plugin」メニュー以下に「Vimwiki」メニューを表示する。 :let g:vimwiki_menu = 2
マウスの有効化
Vimエディタの設定ファイルで「g:vimwiki_use_mouse」を設定すると、 Vimwikiの一部機能をマウス操作で呼び出せるようになります。
" マウスの機能を有効化 :let g:vimwiki_use_mouse = 1
「g:vimwiki_use_mouse」を設定することで利用できるようになる機能は、下の表の通りです。
操作 | カーソル位置 | 説明 |
---|---|---|
左ダブルクリック | Wikiワード上 | カーソル下のWikiワード用のWikiページに遷移する。 |
Shift-左ダブルクリック | Wikiワード上 | 上下にウィンドウを分割して、カーソル下のWikiワード用のWikiページに遷移する。 |
Control-左ダブルクリック | Wikiワード上 | 左右にウィンドウを分割して、カーソル下のWikiワード用のWikiページに遷移する。 |
右クリック 左クリック | どこでも可 | 遷移元のWikiページに移動する。 |
マッピングの設定
Vimwikiに用意されている機能のマッピングのほとんどは、別のキーに設定できます。
もし、Vimwikiデフォルトのマッピングに不満があるような場合は、
代替のマッピングをVimエディタの設定ファイルに定義してください。
グローバル
" Vimwikiのメインページを開く。 :map <Leader>w <Plug>VimwikiGoHome " Vimwikiのメインページを新しいタブで開く。 :map <Leader>t <Plug>VimwikiTabGoHome " 複数のWikiの中から開くWikiを選択する。 :map <Leader>wq <Plug>VimwikiUISelect
Wikiページローカル
" カーソル下のWikiワード用のWikiページに遷移する。 :map <Leader>wf <Plug>VimwikiFollowWord " 上下にウィンドウを分割して、カーソル下のWikiワード用のWikiページに遷移する。 :map <Leader>we <Plug>VimwikiSplitWord " 左右にウィンドウを分割して、カーソル下のWikiワード用のWikiページに遷移する。 :map <Leader>wq <Plug>VimwikiVSplitWord " 遷移元のWikiページに移動する。 :map <Leader>wb <Plug>VimwikiGoBackWord " Wikiページ上の、後方のWikiワードを検索し、移動する。 :map <Leader>wn <Plug>VimwikiNextWord " Wikiページ上の、前方のWikiワードを検索し、移動する。 :map <Leader>wp <Plug>VimwikiPrevWord " カレントのWikiページを削除します。 :map <Leader>dd <Plug>VimwikiDeleteWord " カレントのWikiページを別の名前に変更します。 :map <Leader>rr <Plug>VimwikiRenameWord " リスト項目をTODO項目にする。TODOリストのチェックをON/OFFする。 :map <leader>tt <Plug>VimwikiToggleListItem
Recent Comments
ありがとうございます!
http://nanasi.jp/articles/howto/editing/visualcursor-endtoend.html · 7 years ago
知りませんでした。有難うございました。
http://nanasi.jp/articles/howto/file/open-with-format.html · 9 years ago
<c-f>1ページ分、下にスクロールする<c-b>1ページ分、上にスクロールする
どっちも逆です。
http://nanasi.jp/articles/howto/user-manual/user-manual-motion.html · 10 years ago
set 使用時に : で閉じるのを忘れて右往左往してました。
http://nanasi.jp/articles/howto/file/modeline.html · 10 years ago
やっぱり日本語の方が早いっす。
http://nanasi.jp/articles/howto/help/help_ja.html · 11 years ago