vimdiff と 3 つのウィンドウのみで mergetool を発行するための多くの調査の後、3 つのウィンドウまたはデフォルトの 4 つのウィンドウが必要なときに選択できるようにする、次の構成を思い付きました。
git config --global merge.tool vimdiff
git config --global alias.mt mergetool
git config --global mergetool.merge3.cmd 'vim -d -c "wincmd l" "$LOCAL" "$MERGED" "$REMOTE"'
git config --global alias.m3 'mergetool -t merge3'
次のように入力するだけで、3 つのウィンドウを起動できます。
git m3
デフォルト (4 ウィンドウ) は、次の場合でも期待どおりに動作します。
git mt
また、おそらくこの行をあなたの~/.vimrc
またはの最後に追加したいと思うでしょう。/etc/vim/vimrc
" shortcuts to vimdiff
let mapleader=','
let g:mapleader=','
if &diff
map <leader>1 :diffget LOCAL<CR>
map <leader>2 :diffget BASE<CR>
map <leader>3 :diffget REMOTE<CR>
endif
,1
これにより、左,3
からグラブする、右からグラブする (両方のモードで) ,2
、4 ウィンドウ モードでベース (中央のウィンドウ) からグラブするなどのショートカットが作成されます。
それは大いに役立ちます!
私の~/.gitconfig
ファイルは次のようになります。
[user]
name = Dr Beco
email = my@email
[merge]
tool = vimdiff
[mergetool "merge3"]
cmd = vim -d -c \"wincmd l\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"
[alias]
lo = log --pretty=format:\"%h %ce %cd %s\" --graph
co = checkout
ci = commit
cm = commit -a -m
st = status
br = branch
m3 = mergetool -t merge3
mt = mergetool
[diff]
tool = vimdiff
これがあなた(そしてここにたどり着いた人)に役立つことを願っています。