vim から git 操作できる denite の source を作りました
はじめに
この記事は denite.nvim
向けの git ソースを作ったのでそれの説明を行う記事です。まだまだですが基本的な操作はだいぶできるようになってきたので宣伝です。
対象読者
- vim ユーザ
- denite.nvim を利用している(or これから利用する)
- vim からの git 操作にめんどくささを感じている
- そして、その解決を「
denite.nvim
の UI でやりたい!」と思っている
前提
- そして、その解決を「
denite.nvim
の UI でやりたい!」と思っている
vim における git 関連プラグインは非常に数が多く、denite-gitto よりも高機能で使いやすいものはたくさんあります。(gina.vim とかほんとすごいです。)
また、denite.nvim の UI で git 操作できる別プラグインも既にあったりします。(じゃあなんで作ったの?って話なんですが。。。git 操作ってめちゃくちゃやるので、自分好みの UI がよかったのかもしれません。)
インストール
お好みのプラグインマネージャでインストールしてください。
下記は dein.nvim を利用している前提のサンプルです。
call dein#add('Shougo/denite.nvim') " denite.nvim 本体。v3 以降が必須。
call dein#add('hrsh7th/vim-gitto') " git 関連操作を提供するプラグイン
call dein#add('hrsh7th/vim-denite-gitto') " denite.nvim の source
利用方法
下記のマッピング一つだけで基本的な操作は全て可能です。git 関連操作のランチャーが立ち上がるイメージです。
デフォルトで status
branch
log
fetch
が表示されており、場合によって下記のようなメニューが追加で表示されます。
- push(未 push なコミットがある場合)
- pull(リモートのほうが進んでいるとわかった場合)
- set-upstream-to(upstream が未設定で同名のリモートブランチがある場合)
nnoremap git :<C-u>DeniteGitto gitto<CR>
※ もちろん、個別に nnoremap gits :<C-u>DeniteGitto gitto/status<CR>
などと書くこともできます。
その他
-
.git
の検出は DeniteGitto
を実行したバッファから行われます。
- この挙動を変更したい場合は
g:gitto#config.get_buffer_path
を上書きすれば可能です。
-
DeniteGitto gitto
を起動すると、status
branch
log
push
などのメニューが表示されます。
-
status
からメニューに戻りたい場合は denite.nvim
の restore_sources
マップから行えます。これが激しく便利です。
- なんと vim-plugin なのに doc がないです。
- 現状、リポジトリの README.md に説明がちょろっとあるだけです。
- これはボコボコにされかねない由々しき事態なので時間を見つけて doc を書きます。(本当に vim 周りのエコシステムはドキュメントが充実していて素晴らしいなと思います。思ってはいます。。。)
スクショ
DeniteGitto gitto
.git
の検出は DeniteGitto
を実行したバッファから行われます。
- この挙動を変更したい場合は
g:gitto#config.get_buffer_path
を上書きすれば可能です。
DeniteGitto gitto
を起動すると、status
branch
log
push
などのメニューが表示されます。
-
status
からメニューに戻りたい場合はdenite.nvim
のrestore_sources
マップから行えます。これが激しく便利です。
- 現状、リポジトリの README.md に説明がちょろっとあるだけです。
- これはボコボコにされかねない由々しき事態なので時間を見つけて doc を書きます。(本当に vim 周りのエコシステムはドキュメントが充実していて素晴らしいなと思います。思ってはいます。。。)
DeniteGitto gitto
DeniteGitto gitto
-> status
status
を選択した状態。
denite.nvim
の機能である restore_sources
を実行すると前の画面に戻れる。
status
から変更差分を表示
デフォルトアクションが diff
になっているので、<CR>
で別タブで vimdiff が表示される。
status
から commit
アクションを実行
status
の一覧からコミットしたい対象を選択して commit
アクションを実行する。
免責事項
ご利用の際は自己責任でお願いします
Author And Source
この問題について(vim から git 操作できる denite の source を作りました), 我々は、より多くの情報をここで見つけました https://qiita.com/hrsh7th@github/items/0d61ddc99b37b2b83578著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .