- IT Tips
- Ruby / Rails関連
READ MORE
私は使えるものはなんでも使えという性分なので、Vim (Neovim) でも多くのプラグインを使っています。
普段から使うVimのプラグインの操作は慣れてしまっているが .vimrc (init.vim) を見てもわからず、慣れるまで覚えるのが大変なので特によく使うやつだけ整理しておきます。
今回は下記の操作とプラグインについて。
:Gstatus
を実行するとステータスウィンドウが開きます。よく使うのでキーバインド設定推奨。
ステータスウィンドウでファイルにカーソルを合わせて下記の操作を行う。
-
=
D
cc
:wq
とかで保存終了する):Gblame
:Gread
:GFiles
:History
:Buffers
キーバインド設定推奨。
:Rg
キーバインド設定推奨。
if executable('rg')
command! -bang -nargs=* Rg
\ call fzf#vim#grep(
\ 'rg --line-number --no-heading '.shellescape(<q-args>), 0,
\ fzf#vim#with_preview({'options': '--exact --reverse --delimiter : --nth 3..'}, 'up:50%:wrap'))
endif
※ripgrepをインストールしておきましょう。
Ctrl x
Ctrl v
Ctrl t
Enter
ファイラを開くコマンドはキーバインド設定推奨
:NERDTreeFind
:NERDTreeToggle
ファイラのバッファでの操作
m
o
t
T
i
s
I
u
U
C
x
X
?
デフォルトのスニペットとして honza/vim-snippets
あたりも入れておく。
スニペット挿入のキーバインドは設定できる。
" UltiSnips スニペット展開
let g:UltiSnipsExpandTrigger="<c-k>"
" UltiSnips スニペット次の位置に移動
let g:UltiSnipsJumpForwardTrigger="<c-j>"
" UltiSnips スニペット前の位置に戻る
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
~/.vim/snippets
以下に置きたい場合、下記の設定をしておく。
" 自作スニペット
let g:UltiSnipsSnippetsDir = '~/.vim/snippets'
set runtimepath+=~/.vim/snippets
filetypeをファイル名にしたsnippetファイルを作成する。
rubyのスニペットを作る場合、~/.vim/snippets/UltiSnips/ruby.snippets
を作成する。
snippet hello "hello world"
puts 'Hello, ${1:world}'
endsnippet
例としてruby.snippetsにて上記の設定を記述すると、rubyのファイルでhelloと入力し Ctrl k
を押すことでスニペットを展開できる。
neovimからプロジェクト間を移動したいという友人のために作った :Ghq
コマンド。
リポジトリをfzfであいまい検索して飛んだ直後にファイル検索が開く。
function! CdFind(dir)
cd `=a:dir`
edit `=a:dir`
GFiles
call feedkeys('i', 'n')
endfunction
if executable('ghq')
command! -bang -nargs=0 Ghq
\ call fzf#run({
\ 'source': 'ghq list --full-path',
\ 'sink': function('CdFind')})
endif