Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

わかった気で十分!Vim基本設定

$
0
0

.vimrcに設定しておくと便利な基本設定を、分かった気になれる程度にまとめました。

基本設定

Vim の文字コードを指定する

Vim の内部文字コードを設定する。
バッファの内容はこの文字コードで扱われる。

set encoding=utf-8

ファイル書き込み時の文字コードを指定する

fileencodingを設定すると、バッファの内容がファイルに書き込まれる時の文字コードを指定することができる。
その際、encodingからfileencodingに文字コードの変換が行われる。
そのため、encodingfileencodingの文字コードが同じ場合は、設定しなくてもよい。

set fileencoding-utf-8

ファイル読み込み時の文字コードを指定する

ファイル読み込み時に使用する文字コードを指定する。
fileencodingsencodingの文字コードが違う場合は、encodingの文字コードに変換されてバッファが開かれる。

set fileencodings=utf-8

BOM付きを指定する

UnicodeにはBOM無しBOM付きの2種類がある。BOMはバイトオーダーマーク(byte order mark)の略で、Unicodeで符号化したテキストの先頭に付与される数バイト程度のデータのこと。

set bomb

Vimスクロール時のスピードを速くする

jkキーを押し続けスクロールする時などのスピードを上げる(との噂がある)。一応設定。

set ttyfast

deleteキーを有効にする

Vimでdeleteキーを押すと、^?と出る時の対処法。

set backspace=indent,eol,start

タブを半角スペースに置き換える

インサートモードでTabキー押下時やインデントの際、タブ文字ではなく、半角スペースが挿入されるようになる(ソフトタブという)。

set expandtab

タブ幅を設定する

Pythonをはじめとしたインデント幅がスペース4つ分のコードを書く際は、タブ幅を4つにしておくと、少し幸せになれる。

set tabstop=4

オートインデント時のインデント幅の設定

tabstopと同じ値にしておけばよい。

set shiftwidth=4

ソフトタブのスペース幅の指定

softtabstop<Tab>を押下した時、いくつスペースを挿入するを設定する。値を0にすると、softtabstopの機能はOFFになる。

set softtabstop=0

新しいウィンドウを下に開く

Vimの初期設定では、ウィンドウの分割は、水平分割は上側に新規ウィンドウが表示される。

set splitbelow

新しいウィンドウを右に開く

Vimの初期設定では、ウィンドウの分割は、垂直分割は左側に新規ウィンドウが表示される。

set splitright

スムーズにbuffer切り替える

buffer(ここでは、メモリ上に展開される複数のテキストファイルのこと)を切り替える際、編集中のファイルを保存しなくてもよいように設定(高速移動を実現)。

set hidden

検索結果をハイライトする

逆に、ハイライト表示したくない場合は、set nohlsearch

set hlsearch

インクリメンタルサーチの実現

検索中に文字を打つ際、(その都度)自動的に検索できる。

set incsearch

検索時、大文字と小文字を無視

set ignorecase

検索をより賢く設定

ignorecaseを有効にしている場合に、smartcaseを有効にすると、検索文字列に大文字が入ると、ignorecaseを無効化してスマートに検索できる(大文字、小文字を無視しない)。

全て小文字で検索すると、大文字と小文字は、通常通り(ignorecaseの効果で)、無視して検索される。

set smartcase

バックアップファイルを作成しない

Vimで編集する際、通常、~(チルダ)がファイル名末尾についたバックアップファイルが作成される。それが邪魔であると感じるなら、nobackupを設定する。
重要ファイルを編集する際は、意識的に、編集前にset backupを実行して、バックアップファイルを作成するとよい。

set nobackup

スワップファイルを作成しない

Vimエディタでは、ユーザがオリジナルのファイルから変更した情報やアンドゥ用の情報をswapファイルに格納している。

スワップファイルが作成される場合は、以下二つ。
- 他のVimエディタで同じファイルを編集している
- ファイルを編集している最中にVimエディタがエラーで強制終了した

実際は、緊急時に備えて、noswapfileに設定しないほうがいいかも。。

setnoswapfile

改行コードの自動認識

この設定で、日本語の文字コードを自動判別し、utf-8環境で編集や表示が可能となる。

set fileformats=unix,dos,mac

カーソルの位置を表示する

Vimの最下部のバーの右側にカーソル位置を表示してくれる。
%表示してくれるため、今ファイルのどのあたりにいるかがわかる。

set ruler

行番号を表示する

setnumber

カーソル行の背景色変更

カーソル行(作業箇所)が視覚化できて操作しやすい。

set cursorline

スクロール開始位置を設定

例えば、下記のように、set scrolloff=20と設定している場合、
- 下方向にスクロール時: 画面下端から20行上
- 上方向にスクロール時: 画面上端から20行下
でスクロール開始。

set scrolloff=20

ステータスラインを表示

  • 0: 表示しない
  • 1: 2つ以上ウィンドウがある時だけ表示
  • 2: 常に表示
set laststatus=2

モードラインを有効にする

ファイルにVim特有の記述をしておくことでそのファイルがVimで開かれた時に特定の設定を有効にすることができる。

set modeline

モードラインの検索行数を指定

ファイルの上下の端からmodelinesで指定された行数だけ、モードラインを探しに行く。

set modelines=10

ステータスバーの設定

set statusline=%F         " ファイル名表示
set statusline+=%m        " 変更のチェック表示
set statusline+=%r        " 読み込み専用かどうか表示 
set statusline+=%h        " ヘルプページなら[HELP]と表示
set statusline+=%w\       " プレビューウインドウなら[Prevew]と表示 

内容が変更されたら自動的に再読み込み

set autoread

エラービープ音の停止

set noerrorbells visualbell t_vb=

ヤンクした箇所をクリップボードにコピー

set clipboard+=unnamed

ターミナルでマウスを使用できるようにする

ノーマルモード(n)ビジュアルモード(v)インサートモード(i)コマンドラインモード(c)の4つのモードを全て有効にできるaがお手軽。

set mouse=a

シンタックスハイライトを有効にする

ON にしておくと、ファイルの拡張子で自動で各種キーワードをシンタックスハイライトで表示してくれる。

syntax on

参考


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>