vimrc 基本設定

set number
set title
set tabstop=4find . -type f -not -regex '\./\.git.*' -print | xargs cat | wc -l
set showmatch
set noautoindent
set nowrap
set listchars=tab:>-
set list
highlight Comment ctermfg=DarkRed
set encoding=utf-8
set fileencodings=ucs-bom,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932,utf-8
autocmd FileType perl,cgi :compiler perl

vimrc 拡張設定

基本キー操作

e <file>追加でファイルを読み込む
e!今のファイルを読み直す(=変更を全て取り消す)
b前の単語にカーソルを移動
w次の単語にカーソルを移動
ctrl + f一画面分進める
ctrl + b一画面分戻る
iカーソルの前に入力
aカーソルの後に入力
Iカーソルを行頭に移動し、その直前に入力
Aカーソルを行末に移動し、その直後に入力
oカーソル行の下に空行を作成し入力
Oカーソル行の上に空行を作成し入力
.[Enter]直前のコマンドの中止(UNDO)
u(小文字)直前に実行したコマンドの取り消し ↑と同じかな?(要調査)
U(大文字)カーソル行に行った変更を全て取り消す
0(zero)行頭に移動
$行末に移動
M画面の中央行に移動
%対応する括弧に移動
(行末で) 大文字 J改行の削除
~(にょろ)大文字小文字変換
:e![Enter]ファイルの読み直し (保存前の変更を全て取り消す)
yyカーソル行をコピー
10yyカーソル行から10行をコピー
a10yyカーソル行から10行を コピーバッファ[a-z]にコピー
D (D$)カーソルから行末までを削除 (D$ と書いても同じ)
dgg行頭からカーソルまでのを削除
ddカーソル行を削除
dGカーソルからファイルの最後までを全て削除
p(小文字)カーソル行の下に ペースト
P(大文字)カーソル行の上に ペースト
ctrl + vビジュアルモード 矩形選択
"aP(大文字)カーソル行の上に バッファー[a-z]をペースト
:%s/置換前/置換後/[Enter]カーソル付近の一文字置換
:%s/置換前/置換後/g[Enter]文書全体の一括置換
:g/^$/d空行の削除
B,Es/置換前/置換後/g[Enter]B行目〜E行目までの一括置換
Cカーソルから右を削除して入力モードに遷移
:noh検索によるハイライトを消す
:!(UNIX コマンド)コマンドの実行
:r(ファイル名)カレント行にファイルを読み込む
:r!(UNIX コマンド)コマンド実行結果をカレント行に貼り付ける
set listchars=tab:>-tab の可視化
set list
lsバッファーリストの表示
b数字N番目のバッファーに切り替え
bn次のバッファーに切り替え
bp前のバッファーに切り替え
badd追加でファイルをバッファーに読み込み
:cope[n]QuickFixウィンドウを開く(コンパイル結果などの確認)
:ccl[ose]QuickFixウィンドウを閉じる
:split (ss)画面の水平に分割
:vsplit (vs)画面の垂直に分割
[CTRL]+w (hjkl)分割画面の移動(カーソル移動キー)
:set <no>scrollbind (scb)同時スクロール <の解除>

応用キー操作

複数ファイルの編集関連

vi を使いやすくするため、 半角/全角キーも ESC に割り当てる (for Ubuntu 12.04)

vi で編集中に誤って ctrl-z で抜けてしまった時の対処 ---- ctrl-z は処理を終了せず中断させた状態

vi で編集中に誤って ctrl-s を押してキー操作をロックさせてしまった時の対処

vimgrep の使い方

vi の強制保存(sudo を付けずに起動した時に後から sudo する方法)

vim-plug のインストール

----------------------------------------------------------------------------
" Add setting for vim-plug (https://github.com/junegunn/vim-plug)
" Light weight & automated plug-in manager for vim
"----------------------------------------------------------------------------
if empty(glob('~/.vim/autoload/plug.vim'))
  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
    \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif

" Specify a directory for plugins
" - For Neovim: ~/.local/share/nvim/plugged
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')

" Make sure you use single quotes

" Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
Plug 'junegunn/vim-easy-align'

" Any valid git URL is allowed
Plug 'https://github.com/junegunn/vim-github-dashboard.git'

" Multiple Plug commands can be written in a single line using | separators
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'

" On-demand loading
Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
Plug 'tpope/vim-fireplace', { 'for': 'clojure' }

" Using a non-master branch
Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }

" Using a tagged release; wildcard allowed (requires git 1.9.2 or above)
Plug 'fatih/vim-go', { 'tag': '*' }

" Plugin options
Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }

" Plugin outside ~/.vim/plugged with post-update hook
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }

" Unmanaged plugin (manually installed and updated)
Plug '~/my-prototype-plugin'

" vimtex
Plug 'lervag/vimtex'

" Initialize plugin system
call plug#end()

参考 URL


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS