Vim Memo

対象バージョン: 8.2

GUI/コンソール版共通

ファイルタイプ別設定

autocmd FileType html :setlocal sts=2 sw=2

特定のファイル名だけファイルタイプ判別の対象外にする

let g:ft_ignore_pat='ChangeLog\.txt$'

クリップボードを OS のクリップボードと共用にする

set clipboard=unnamed

ステータスラインに文字コード、改行文字、ファイルタイプを表示する

set statusline=%<%f\ %m%r%h%w%=%{&fenc!=''?&fenc:&enc}\ %{['CRLF','LF'][match(['dos','unix'],&ff)]}\ %{&ft}\ %10(%l,%c%V%)%8P

全角スペースを表示

highlight IdeographicSpace term=underline ctermbg=blue guibg=darkgray
autocmd VimEnter,WinEnter * match IdeographicSpace / /

ハードタブと行末のスペースを表示

highlight SpecialKey ctermfg=blue guifg=#555555
set listchars=tab:>\ ,trail:_
set list

ハードリンクしたファイルをSamba経由で編集するとリンクが切れる問題への対処

set backupcopy=yes

CTRL+Nで検索文字列の強調表示を消す

nmap <silent> <C-N> :noh<CR>
imap <silent> <C-N> <C-O>:noh<CR>

gqコマンドで日本語文章の整形を行う

set autoindent
set formatoptions+=mB

整形時に番号付きリストを認識する

set formatoptions+=n

CTRL+Tで新しいタブを開いて編集するファイル名の入力を待つ

nnoremap <C-T> :tabe<CR>:e<SPACE>

HTMLのシンタックスハイライトで装飾(太字、斜体、下線)を無効にする

let html_no_rendering=1

挿入モードで \date で日付(ロケールに関係なく英語の曜日名)を挿入

inoremap <Leader>date <C-R>=strftime('%Y-%m-%d ').['Sun','Mon','Tue','Wed','Thu','Fri','Sat'][strftime('%w')]<CR>

81桁目から右端までの背景色を変える

highlight ColorColumn ctermbg=blue guibg=#222222
let &colorcolumn=join(range(81, &columns), ',')

highlight Searchの背景色よりColorColumnの背景色が優先される問題の対処(代わりに前景色に影響してしまうが背景色が変わらないよりはまし)

highlight Search guifg=#2050d0 guibg=#90fff0 gui=reverse

タブやVim内ウィンドウの切り替え時にコマンドラインをクリアする(Vim 7.4と同じように)

autocmd WinEnter * :echo

検索時に検索件数メッセージを表示する

set shortmess-=S

GUI版のみ

カーソルを点滅させない

set guicursor=a:blinkon0

IMEのon/offに合わせてカーソルの色を変える

if has('multi_byte_ime')
  highlight Cursor guifg=bg guibg=Green gui=NONE
  highlight CursorIM guifg=NONE guibg=Purple gui=NONE
endif

ツールバーを非表示にする

set guioptions-=T

メニューバーを非表示にする

set guioptions-=m

右スクロールバーを非表示にする

set guioptions-=r

CTRL+TAB, CTRL+SHIFT+TABでタブ切り替え

nnoremap <C-Tab>   gt
nnoremap <C-S-Tab> gT

ウィンドウの位置を指定する

winpos X座標 Y座標

既存のウィンドウ上の新しいタブで開くコマンドラインオプション

gvim --remote-tab-silent FILE