Next: , Previous: , Up: 目次   [Index]


設定の變更

*usr_05.txt*	For Vim バージョン 8.1.  Last change: 2019 May 23

		     VIM USER MANUAL - by Bram Moolenaar

			      設定の變更

あなたの望みどほりに Vim をチューニングできます。本章では、好みの設定で Vim を起動する方法を說明します。Vim にプラグインを追加して機能擴張したり、自分でマクロを定義する方法も說明します。

|05.1|vimrc ファイル
|05.2|見本 vimrc ファイルの解說
|05.3|defaults.vim ファイルの解說
|05.4|簡單なマップ
|05.5|パッケージの追加
|05.6|プラグインの追加
|05.7|ヘルプファイルの追加
|05.8|オプションウィンドウ
|05.9|よく使ふオプション

vimrc ファイル

よく使ふコマンドを入力するのが面倒に感じたことがあるでせう。好みのオプションやマップを設定した狀態で Vim を起動するには、vimrc といふファイルに設定を書いてください。そのファイルに書いたコマンドは、Vim が起動するときに實行されます。

すでに vimrc ファイルがある場合 (例へばシステム管理者が設置した場合など) は、次のコマンドでそのファイルを開くことができます:

:edit $MYVIMRC

vimrc ファイルがまだない場合は |vimrc| を參照して vimrc ファイルを作成する場所を確認してください。":version" コマンドで表示される "ユーザー vimrc" の表示を見て確認することもできます。

Unix と Macintosh ではこのファイルを使つてください。

~/.vimrc

MS-DOS と MS-Windows では次のどちらかです。

$HOME/_vimrc
$VIM/_vimrc

あなたがはじめて vimrc ファイルを作成するのなら、ファイルの一行目に次の行を書くことを薦めます:

source $VIMRUNTIME/defaults.vim

これは (Vi ユーザーとは對照的な) 新規ユーザーのために Vim を初期化します。詳細は |defaults.vim| を參照してください。

vimrc ファイルには、コロン (‘:’) を押してから入力するコマンドなら、どのコマンドでも書くことができます。一番わかりやすいのはオプション設定です。例へば、每囘 ’incsearch’ オプションをオンに設定したい場合は、vimrc ファイルに次の 1 行を加へます。

set incsearch

この新しい行を有效にするには、Vim を終了し、再起動する必要があります。再起動しないで設定を反映する方法は後で說明します。

この章では、ごく基本的な項目だけを說明します。Vim script のより詳しい情報については |usr_41.txt| を參照してください。

見本 vimrc ファイルの解說

第一章では、Vim の配布物に附屬の見本 vimrc ファイルを使つて、非互換モード (|not-compatible|參照) で Vim を起動する方法を說明しました。見本 vimrc ファイルは次のディレクトリにあります:

$VIMRUNTIME/vimrc_example.vim

この節では、このファイルで使はれてゐるコマンドを說明します。自分用の設定をするときの參考にしてください。しかし、全てを說明するわけではないので、詳しいことは ":help" コマンドで調べてください。

" ほとんどのユーザーが望むデフォルトを取得する
source $VIMRUNTIME/defaults.vim

これは、$VIMRUNTIME ディレクトリにある "defaults.vim" ファイルをロードします。これは、ほとんどのユーザーが好むやうに Vim を設定します。あなたがさうでない少數のうちの 1 人であるならば、この行をコメントアウトしてください。以下にコマンドについて說明します: |defaults.vim-explained|

if has("vms")
  set nobackup
else
  set backup
  if has('persistent_undo')
    set undofile
  endif
endif

これは、上書きするときにファイルのバックアップコピーを保存するやうに Vim に指示します。しかし、VMS システムではさうではありません。古いバージョンのファイルをすでに保持してゐるからです。バックアップファイルは元のファイルと同じ名前で "~" が追加されます。|07.4| を參照してください。

可能であれば、’undofile’ オプションも設定します。これはマルチレベルのアンドゥ情報をファイルに保存します。その結果、あなたがファイルを變更して Vim を終了し、そして再びそのファイルを編輯するとき、あなたは以前におこなはれた變更を元に戾すことができます。ファイルを保存するといふ犧牲を拂つて、それは非常に强力で便利な機能です。詳しくは |undo-persistence| を參照してください。

"if" コマンドは、ある條件が滿たされたときだけオプションを設定するのに非常に役に立ちます。詳しくは |usr_41.txt| を參照ください。

if &t_Co > 2 || has("gui_running")
  set hlsearch
endif

これは ’hlsearch’ オプションをオンにして、最後に使用された檢索パターンをハイライトするやうにVimに指示します。

augroup vimrcEx
  au!
  autocmd FileType text setlocal textwidth=78
augroup END

これは Vim がテキストを改行して行が 78 文字を超えないやうにします。ただし、プレーンテキストとして檢出されたファイルに對してのみです。ここには實際には2つの部分があります。"autocmd FileType text" は自動コマンドです。 これは、ファイルタイプが "text" に設定されてゐるとき、後續のコマンドが自動的に實行されることを定義します。"setlocal textwidth=78" は ’textwidth’ オプションを78に設定しますが、1 つのファイル內でローカルにのみです。

"augroup vimrcEx" と "augroup END" を含むラッパーは、"au!" を使つて自動コマンドを削除することを可能にします。コマンド。|:augroup| を參照してください。

if has('syntax') && has('eval')
  packadd! matchit
endif

必要な機能が利用できる場合、"matchit" プラグインをロードします。それは |%| コマンドをより强力にします。これは |matchit-install| で說明されてゐます。

05.3 defaults.vim ファイルの解說

|defaults.vim| ファイルは、ユーザーが vimrc ファイルを持つてゐないときにロードされます。 新しい vimrc ファイルを作成するときは、それを使ひ續けるためにこの行を先頭近くに追加します:

source $VIMRUNTIME/defaults.vim

または、上で說明したやうに vimrc_example.vim ファイルを使用してください。

以下に defaults.vim がしてゐることを說明します。

if exists('skip_defaults_vim')
  finish
endif

defaults.vim の讀み込みは、次のコマンドで無效にできます:

let skip_defaults_vim = 1

これはシステムの vimrc ファイルで行はなければなりません。|system-vimrc| を參照してください。あなたがユーザー vimrc を持つてゐるなら、defaults.vim は自動的にロードされないので、これは必要ではありません。

set nocompatible

第一章で述べたやうに、このマニュアルでは「Vim」について說明してゐるので、Vi とは完全に互換性がない部分があります。ここに書かれたやうに動作させるには、’compatible’ オプションをオフに設定する、すなはち ’nocompatible’ にする必要があります。

set backspace=indent,eol,start

插入モードで <BS> を使つて削除できる文字を指定してゐます。コンマで區切られた 3 つの部分はそれぞれ次の文字の削除を許可してゐます。’backspace’ を參照してください。

indent行頭の空白
eol改行
start插入モード開始位置より手前の文字
set history=200

コマンドを 200 個分、檢索パターンを 200 個分、ヒストリ(履歷)として殘します。記錄の容量を增減したいときはこの値を變更してください。’history’ を參照してください。

set ruler

現在のカーソル位置(行、桁)を Vim ウィンドウの右下に常に表示します。’ruler’ を參照してください。

set showcmd

入力途中の (まだ實行してゐない) コマンドを Vim ウィンドウの右下 (rulerの左側) に表示します。例へば、"2f" と入力したとき、Vim は檢索文字の入力を待つてゐて、畫面の右下には "2f" と表示されます。次に "w" と入力すると、"2fw" といふコマンドが完成するので、それが實行され、畫面の "2f" といふ表示も消去されます。

+-------------------------------------------------+
|text in the Vim window                           |
|~                                                |
|~                                                |
|-- VISUAL --                   2f     43,8   17% |
+-------------------------------------------------+
 ^^^^^^^^^^^                  ^^^^^^^^ ^^^^^^^^^^
  'showmode'                 'showcmd'  'ruler'
set wildmenu

補完候補をステータス行に表示します。それは <Tab> をタイプしたときで、複數の一致があるときです。’wildmenu’ を參照してください。

set ttimeout
set ttimeoutlen=100

これにより、Esc キーを押した時の效果が早くなります。通常、Vim は Esc がエスケープシーケンスの始まりであるかどうかを確認するために 1 秒待ちます。非常に遲いリモート接續の場合は、數を增やしてください。’ttimeout’ を參照してください。

