chat-blog

僕の独り言が誰か一人の役に立つことを祈って

*

【解説付き】vimrcのオススメな設定内容を晒すので参考に【小技も】

   

貼り付けるだけで便利になるviエディタの自分の設定について晒しておきます
(自分用のメモとしても)

PR

とっても便利で素敵なおすすめvi(vimrc)の設定

※先頭に”(ダブルコーテーション)がついているものはコメントアウトしているものなので書かなくてもOKです
とりあえず上の内容をコピって貼り付けるだけでも十分イケてるはずなので内容はいちいち見なくてもいいかもです。

それぞれの項目の内容について

“set number

こいつを有効にしておくと、viを開いている間、左側に行番号が表示される。
コーディングしててたまに必要になるのですが、マウスで行全体をコピーしたい時にその番号までもコピーされてしまい嫌なのでデフォでは外している。
もし、viで作業中に行番号みたくなったら、

:set nu

を入力することで行番号が表示されるようになる。
また、
:set nonu

で非表示なる。

set ruler

カーソルが何行目の何列目に置かれているかを表示する。

(有効:ruler/無効:noruler)

まあつけておいて損はないかと。ってレベルです。

set incsearch

/を打ったあとの文字を入力タイミングからリアルタイムで検索してくれる。
僕はこの機能が割りと好きなので有効にしてます。

set hlsearch

検索結果をハイライトして表示してくれる。
いわずも必須オプションかと思われます。

“set nowrap

これが有効だと画面の端っこまで文字がいっても改行してくれません。
僕は文字が見きれて表示されるのが普通に嫌なのでオフってます。
ちょっとした小技ですが、
vim_kowaza

一行がとても長くて改行されてる状態でカーソルが一番左上にあってすぐ下の行に行きたい場合に、
j(下に移動)
を押すと一番下の行まで飛んでしまいますが、
g j (Good Jobじゃないです)
と押すとすぐ下の行に移動できます。

同様にすぐ上の行に移動したいときは、
g k
と押すとすぐ上に移動できます。

set showmatch

対応する括弧を強調して表示してくれます。
プログラム書いてて関数をたくさん書いたりしたときにいちいち確認せずにすみます。
子技ですが、括弧の上にカーソルを置いた状態で、% を押すと対応する括弧までカーソルがジャンプします。お試しあれ。

“set whichwrap=h,l

行頭や、行末でカーソル移動したときに前の行や、次の行にいく設定です。
こいつは個人的にまじでファックなので真っ先にオフにしました。

set wrapscan

文字列を検索してて、一番オシリ(もしくはアタマ)まで検索したときに先頭まで戻って検索するかの設定です。
これは好みが別れるかと思いますが僕は戻って検索してほしいのでwrapscanにしてます。
「いや、最後まで検索したらそこで止めてほしい」という方は、

set nowrapscan

にしておくと良いです。

set ignorecase

文字列の検索時に大文字と小文字を区別しないで検索します。
詳しくは下記に書かれてます。

http://kaworu.jpn.org/kaworu/2010-11-24-1.php

set smartcase

上記のignorecaseと組み合わせて使うことで、
小文字で検索した時は区別しなくなります。ベターな設定ではないでしょうか。
詳しくはry

http://kaworu.jpn.org/kaworu/2010-11-24-1.php

set hidden

viだと複数のテキストファイルを開くとバッファに保存されていて、
切り替えるときに保存していないと切り替えることができないのですが、
この設定を入れることで保存しなくても別のテキストファイルに切り替えることができます。
何言ってるかよくわからないかもしれませんが入れといて損はないですw

set history=2000

過去に打ったviのコマンドをいくつまで保存しておくかの設定です。
:(コロン)を打ったあとに上ボタン押すと履歴を遡れますよね。アレです。
って2000もいらねーよ!!w
(面倒なのでこのままにしてますw)

set autoindent

これ設定してると改行したときに自動で半角スペースを8ついれてくれるそうなんですけど本当に効いてるのかな・・・
ごめんなさいこいつについてはよくわかってないです。

“set expandtab

tabを押した時にtabではなくスペースを入れてくれる設定です。
僕はtabが入っててほしい派なのでコメントアウトしてます。
※この設定を入れてたとしても、
Control + v をおした後にtabを押すことで でtabを入力することができます。これ、小技です。

set tabstop=4

tabをスペースいくつ分にするかの設定です。
とりあえずデフォルトでこうやって設定しておいて、
「インデントが多くなってきて文字が見きれてきちゃったな」
って時には、

:set ts=2

と打てばその場でスペース2つ分に変更可能です。
結構使うので覚えておいて損はないです。

なお、
:set tabstop=2
でもいけます。
(ts=TabStopの略ですね)
※厳密に言うとsofttabstopという設定もあるのですがあまり意識することないです。僕が情弱なだけかもですが。

set shiftwidth=4

これはすごく便利です。
<< や >>を入力したときに挿入されるtabがスペースいくつ分かを設定できます。
例えばshift + v
を押して複数行を選択させた状態で、

>>

っと入力するとそれを一気にインデントすることが可能です。
・・・この設定値が便利というより

>>
の機能が便利なんだということに今気づきました。

set paste

web上のコードをコピーしてviに貼り付けたときに、
なんか変にコメントアウトがついてたり、
やたら勝手にインデントされてしまう時があります。
この設定を入れておくことでそれを防ぐことができます。

以上です。

ちなみに上記はすべてvimrcに書く内容として紹介してますが

例えば、

set paste

とかは普通にvi上で、

:set paste

と打つことで設定することも可能です。

また、

:set nopaste

みたいな感じでnoをつけると無効化することが可能なので覚えておくと便利です。

今日の一言

vimmerを目指す日々ですが調べれば調べるほど、自分はまだまだ初心者なレベルだなって思うくらいvimは奥が深くそして便利です。

スポンサーリンク

スポンサードリンク

スポンサードリンク

最後まで見ていただきありがとうございます。
今後とも頑張って更新していきますのでもしよろしければ
下記お一つでもシェアしていただけると幸甚です。
Facebookでシェア Twitterでシェア はてなブックマーク LINEで送る

 - 技術系

\皆によく読まれてる人気記事/

スポンサーリンクと関連コンテンツ

  関連記事

【へぇ】IT業界でよく見る、rc版、とかga版とはなんぞや

掲題の件について調べてみました。

tar.gzを解凍すると、【tar: 未知の拡張ヘッダキーワード `SCHILY.dev’ を無視】というメッセージが大量にでる件

細かい話は置いといてこれは、Mac端末上でtarで固めて、linuxサーバ上で展 …

【Python】3分でMacをmecabが使える環境に整える

形態素解析とかして色々したくなった(必要になった)ので。

【Zabbix】セットアップ中に、Error connecting to database: No such file or directoryが出たときの対処法

検証でzabbix3.0のインストールをしていて何度かハマったので残しておきます …

no image
wordpressで502 Bad gatewayがでてダッシュボードにログインできなくなった時の備忘録

久しぶりにブログを更新しようと思ったら管理者画面に入れなくなって完全に詰んでたへ …

EC2にSSHで繋いでて「Write failed: Broken pipe」とでて接続が切れるときの対処法

僕はハイボールが好きなのですがなんというか黄金比率はないものかいつも悩んでるブラ …

【python】unlessがないのでnotを使う

僕はperlを書いてて「偽のときだけの処理」を書くときよくunlessを使うので …

知らないと大惨事に・・・DNSのSPFレコードにはincludeできる上限がある件(10回)

意外と情報がなく、知らずに馬鹿みたいにIncludeすると大変なことになるのでメ …

【Ansible】変数内に特定文字列が含まれているか確認して処理を分ける方法

Ansibleのwhen句で使えるmatchによる判定の仕方です。

【Oracle12c】列と列の連結の仕方。エスケープの方法

SQLを書いてて列と列を連結させたいときや、 列と文字列を連結させたいときがある …

※コメントですが僕が確認してからとなるのでだいたい3日後の反映となります。

Message

メールアドレスが公開されることはありません。