しかも CentOS などの vim はあらかじめ .vimrc(vim 用設定ファイル)が用意されており、比較的使いやすい状態だったので、同じような操作感を得るために設定を変更しようと思います。 OpenSolaris の vi は、実は vim にエイリアスされているため、vi とコマンドを打って起動するのは vim です。 しかし、vi 互換モードが有効になっているため、実質の動作は vi になってしまいます。以前、記事に書いた、文字を削除しても、表示上残ってしまう現象は、vi 互換モードのせいだったのですね orz
挿入モードでカーソルキーでの移動ができない vi なんて嫌いなので互換性を断ちます。
互換性を断つには、vimrc に以下の一行を記述します。
set nocompatibleただ、OpenSolaris にはユーザーアカウントごとの .vimrc が用意されていません。なので、自分で作ったりするのですが、実は、サンプルの設定ファイルがあらかじめ用意されているので、それを流用します。
ログインしているユーザーのホームディレクトリで、以下のコマンドを実行してファイルをコピーします。
-bash-3.2# cp /usr/share/vim/vim71/vimrc_example.vim .vimrcこれで、ログインし直せば快適な操作感が得られると思います (^-^)
ついでに自分の場合は、CentOS の .vimrc を参考に、以下の設定を行いました。
- エンコーディングの設定
- 自動インデントの無効
" An example for a vimrc file. " " Maintainer: Bram Moolenaar以上です。お疲れ様でした!" Last change: 2006 Nov 16 " " To use it, copy it to " for Unix and OS/2: ~/.vimrc " for Amiga: s:.vimrc " for MS-DOS and Win32: $VIM\_vimrc " for OpenVMS: sys$login:.vimrc " Setting of character encoding when edited file is preserved. if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" set fileencodings=utf-8,latin1 endif " When started as "evim", evim.vim will already have done these settings. if v:progname =~? "evim" finish endif " Use Vim settings, rather then Vi settings (much better!). " This must be first, because it changes other options as a side effect. set nocompatible " allow backspacing over everything in insert mode set backspace=indent,eol,start if has("vms") set nobackup " do not keep a backup file, use versions instead else set backup " keep a backup file endif set history=50 " keep 50 lines of command line history set ruler " show the cursor position all the time set showcmd " display incomplete commands set incsearch " do incremental searching " For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries " let &guioptions = substitute(&guioptions, "t", "", "g") " Don't use Ex mode, use Q for formatting map Q gq " In many terminal emulators the mouse works just fine, thus enable it. set mouse=a " Switch syntax highlighting on, when the terminal has colors " Also switch on highlighting the last used search pattern. if &t_Co > 2 || has("gui_running") syntax on set hlsearch endif " Only do this part when compiled with support for autocommands. if has("autocmd") " Enable file type detection. " Use the default filetype settings, so that mail gets 'tw' set to 72, " 'cindent' is on in C files, etc. " Also load indent files, to automatically do language-dependent indenting. filetype plugin indent on " Put these in an autocmd group, so that we can delete them easily. augroup vimrcEx au! " For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78 " When editing a file, always jump to the last known cursor position. " Don't do it when the position is invalid or when inside an event handler " (happens when dropping a file on gvim). autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal! g`\"" | \ endif augroup END else " set autoindent " always set autoindenting on endif " has("autocmd") " Convenient command to see the difference between the current buffer and the " file it was loaded from, thus the changes you made. command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis \ | wincmd p | diffthis
参考にしたリンク
コメント