Vim
Linux
vimrc

何百億番煎じかはわからないが、メモ代わりに自分のvimrcを晒す

(2019年6月12日現在)

それだけの記事です

完成時の見た目はこんな感じ

aaa.jpg

はい、本編

ででん!!!!!

" 機能型

"" 互換モードの廃止(要先頭記述)
set nocompatible
"" コマンドの履歴を10000件残す
set history=10000
"" 行を跨いでのカーソル移動を有効にする
set whichwrap=b,s,h,l,<,>,[,]
"" w!!でsudoを忘れても保存
cnoremap w!! w !sudo tee > /dev/null %<CR> :e!<CR>
"" バックスペースの有効化
set backspace=indent,eol,start
"" 左右スクロールは一文字づつ行う
set sidescroll=1
"" 左右スクロール時の視界を確保
set sidescrolloff=8
"" 文字コードの設定
set encoding=utf-8
"" vimのマルチバイトへの対応
scriptencoding utf-8
"" 保存時の文字コード
set fileencoding=utf-8
"" 読み込み時の文字コードの自動判別. 左側が優先される
set fileencodings=ucs-boms,utf-8,euc-jp,cp932
"" 改行コードの自動判別. 左側が優先される
set fileformats=unix,dos,mac
"" NeoVimのインストール確認
if has('vim_starting')
set runtimepath+=~/.vim/bundle/neobundle.vim/
if !isdirectory(expand("~/.vim/bundle/neobundle.vim/"))
echo "install NeoBundle..."
:call system("git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim")
endif
endif
call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'

" プラグインの個別記載
"" カラースキームのmolokaiを導入
NeoBundle 'tomasr/molokai'
"" ステータスラインの情報を強化
NeoBundle 'itchyny/lightline.vim'
"" 末尾のスペースを強調表示
NeoBundle 'bronson/vim-trailing-whitespace'
"" インデントの可視化
NeoBundle 'Yggdroot/indentLine'
"" NeoVimの設定系
call neobundle#end()
filetype plugin indent on
NeoBundleCheck
"" molokaiが存在すれば有効化する
if neobundle#is_installed('molokai')
colorscheme molokai
endif

" 表示系
"" ステータスラインを表示
set laststatus=2
"" カーソル行の背景色を変える
set cursorline
"" 行番号を表示する
set number
"" 上下4行の視界を確保
set scrolloff=4
"" カラーbitの指定
set t_Co=256
"" 括弧入力時の対応する括弧を表示
set showmatch
"" 入力中のコマンドを表示
set showcmd
"" 現在のモードを表示する
set showmode
"" 編集中のファイル名を表示
set title
"" カーソルの位置表示を有効にする
set ruler
"" キャレットの形状変更
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
"" コードの色分け
syntax enable
" □ や○ 文字が崩れる問題を解決
set ambiwidth=double
"" 対応する括弧の強調表示
set showmatch
source $VIMRUNTIME/macros/matchit.vim
"" 長文が表示されなくなる問題の解決
set display=lastline

" 入力補助系
"" オートインデント
set smartindent
"" smartindentで増減する幅
set shiftwidth=4
"" インデントのスペースを設定
set tabstop=4
"" 貼り付け時にインデントを無効化
set paste
"" タブ入力を複数の空白入力に置き換える
set expandtab
"" 連続した空白に対してタブキーやバックスペースキーでカーソルが動く幅
set softtabstop=4
"" ペースト時の自動インデント
if &term =~ "xterm"
let &t_SI .= "\e[?2004h"
let &t_EI .= "\e[?2004l"
let &pastetoggle = "\e[201~"
function XTermPasteBegin(ret)
set paste
return a:ret
endfunction
inoremap <special> <expr> <Esc>[200~ XTermPasteBegin("")
endif
"" 改行時に前の行のインデントを継続する
set autoindent

" 検索系
"" 大文字と小文字を区別しない
set ignorecase
"" インクリメンタルサーチを行う
set incsearch
"" 大文字と小文字が混在した言葉で検索を行った場合に限り、大文字と小文字を区別する
set smartcase
"" 検索文字列をハイライトする
set hlsearch
"" 最後尾まで検索を終えたら次の検索で先頭に移る
set wrapscan

以上!

各種、解説はこの方の解説が神です。

他はぐぐるとすぐ出るので、検索すると新たな発見もあるかも。