ショウジンブログ on Hatena

“お芝居をしないと、この社会では異邦人として扱われるほかない”

Vimのセットアップ

f:id:showjinx:20160721141316j:plain

XSERVERでsshによる接続が出来るようになり、Vimをインストールしました。

が、このままでは私が普段使う環境にないのです。

例えば私は「:E」を使ってファイラー機能を多用するのですが、インストールしたデフォルトの状態ではこの機能は使えません。

*Vi互換モードになっていることが原因です。

Vimの設定ファイルを用意する

Vimは設定ファイルの内容次第で様々にカスタマイズ出来ます。なので、まずはこの設定ファイルを作成します。場所はユーザーホームです。

ここまで、XSERVERを対象として進めてきているので、XSERVERの場合のユーザーフォームは

/home/XSERVERのユーザー名

になります。(格納しているドメインごとのディレクトリがある階層)

.vimrc

設定ファイルの名前は「.vimrc」です。これは決まり事で、勝手な名前はつけられません。

まず「Vi互換モード」の動作をしないよう、設定を追加します。

:set nocp

これでコマンド「:E」が使えるようになりました。ファイラーとして、ディレクトリにある内容(ファイル、ディレクトリ)の一覧を見ることができます。

プラグインを追加する

Vimにはプラグインを追加することが出来ます。これもユーザーのホームディレクトリに「.vim」という専用ディレクトリを作成し、この中に「plugin」ディレクトリを作り、使用するプラグインのファイルを置きます。

*.vimはVimインストール後、起動させるとswpファイルを置くために作成されるので、既にある場合にはそのままでかまいません。

私はそれほどプラグインや細かい設定はしませんが、文字コード関係で必要なものは使用しています。以下がそれですが、これとっても大事、重宝してます。

recognize_charcode.vim
https://github.com/banyan/recognize_charcode.vim

こちらを.vim/pluginディレクトリ内にアップロードすれば、Vimの起動時に読み込まれます。

.vimrcに設定を追加する

シンタックスハイライトやインデントのタブ設定等、自分の使い勝手のいい設定を.vimrcに記述することで使いやすくなります。こういったカスタマイズが出来るところもVimのありがたいところです。

さきほどの.vimrcに私は以下を追記しています。カラースキーマも指定すると格段にコードが読みやすくなり、コーディング作業がしやすくなります。(カラースキーマは自作のものを公開している方もいらっしゃるので、気に入ったものがあれば使うといいでしょう)

私は「desert」がお気に入りです。

Vim Colors http://www.softantenna.com/wp/webservice/vim-colors/

私の.vimrc

:syntax on
:autocmd FileType *      set formatoptions=tcql nocindent comments&
:autocmd FileType c,cpp  set formatoptions=croql cindent comments=sr:/*,mb:*,ex:*/,://
:set nocp
:set number
:set sw=4 ts=4 sts=0
:set shiftwidth=4
:set autoindent
:set autowrite
:ab #d #define
:ab #i #include
:ab #b /********************************************************
:ab #e ^V^H^V^H********************************************************/
:ab #l /*------------------------------------------------------*/
:set notextmode
:set notextauto
:set hlsearch
:set incsearch
:colorscheme desert

""
" GetStatusEx
"
"
function! GetStatusEx()
  let str = ''
  let str = str . '[' . &fileformat . ']'
  if has('multi_byte') && &fileencoding != ''
    let str = '[' . &fenc . ']' . str
  endif
  return str
endfunction
set statusline=%y%{GetStatusEx()}%F%m%r=<%c:%l>