set display=truncate

最後の行が切り捨てられる場合は、行全體を非表示にするのではなく、@@@ を表示します。’display’ を參照してください。

set incsearch

檢索パターンを入力中に、入力途中のパターンにマッチする文字列を表示します。’incsearch’ を參照してください。

set nrformats-=octal

ゼロで始まる數字を 8 進數として認識しません。’nrformats’ を參照してください。

map Q gq

キーマップを定義してゐます。詳しくは次の節で述べます。ここでは、"gq" オペレータのフォーマット機能を "Q" コマンドとして定義してゐます。"Q" の動作が Vim 4.0 以前と同じになります。實際の "Q" は Ex モードへの移行コマンドですが、おそらく必要ないでせう。

inoremap <C-U> <C-G>u<C-U>

插入モードで CTRL-U を押すと、現在行に入力されてゐるすべてのテキストが削除されます。 最初の改行のアンドゥに CTRL-G u を使用するので、改行を插入した後に CTRL-U でアンドゥすることができます。":iunmap <C-U>" で元に戾します。

if has('mouse')
  set mouse=a
endif

可能であればマウスの使用を有效にします。’mouse’ を參照してください。

vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR>

このマップは、選擇されたテキストをヤンクして、それを C ファイルの中から檢索します。マップを使つてとても難しいことができるといふことが分かつてもらへたと思ひます。とはいつても、實際にコマンドを手入力するのと同じやうに一聯のコマンドを實行してゐるに過ぎません。

syntax on

カラーでファイルをハイライトすることを有效にします。|syntax| を參照してください。

filetype plugin indent on

3 つの便利な機能を有效にしてゐます:

  1. ファイルタイプの檢出 ファイルを開いたときに、そのファイルの種類を特定します。例へば、"main.c" を開いた場合は、擴張子の "‘.c’" を見てファイルタイプは "c" だと判斷します。ファイルの 1 行目が "‘#!/bin/sh’" で始まつてゐた場合は、ファイルタイプは "sh" だと判斷します。檢出されたファイルタイプは構文强調と次の 2 つの項目で使はれます。|filetypes| 參照。
  2. ファイルタイププラグインを使ふ ファイルを開いたときに、ファイルタイプに應じたオプションが設定されます。例へば、"c" ファイルの場合なら自動的にインデントしてくれる ’cindent’ オプションは缺かせないでせう。かういつた、一般的に便利な設定がファイルタイププラグインの中に入つてゐます。自分でプラグインを追加することもできます。|write-filetype-plugin|參照。
  3. インデントファイルを使ふ プログラミング言語のインデントはほとんど自動的に計算できます。Vim にはファイルタイプに應じたインデントルールが數多く用意されてゐます。|:filetype-indent-on| と ’indentexpr’ 參照。
autocmd BufReadPost *
  \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
  \ |   exe "normal! g`\""
  \ | endif

自動コマンドをもう 1 つ。ファイルを讀み込んだ直後に實行される自動コマンドを定義してゐます。後ろのごちゃごちゃした部分は「’" マークが定義されてゐるかどうかをチェックし、定義があればそこにジャンプする」といふ意味です。コマンドを複數行に分けて書くために、行頭に "‘\’" を書いてゐます。行がやたらと長くなるのを防ぐためです。|line-continuation| 參照。"‘\’" は Vim script 內でのみ使へます。コマンドラインで入力するときは使へません。

command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
          \ | wincmd p | diffthis

これは ":DiffOrig" コマンドを追加します。修正されたバッファでロードされたファイルとの違ひを見るためにこれを使つてください。|diff| および |:DiffOrig| を參照してください。

set nolangremap

langmap オプションがマッピングから生じる文字に適用されるのを防ぎます。設定されてゐる場合 (デフォルト)、これはプラグインを壞すかもしれません (でも、それは後方互換です)。’langremap’ を參照してください。

簡單なマップ

マップを使ふと、複數のコマンドを 1 つのキー繰作にまとめることができます。例へば、ある單語を ‘{}’ で圍みたいとします。つまり、"amount" を "{amount}" にしたいわけです。":map" コマンドを使つて、その操作を <F5> キーに割り當てることができます。次のやうに書きます。

:map <F5> i{<Esc>ea}<Esc>

