Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

はじめてのNeoVim(Git導入編)

$
0
0

概要

前回はプラグイン管理まで書き、今回はStatusLineのColorScheme設定あたりをやろうかなと思ったのですが・・・
やっぱ設定ファイルゴリゴリいじってるとGit管理が欲しくなりますw
というわけで、自分でやったときとは順番前後しますがさきにGit対応します。

Gitで管理したいもの

ファイル名用途
init.vimNeoVimの設定
dein.tomlVim起動時読み込みのPluginファイル
lazy.toml実行時読み込みのPluginファイル

保管場所はすべて~/.config/nvimの直下

Vim上で画面分割

今回PluginでGit操作を行いますが、画面分割が発生します。
そのため分割された画面を移動するためのキーバインドを設定しておきます。

init.vim
" ------------------------------------------------------------"  key bind" ------------------------------------------------------------" Normal Mode
cnoremap init :<C-u>edit $MYVIMRC<CR>                           " init.vim呼び出し
noremap <Space>s :source $MYVIMRC<CR>                           " init.vim読み込み
noremap <Space>w:<C-u>w<CR>                                    " ファイル保存
" <追加>分割画面移動
noremap <silent><C-h><C-w>h                                    
noremap <silent><C-j><C-w>j                                                                                                                                                                                                                                                          
noremap <silent><C-k><C-w>k                                                                              
noremap <silent><C-l><C-w>l" Insert Mode
inoremap <silent> jj <ESC>:<C-u>w<CR>::<C-u>source $MYVIMRC<CR> " InsertMode抜けて保存・読み込み
" Insert mode movekey bind
inoremap <C-d><BS>
inoremap <C-h><Left>                                                                                                                 
inoremap <C-l><Right>
inoremap <C-k><Up>                          
inoremap <C-j><Down>

PlugInでVim操作

今回はfugitive.vimというPlugInを追加します。

dein.toml
# ------------------------------------                                    # Git vim-fugitive                                     # ------------------------------------                                    [[plugins]]repo='tpope/vim-fugitive'hook_add='''nnoremap<silent>gs:Gstatus<CR><C-w>Tnnoremap<silent>gps:Gpush<CR>nnoremap<silent>gpl:Gpull<CR>'''

なのでキーバインドはお好みで。
よく使うGstatusとpush、pullだけはバインドしました。
push、pullはGstatus画面のキーマップに無いので・・・
他にもよく使う機能はおいおいバインドすればいいかな。

あとは:Gのあとにgitのコマンド打てば、gitで出来ることは何でも出来ます。

Git管理開始

GithubでのリモートRepositoryはすでに作ってあること前提ですすめます。
管理したいファイルを開いてる状態で以下のコマンドを打つと、同じディレクトリ内に.gitができます。

:G init
:G remote add origin git@github.com:mori-hisayuki/neovim.git

:Gstatusで画面を開きます。

スクリーンショット 2019-07-31 22.08.19.png

Gstatus画面が結構優秀で各種キーマップが揃ってる。
詳しくはここ
この位置で-キーを押すと全部Stagedになります。

スクリーンショット 2019-07-31 22.10.23.png

さらにStaged状態でcを2回押すと、commitメッセージ画面が表示されます。

スクリーンショット 2019-07-31 22.13.47.png

なのでInsetModeでメッセージを入力して:wqでcommit完了です。

pushはキーバインドしてますが、最初だけオプションつけないといけないので以下の方法で入力

:Gpush -u origin master  

これでとりあえずGithubで管理ができるようになりました。

まとめ

Gstatus画面がかなり優秀。
diffも取れるし、対象ファイルも開けるし、ほとんどやりたいことはGstatus画面で事足ります。
できないこともpushのようにコマンド化されてたり、それでもできなければG:のあとにコマンド打てばいいので、ターミナルを開ける必要がなくなりました!
これでとりあえず動作する状態の設定からブランチ切ってイジれるようになったので助かりました・・・w

参考記事

ブックマーク

はじめてのNeoVim(初期設定編)


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>