Command line 用習慣了, 所以想在 Vim 上做出像是 Meld 一樣的 directory diff 功能. 基本上只要裝一個 dirdiff vim plugin, 就可以做到囉.
Plug 'will133/vim-dirdiff'
最簡單的應用就是把 vimdiff + dirdiff 包成一個 command
~/.bashrc
```
function dirdiff() { # Check input parameters are valid local execFlag=1 if [ $# -ne 2 ]; then execFlag=0 elif ! test -d “${1}”; then execFlag=0 echo “Error: dir1 is not a directly” elif ! test -d “${2}”; then execFlag=0 echo “Error: dir2 is not a directly” fi
if [ $execFlag == 1 ]; then vim -c “set diffopt+=iwhite” -c “DirDiff ${1} ${2}” else echo “usage: dirdiff dir1 dir2” fi }
export -f dirdiff
* Usage
```shell
$ dirdiff [dir_1] [dir_2]
另一個進階的應用是用 Dirdiff 取代預設的 git diff tool
~/.gitconfig
```
[diff]
tool = vimdirdiff[difftool “vimdirdiff”] cmd = vim -c "set diffopt+=iwhite" -c "DirDiff $LOCAL $REMOTE"
[difftool] prompt = false
* Usage
```shell
$ git difftool --dir-dif <commitish_1> <commitish_2>
Vim
Git
Bash
Linux
Written on
December
27th,
2021
by
Borting