Note:
このコマンドを入力するときの注意點。‘<F5>’ は見たままの 4 文字の文字列として入力してください。‘<Esc>’ も同じです。<Esc> キーを押すのではなく、5 文字の文字列として入力してください。このマニュアルを讀むときはその違ひに注意してください !

この定義を分解してみませう。

<F5>

ファンクションキーの <F5> です。このキーを押すと、定義してあるコマンドが實行されます。

i{<Esc>

"‘{’" 文字を插入し、<Esc> キーで插入モードから拔けます。

e

單語の末尾に移動します。

a}<Esc>

"‘}’" 文字を追加します。

この ":map" コマンドを實行した後は、カーソルを單語の先頭に動かして <F5> キーを押すだけで單語の兩側に ‘{}’ を追加できます。

この例では、コマンドは 1 キーでしたが、どの文字列でも割り當てることができます。ただし、Vim のコマンドと同じ文字列を割り當てると、元のコマンドが使へなくなるので、それは避けた方が無難です。

複數キーを組み合はせるときには、バックスラッシュ(日本語環境では圓記號)がよく使はれます。マップをたくさん定義したい場合は、複數文字を使つてください。例へば、單語を ‘()’ で圍むには "\p" で、單語を ‘{}’ で圍むには "\c" で、といつたことができます。

:map \p i(<Esc>ea)<Esc>
:map \c i{<Esc>ea}<Esc>

"‘\’" と "‘p’" はくつつけてください。さうすれば Vim は 2 文字のマップだと認識できます。

引數なしの ":map" コマンドで現在のマップ定義の一覽を表示できます。表示されたマップは、少なくともノーマルモードで使へます。より詳しくは |40.1| 章を參照してください。

パッケージの追加

パッケージとは Vim に追加するファイルの集合です。パッケージには、任意のタイミングで讀み込めるものと、起動時に自動的に讀み込まれるものの2種類があります。

Vim は、數個の任意に讀み込めるパッケージと一緖に配布されてゐます。例へば matchit プラグインです。このプラグインは "%" コマンドを、HTML タグや Vim script の if/else/endif やその他のものにマッチするやうにします。とても便利なのですが後方互換性はありません。それがデフォルトでは無效にされてゐる理由です。

matchit プラグインを使ひ始めるには、以下の行をあなたの vimrc ファイルに追加してください:

packadd! matchit

たつたこれだけです。あとは Vim を再起動するだけで、このプラグインについてのヘルプを見つけられます:

:help matchit

これが動作するのは ‘:packadd‘ でプラグインを讀み込む際に、パッケージのディレクトリを ’runtimepath’ に追加するためです。それによりヘルプファイルを見つけられるやうになります。

パッケージはインターネットの樣々な場所から入手できるでせう。通常それらは壓縮アーカイブかレポジトリの形態を採用してゐるでせう。アーカイブであれば以下のやうなステップでインストールできます:

  1. パッケージディレクトリを作成する:
    mkdir -p ~/.vim/pack/fancy
    

    "fancy" はあなたの好きな名前に變更できます。パッケージを表すのに良いものを使ひませう。

  2. そのディレクトリにアーカイブを解凍しませう。以下はアーカイブ內のトップディレクトリは "‘start’" であると假定してゐます:
    cd ~/.vim/pack/fancy
    unzip /tmp/fancy.zip
    

    アーカイブ展開後のレイアウトが、以下のやうなパスになつてゐなければ、適宜修正してください:

    ~/.vim/pack/fancy/start/fancytext/plugin/fancy.vim
    

    ここの "‘fancytext’" はパッケージ名なので、實際には別の名前になるでせう。

パッケージについてのより詳しい情報は次の項目を參照してください: |packages|

プラグインの追加

プラグインを追加することで機能擴張できます。プラグインといつても、Vim が起動されたときに自動的に讀み込まれるだけの、ただの Vim script ファイルです。ファイルをプラグインディレクトリにコピーするだけで簡單にプラグインを追加できます。 {譯注: |+eval| が有效な場合のみ利用できます}

2 種類のプラグインがあります。

グローバルプラグイン全種類のファイルで使はれるプラグイン
ファイルタイププラグイン特定タイプのファイルでのみ使はれるプラグイン

