Vimでシステム開発
将太郎 2008/05/03   |  開発色々
9.多彩なVim 2008/05/03  |  PK:Vim ハイライト マーク

Vimは黒と白だけではない。逆に、非常にカラフルであり、カスタマイズ色も使えます。コンソール上のVimは、コンソールの制限を受け、幾つかの色しか使えないですが、GUIのVimは自分の好みに合わせて様々な色を利用できます。


1.ハイライト

前回にも紹介しましたが、Vimのハイライト機能はファイル・タイプ認識を有効にする必要があります。

filetype plugin indent on

ファイル・タイプ認識を有効にした上、以下の一行をvimrcに追加し、ハイライトを有効にします。

syntax enable

これでデフォルトの色スキーマが適用されました。当然、ほかのスキーマも利用可能です。私の場合、「desert」スキーマを使っています、私のvimrcにこう書いてあります。

colorscheme desert

http://www.vim.org にて様々な色スキーマがあります。http://www.vim.org/scripts/script.php?script_id=625 から、2007年8月までの全てのスキーマをダウンロードできます。好きなスキーマのファイルを~/.vim/color フォルダにコピーするだけでインストール完了。

また、Color Scheme Explorerというプラグインがあります、このプラグインを使ってインストールしたスキーマの配色を簡単にチェックできます。http://www.vim.org/scripts/script.php?script_id=1298 からダウンロード。

また、既存のスキーマをカスタマイズできます。例えば、私はdesert.vimを~/.vim/colorにコピーし、desert_term.vimにリネームし、以下のように編集しました(修正した内容だけ)。

 let colors_name = "desert_term"
hi Normal guifg=#c0c0c0 guibg=#294d4a ctermfg=gray ctermbg=black
......
"Omni menu colors
hi Pmenu guibg=#444444
hi PmenuSel ctermfg=7 ctermbg=4 guibg=#555555 guifg=#ffffff
" Matched brackets
hi MatchParen ctermfg=7 ctermbg=4


コンソールとGUIのVimに異なるスキーマを使いたい場合は、vimrcをこのように設定します。

 " color scheme
if has("gui_running")
    colorscheme desert
else
    colorscheme desert_term
endif


Vimは現在使用中のスキーマを適用したファイルをそのままHTML/XMLに変換できます、変換用コマンドは「:TOhtml」です。詳しくは「:help 2html.vim」。


2.マーク

Eclipseは、「Alt+Shift+O」を押すと、カーソル下の単語をハイライトするマーク機能があります。
Vimの場合はMarkプラグインを使ってこの機能を実装しています。http://www.vim.org/scripts/script.php?script_id=1238 からダウンロードして解凍し、~/.vim/plugin にコピーすればインストールが完了です。

設定について、私のvimrcは以下のように設定しています。

""""""""""""""""""""""""""""""
" mark setting
""""""""""""""""""""""""""""""

nmap <silent> <leader>hl <Plug>MarkSet
vmap <silent> <leader>hl <Plug>MarkSet
nmap <silent> <leader>hh <Plug>MarkClear
vmap <silent> <leader>hh <Plug>MarkClear
nmap <silent> <leader>hr <Plug>MarkRegex
vmap <silent> <leader>hr <Plug>MarkRegex


そうすると、以下のショット・カット・キーを使ってマークします。

,hl Normalモード:カーソル下の単語をマーク
Virsualモード:選択されたテキストをマーク
,hh ハイライト単語上に押せば、該当単語のマークを消す
ハイライト単語以外のところに押せば、全てのマークを消す
,hr 正規表現で検索し、マッチしたテキストをマーク
,* 次のマークへ、「,*」でジャンプした後、「*」だけで次へ進む
,# 前のマークへ、「,#」でジャンプした後、「#」だけで前へ進む


MarkでハイライトしたVimはこのようです。

vim mark


== 関連ヘルプ ==

:help syn-enable
:help :colorscheme
:help :highlight
:help highlight-groups
:help 2html.vim

閲覧  |  コメント  |  目次

 
ヘルプ  |  ご利用規約  |  相互リンク  |  問合せ
リンクはご自由に、問合せはお気軽に
©2007 Uprush