_images/vim.jpg

10. タブページ

gvim はタブエディター(複数のファイルをタブ切り替えできる)機能があり、下記のコマンドで利用することができます。

コマンド 機能
:tabnew [file] 新しいタブを開く. ファイル名を入力した場合は, そのファイルを開く
:tabclose タブを閉じる(:qなどでも閉じられます)
:tabnext 次のタブに移動する
:tabprevious 前のタブに移動する
:tabfirst 1番目のタブに移動する
:tablast 最後のタブに移動する
:tabonly 現在のタブ以外全てのタブを閉じる
gt 次のタブに移動する. gtの直前に数字をつけると, 数字番目のタブに移動する
gT 一つ前のタブに移動する

タブの切り替え gt は 数値を指定することで何番目のタブか指定することも可能です。

1gt = 一番左のタブ
3gt = 左から三番目のタブ

10.1. ファイル操作

起動時に指定するには

vim -p aaa.txt bbb.txt タブで開く

起動後のコマンドは

コマンド 機能
:tabnew tab でファイルを開く
:tabnext 次のタブへ移動
:tablast 最後のタブへ移動
gt sn 次のタブに切替
gT sp 前のタブに切替

11. プラグイン

所定のpathへプラグインファイル .vim を設置すると自動で読み込まれ機能が使用できるようになります。

設置場所のpathは下記のコマンドで確認が出来ます。

:help runtimepath

でパスを確認します。 Windowsの場合、環境変数 HOME の設定を確認し,なければ設定します。 ※設定したpathのフォルダも適宜作成。

一般的にWindowsであれば

%HOME%/vimfiles/plugin

が設置pathとなります。

また、pathはで新規追加することも可能です。

:set runtimepath+={検索ディレクトリ}

詳しくは、下記参照。 http://nanasi.jp/articles/howto/user-manual/user-manual-user-dir.html

プラグインが読み込まれたかの確認は

:scriptnames

11.1. NeoBundle

実際のPluginのインストールや管理にはNeoBundleを使うのがお勧めです。 使い方は、

1) NeoBundleのインストール
2) .vimrc へNeoBundle設定を追加
3) 入れたいpluginの設定を.vimrc へ追記

で行います。

NeoBundleインストール

$ mkdir -p ~/.vim/bundle
$ git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim

.vimrc 編集

"---------------------------------------------------------------------------
" Start NeoBundle Setting
""---------------------------------------------------------------------------


" bundleで管理するディレクトリを指定
set runtimepath+=~/.vim/bundle/neobundle.vim/


" Required:
call neobundle#begin(expand('~/.vim/bundle/'))

" neobundle自体をneobundleで管理
NeoBundleFetch 'Shougo/neobundle.vim'

NeoBundle 'HybridText'

call neobundle#end()


" Required:
filetype plugin indent on

" 未インストールのプラグインがある場合、インストールするかどうかを尋ねてくれるようにする設定
" 毎回聞かれると邪魔な場合もあるので、この設定は任意です。
NeoBundleCheck

"-------------------------
" End Neobundle Settings.
"-------------------------
上記の NoeBundle ‘HybridText’ の行がプラグインを追加している記述です。
この場所に同じように追記していきます。

12. 小技で使いやすく

12.1. モードを色分けでわかりやすく

" カーソル行を強調表示しない
set nocursorline
" 挿入モードの時のみ、カーソル行をハイライトする
autocmd InsertEnter,InsertLeave * set cursorline!
highlight CursorLine gui=underline guifg=NONE guibg=NONE
highlight CursorLine gui=underline guifg=NONE guibg=GRAY40

12.2. コマンド呼び出し

:! command

で外部コマンドを実行できます。 make をするときなど便利です。

12.3. 改行コードの変更

スクリプトファイルの編集でdoc用ファイルになってしまって問題がおきるなど、doc,mac,unixの文字コード変更をするには

:set fileformat=dos | mac | unix

CRをファイルから除去するには

:%s/^M//g

^M は ctrl+V => ctrl+M で入力できます。

12.4. 文字コードの変更

:set fileencoding=文字コード
:set fenc=文字コード (上のコマンドの短い形式。こちらでも良い。)
:set fileencoding=euc-jp (エンコーディングEUC-JPに変更。)
:set fileencoding=shift_jis (エンコーディングSHIFT_JISに変更。)
:set fileencoding=utf-8 (エンコーディングUTF-8に変更。)
:set fileformat=ファイルフォーマットの種類
:set ff=ファイルフォーマットの種類 (上のコマンドの短い形式。こちらでも良い。)
:set fileformat=dos (改行をWindowsの形式に変更。)
:set fileformat=mac (改行をMacの形式に変更。)
:set fileformat=unix (改行をUnixの形式に変更。)

新規作成で utf-8 に固定したいときは vimrc に以下を追加。

set encoding=utf-8

12.5. 日本語変換をESCで解除

ESCでノーマルモードへ戻るときに自動で日本誤変換を解除

“##### auto fcitx ########### function! Fcitx2en()

let s:input_status = system(“fcitx-remote”) if s:input_status == 2

let l:a = system(“fcitx-remote -c”)

endif

endfunction

set ttimeoutlen=150 “退出插入模式 autocmd InsertLeave * call Fcitx2en() “##### auto fcitx end ######

13. カスタマイズ

13.1. 左右のカーソル移動で行間移動可能にする。

set whichwrap=b,s,<,>,[,]
set encoding=utf-8
set fileencodings=iso-2022-jp,cp932,sjis,euc-jp,utf-8

13.3. unix gvim のフォント設定

デフォルトのフォント設定が気に入らない場合

:set guifont=*

でフォントを試して .gvimrc を編集して

set guifont=Monospace\ 11

のように設定してみましょう。


13.2. linux のデフォルト文字コード

.vimrc に初期設定を加える

set encoding=utf-8
set fileencodings=iso-2022-jp,cp932,sjis,euc-jp,utf-8

13.3. unix gvim のフォント設定

デフォルトのフォント設定が気に入らない場合

:set guifont=*

でフォントを試して .gvimrc を編集して

set guifont=Monospace\ 11

のように設定してみましょう。









end