まづ、グローバルプラグインについて說明し、次にファイルタイププラグインの說明 |add-filetype-plugin| をします。

グローバルプラグイン

Vim を起動すると、自動的にいくつものグローバルプラグインがロードされます。特に何もしなくて大丈夫です。グローバルプラグインは、ほとんどの人が欲しいと思ふだらう機能を提供してゐます。それらの機能は Vim の中にコンパイルして組み込まれてゐるのではなく、Vim script として實裝されてゐます。ヘルプの目次にプラグインの一覽があります |standard-plugin-list|。|load-plugins| も參照してください。

グローバルプラグインを追加すると、いつでもその機能を使へるやうになります。グローバルプラグインを追加するのは簡單です。

グローバルプラグインを入手する

プラグインはどこにありますか?

いくつかのプラグインは vimball アーカイブで配布されてゐます。|vimball| 參照。いくつかのプラグインは自動更新可能です。|getscript| 參照。

グローバルプラグインを使ふ

まづ、プラグイン自身のドキュメントを讀んで、動作條件を確認してください。次にそれをプラグインディレクトリにコピーします。

systemplugin directory
Unix~/.vim/plugin/
PC や OS/2$HOME/vimfiles/plugin か $VIM/vimfiles/plugin
Amigas:vimfiles/plugin
Macintosh$VIM:vimfiles:plugin
Mac OS X~/.vim/plugin/
RISC-OSChoices:vimfiles.plugin

Unix の場合の例 (プラグインディレクトリがまだない場合)

mkdir ~/.vim
mkdir ~/.vim/plugin
cp /tmp/yourplugin.vim ~/.vim/plugin

これだけです。もうこのプラグインで定義されたコマンドが使へます。

plugin/ ディレクトリ以下にファイルを置く代はりに、それらのファイルを plugin/ ディレクトリ以下のサブディレクトリに置くこともできます。例へば、Perl 用のプラグインを "~/.vim/plugin/perl/*.vim" に置いたりできます。

ファイルタイププラグイン

Vim の配布パッケージにはたくさんのファイルタイププラグインが入つてゐます。次のコマンドで利用開始できます。

:filetype plugin on

これだけです。|vimrc-filetype|も參照してください。

使ひたいファイルタイププラグインがない場合や、標準より良いものを見つけた場合は追加することもできます。ファイルタイププラグインの追加は次の手順で行ひます:

ファイルタイププラグインを入手する

ファイルタイププラグインもグローバルプラグインと同じ方法で入手できます。プラグインの種類が記載されてゐるのでそれを見て、そのプラグインがグローバルプラグインかファイルタイププラグインか確認してください。$VIMRUNTIME/macros に入つてゐるのはグローバルプラグインです。$VIMRUNTIME/ftplugin に入つてゐるのはファイルタイププラグインです。

ファイルタイププラグインを使ふ

ファイルタイププラグインは正しいディレクトリにコピーするだけで追加できます。ディレクトリの場所はグローバルプラグインと同じですが、ディレクトリ名の最後の部分が "ftplugin" となります。例へば "stuff" ファイルタイプ用のプラグインを Unix システムに入れるとしませう。入手したファイルを次のコマンドで ftplugin ディレクトリに移します:

mv thefile ~/.vim/ftplugin/stuff.vim

そのファイルがすでにある場合は、既存のプラグインと追加しようとしてゐるプラグインを同時に使つても問題ないかどうか確認してください。問題がなければ別の名前に變へませう:

mv thefile ~/.vim/ftplugin/stuff_too.vim

アンダースコアはファイルタイプの名前とそれ以外を區切るのに使ひます。アンダースコア以降はどんな文字列でも構ひません。しかし、"otherstuff.vim" といつた名前にした場合はうまく動きません。そのファイルは "‘otherstuff’" といふファイルタイプのときにだけロードされます。

MS-DOS では長いファイル名が使へません。プラグインを追加するときに、ファイルタイプ名が 6 文字以上だと問題が生じます。さういふときはさらにディレクトリを掘つてください:

mkdir $VIM/vimfiles/ftplugin/fortran
copy thefile $VIM/vimfiles/ftplugin/fortran/too.vim

ファイルタイププラグインの名前付けルールは次の通りです:

