Skip to content

Instantly share code, notes, and snippets.

@marutanm
Created March 22, 2017 14:19
Show Gist options
  • Save marutanm/781df095c061422b106108f2b474546d to your computer and use it in GitHub Desktop.
Save marutanm/781df095c061422b106108f2b474546d to your computer and use it in GitHub Desktop.
nvim
" ファイル種類の自動判別とそれに応じた適切設定/インデントを行なう。
filetype plugin indent on
" ファイルの種類に応じたシンタックスハイライトを有効にする。
syntax enable
set t_Co=256
set imdisable
set showcmd "コマンドをステータスラインに表示
set number "行番号を表示する
set list
set listchars=trail:▸,tab:>-
set autoindent
set showmatch "閉じ括弧が入力されたとき、対応する開き括弧にわずかの間ジャンプする
set tabstop=2
set shiftwidth=2
set expandtab
set ruler
set laststatus=2
set cursorline
highlight CursorLine term=reverse cterm=reverse
set showtabline=2
set tabline=%!MyTabLine()
function! MyTabLine()
let s = ''
for i in range(tabpagenr('$'))
" select the highlighting
if i + 1 == tabpagenr()
let s .= '%#TabLineSel#'
else
let s .= '%#TabLine#'
endif
let s .= '%' . (i + 1) . 'T'
let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
endfor
let s .= '%#TabLineFill#%T'
let s .= '%=%{fugitive#statusline()} ' . fnamemodify(getcwd(), ":~")
return s
endfunction
function! MyTabLabel(n)
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
let bufname = fnamemodify(bufname(buflist[winnr - 1]), ':t')
let label = a:n . ": "
let label .= bufname == '' ? 'No name' : bufname
return label
endfunction
"行の連結 "J" で、間にスペースを入れない
set nojoinspaces
" 改行文字/インデント/インサートモード開始位置より前の文字を削除可能にする。
set backspace=indent,start
" /{pattern}や?{pattern}による検索で大文字・小文字の違いを無視する。
set ignorecase
" 検索パターンに大文字が含まれる場合は大文字・小文字を区別する。
set smartcase
" vimrcを即座に編集できるようにする
nnoremap <Space>. :<C-u>edit $MYVIMRC<Enter>
" vimrcを即座にリロードできるようにする
nnoremap <Space>s. :<C-u>source $MYVIMRC<Enter>
" hilight
set hlsearch
nnoremap <Esc><Esc> :nohlsearch<CR>
" ;と:の意味を入れ替える。文字として入力する場合はそのまま。
noremap ; :
noremap : ;
" j/kを表示行単位の移動に変更する。
noremap j gj
noremap k gk
" gj/gkを論理行単位の移動に変更する。
noremap gj j
noremap gk k
" tab
nnoremap tn :<c-u>tabnext<cr>
nnoremap t] :<c-u>tabnext<cr>
nnoremap tt :<c-u>tabnext<cr>
nnoremap tp :<c-u>tabprevious<cr>
nnoremap t[ :<c-u>tabprevious<cr>
nnoremap te :<c-u>tabedit<cr>
nnoremap tc :<c-u>tablast <bar> tabnew<cr>
nnoremap tx :<c-u>tabclose<cr>
for n in range(1, 9)
execute 'nnoremap <silent> t'.n ':<C-u>tabnext'.n.'<CR>'
endfor
" <Leader><Leader>で変更があれば保存
noremap <Leader><Leader> :up<CR>
" Indent on visual mode
vnoremap < <gv
vnoremap > >gv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment