おすすめのシェルとVimの設定を晒す

この投稿は、アイスタイル Advent Calender 2021の18日目の記事です

はじめに

こんにちは!アイスタイル21新卒エンジニアのnakamuraです!
今年もアイスタイルでアドベントカレンダーが行われるということで参加することにしました!

いきなりですが皆さん、近年便利なサービスがたくさん出てきて、GUIに甘えていませんでしょうか…?
CUIのメンテナンスはおろそかにしていませんか…?
(GUIを否定する意図はありません。このブログもバリバリGUIを使って書いてます)
そこで今回は、私のシェルとVimの秘伝のタレ(?)のように継ぎ足した設定を公開しようと思います!

シェルの設定

さて、シェルに関してですが、私はbashシェルではなくzshのほうが好みなので、WSL等を入れた際にまずシェルをzshに変更します。
zshのメリットだな~と思う部分は以下のような点があります
(正直好みなので、お好きなシェルで良いと思います)

・コマンドの補完をしてくれる
・Typoを自動で修正して実行してくれる(時がある)

この、補完を有効にするには、何個か設定を記載する必要があるのですが、
最低限以下のような設定を書けば便利さを体感できると思います。

$ vim ~/.zshrc
# 自動補完を有効にする
autoload -Uz compinit ; compinit
# コマンドミスを修正
setopt correct
# 補完の選択を楽にする
zstyle ':completion:*' menu select

そしてシェルはなんといっても可愛いほうがいいですよね!(๑˃̵ᴗ˂̵)ﻭ>
なので、こんな設定を入れました。

PROMPT='%F{cyan}%n@%m%f:%~
(๑˃̵ᴗ˂̵)ﻭ> '

これらの設定した私のターミナルが以下です。(他の設定も少し入っていますが…)

1つ目は自動で補完が出ていますね!
2つ目は間違えてlsをlcと打ってしまったのですが、「lsですか?」と聞いてくれてます。
3つ目は選択候補が一覧で出てきて、カーソルキーで選択できるようになっています!
とても便利で、日常を少し豊かにしてくれます!(個人差あり)

vimの設定

続いてvimの設定です。
設定ファイルを一つずつ説明…と行きたいところなのですが、
私のvimrcが250行ほどあり、実際のvimの画面を見ていただいたほうが早いと思うので↓に掲載します。

この中でも、「これ設定しておくと便利!」というものを何個かご紹介したいと思います!
(molokaiは別途ファイルのダウンロードが必要です!→ こちら)

 " 行番号を表示
 set number
 " スマートインデント
 set smartindent
 " オートインデント
 set autoindent
 " 上下左右、次の空白まで飛ぶ
 noremap <Leader>h ^
 noremap <Leader>j }
 noremap <Leader>k {
 noremap <Leader>l $
 " ESC押したくない
 inoremap <Leader>e <ESC><CR>
 " カラースキームはmolokai
 syntax on
 colorscheme molokai
 set t_Co=256

また、vimにはプラグインというものが存在しており、そちらも何個か便利だと思うものがあるのでご紹介させていただきます。
(プラグインマネージャ(dein等)が入っている事が前提です→詳しくはこちら等)

  1. NERDTree
    こちらは、自由にvim内でファイルやフォルダを行き来できるツールになります。
    また、ファイル選択時にiやsで選択すると、分割してファイルを開けたりとvim内で完結して作業を行うことができます。

  2. vim-autoclose
    こちらはその名のとおりなのですが、カッコを自動で閉じてくれます。
    地味かもしれないですが便利です。

ここまで私のお気に入りのvimの設定を紹介してきましたが、ここで皆さん一つ思うことがあるかもしれません。
「VScodeで良くない?」
禁句です、vimにはロマンがあるんです。
いや、サーバーで直接作業したいときもありますよね?ね?()
実はこの設定は2015,16年頃から作り始めた設定で、VScodeの台頭により日の目を浴びなくなってしまったのでここで供養してあげたかったのです…
(といってもvimを完全に使わなくなったわけではないので、この設定は現役ですが)

ということで来年は「おすすめのVScodeの設定」でお会いしましょう!!

お読みいただきありがとうございました。

21卒エンジニアの中村です。サンリオが好きです。