ftplugin/<filetype>.vim
ftplugin/<filetype>_<name>.vim
ftplugin/<filetype>/<name>.vim

"<name>" の部分はどんな文字列でも構ひません。以下は Unix での "stuff" ファイルタイプの例です:

~/.vim/ftplugin/stuff.vim
~/.vim/ftplugin/stuff_def.vim
~/.vim/ftplugin/stuff/header.vim

<filetype> の部分はプラグインの對象になつてゐるファイルタイプ名です。同じファイルタイプのファイルだけがそのプラグインを使ひます。<name> の部分は無視されます。1 つのファイルタイプに複數のプラグインを登錄する場合に使つてください。

Note:
ファイルの擴張子は必ず ".vim" にしてください。

詳しくは以下を參照してください:

|filetype-plugins|ファイルタイププラグインについてのドキュメントと、マップで問題が發生した場合の對處方法。
|load-plugins|起動時にロードされるグローバルプラグイン。
|ftplugin-overrule|標準のファイルタイププラグインの設定を上書きする。
|write-plugin|プラグインスクリプトの書き方。
|plugin-details|プラグインの使ひ方やプラグインが動かない場合についての詳細な情報。
|new-filetype|新しいファイルタイプを追加するには。

ヘルプファイルの追加

運が良ければ、プラグインにはヘルプファイルが添付されてゐます。ここでは、ヘルプファイルのインストール方法を說明します。 インストールしておけば新しいプラグインのヘルプを簡單に調べることができます。

"doit.vim" プラグインを例にやつてみませう。このプラグインにはヘルプ "doit.txt" が附屬してゐます。最初にプラグイン本體を適切なディレクトリにコピーしませう。(ディレクトリがすでにある場合は、"mkdir" コマンドを省略してください。)

:!mkdir ~/.vim
:!mkdir ~/.vim/plugin
:!cp /tmp/doit.vim ~/.vim/plugin

"cp" は Unix のコマンドです。MS-DOS では "copy" を使つてください。

次に ’runtimepath’ のいづれかのディレクトリに "doc" ディレクトリを作ります。

:!mkdir ~/.vim/doc

"doc" ディレクトリにヘルプファイルをコピーします。

:!cp /tmp/doit.txt ~/.vim/doc

續いて、新しいヘルプファイルの項目にジャンプできるやうに仕掛けをします。|:helptags| コマンドを使つてタグファイルを生成してください。

:helptags ~/.vim/doc

さて、これで次のコマンドが使へます。

:help doit

これは上で追加したヘルプファイルの中から "doit" のヘルプを探すコマンドです。次のコマンドでローカルヘルプの目次を見ることができます。

:help local-additions

ここには、インストールしたローカルヘルプのタイトルが自動的に追加されます。ここを見れば、どんなローカルヘルプが追加されてゐるかわかります。ここからタグジャンプもできます。

ローカルヘルプファイルの書き方については |write-local-help| を參照してください。

オプションウィンドウ

何かのオプションを探してゐるなら、ヘルプファイル |options| から見つけることができるでせう。もう 1 つ、次のコマンドを使ふ方法もあります:

:options

新しいウィンドウが開き、1 行解說付きのオプションの一覽が表示されます。オプションは種類別にグループ化されてゐます。カーソルを目次の上に動かして <Enter> を押すとそこにジャンプできます。もう一度 <Enter> を押すか、CTRL-O を押すと戾れます。

その場でオプションの値を設定できます。例へば、"displaying text" グループに移動し、カーソルを次の行まで持つていきます:

set wrap    nowrap

ここで <Enter> を押すと、表示が次のやうになります:

set nowrap  wrap

このオプションはオフになりました。

この行の上には ’wrap’ オプションの簡單な說明があります。說明のところにカーソルを動かして、<Enter> を押すと、’wrap’ オプションのヘルプにジャンプできます。

數値や文字列を引數に取るオプションの場合、値を編輯できます。修正後に <Enter> キーを押すとそれが新しい値として設定されます。例へば、カーソルを次の行まで (’wrap’ の少し上に) 動かしてください。

set so=0

"$" コマンドでカーソルを "0" の上に動かし、"r5" で値を 5 に變更します。<Enter> を押すと、その値が設定されます。カーソルを動かしてみると、畫面の端までカーソルが達する前にスクロールが始まることに氣づくと思ひます。これは ’scrolloff’ オプションのしわざです。ウィンドウの端からのオフセットを設定し、スクロールが開始する位置を指定してゐます。

よく使ふオプション

Vim には本當に大量のオプションがあります。ほとんどのオプションは使ふ機會がないと思ひます。ここでは一部のよく使ふものだけを說明します。これらのオプションにはより詳しいヘルプがあることをお忘れなく。ヘルプを見るには、":help" に續けてアポストロフィで圍んだオプション名を指定してください:

:help 'wrap'

オプションの値がをかしくなつてしまつたら、初期設定に戾すことができます。初期設定に戾すのにはアンパサンド (&) を使ひます:

:set iskeyword&

行の折り曲げの禁止

長い行は、文の全體が見えるやうに、畫面の右端で折り曲げて表示されます。しかしウィンドウの右にはみ出した方が良い場合もあります。その場合は、左右にスクロールして長い行を表示することになります。次のコマンドで折り曲げしないやうになります:

:set nowrap

表示されてゐない領域にカーソルを動かすと自動的にスクロールされます。10 文字ずつスクロールするには、次のやうにします:

:set sidescroll=10

これはファイルの內容には影響しません。表示方法を變更するだけです。

折り返して移動するコマンド

ほとんどの移動コマンドは行頭と行末で移動を停止します。’whichwrap’ オプションでそれを變更できます。次の例では、’whichwrap’ を初期設定に設定してゐます:

:set whichwrap=b,s

ここでは、<BS> キーで行頭から 1 つ上の行の行末へ動くことを許可してゐます。また、<Space> キーで行末から次の行の行頭への移動することを許可してゐます。

カーソルキーの <Left><Right> もこのコマンドで折り返しを許可できます:

:set whichwrap=b,s,<,>

この指定はノーマルモードでのみ有效です。插入モードでも <Left><Right> を許可するには次のやうに指定します:

:set whichwrap=b,s,<,>,[,]

他にもいくつかフラグがあります。詳しくは ’whichwrap’ を參照してください。

TAB を表示する

ファイル中に Tab 文字があつても、それを視認することはできません。Tab 文字が表示されるやうにしませう:

:set list

Tab 文字が ‘^I’ と表示されます。行末には ‘$’ と表示され、通常なら氣づかないやうな、行末の空白もよくわかるやうになります。

これの缺點はファイルに Tab 文字がたくさんあると見づらくなる點です。カラー端末か GUI を使つてゐる場合は、空白と Tab 文字を別の文字に置き換へて强調表示することができます。’listchars’ オプションを使つてください:

:set listchars=tab:>-,trail:-

Tab 文字は全て "‘>---’" と表示され、行末の空白は "‘-’" と表示されます。この方がずつとイイと思ひませんか?

キーワード

iskeyword’ オプションは單語に使へる文字を定義してゐます:

:set iskeyword
iskeyword=@,48-57,_,192-255

"‘@’" は「すべてのアルファベット」を表してゐます。"48-57" は ASCII コード の 48 から 57 までの文字、つまり "0" から "9" までの數字を表してゐます。"192-255" は印字可能なラテン文字です。

例へば、"upper-case" を 1 つの單語と扱つて欲しい場合は、"-" をキーワードに追加します。次のやうに設定してください:

:set iskeyword+=-
:set iskeyword
iskeyword=@,48-57,_,192-255,-

新しい設定をみると、"‘-’" の直前に "‘,’" が自動的に追加されてゐます。キーワードから文字を削除するには "-=" を使ひます。アンダースコアを削除するには次のやうにします:

:set iskeyword-=_
:set iskeyword
iskeyword=@,48-57,192-255,-

"‘_’" を削除すると "‘,’" も自動的に削除されました。

メッセージ行

初期設定では、最下段の 1 行がメッセージの表示に使はれます。メッセージが長いときは、メッセージを切り詰めて一部だけ表示するか、メッセージをスクロールして表示し、最後に <Enter> を押してもらふかのどちらかです。

メッセージの表示に使ふ行數は ’cmdheight’ オプションで設定できます:

:set cmdheight=3

編輯畫面が狹くなつてしまふので、ほどほどの値を設定してください。


Next: , Previous: , Up: 目次   [Index]