67 lines
3.6 KiB
Org Mode
67 lines
3.6 KiB
Org Mode
|
|
* diff-mode
|
||
|
|
|
||
|
|
Evil bindings for =diff-mode=. By default they are installed on a dedicated
|
||
|
|
minor mode (=evil-collection-diff-mode=) attached to every =diff-mode= buffer,
|
||
|
|
so normal/insert states keep working for editing. Set
|
||
|
|
=evil-collection-diff-mode-want-minor-mode= to =nil= to instead bind on
|
||
|
|
=diff-mode-map= and have read-only / motion state toggle together.
|
||
|
|
|
||
|
|
** Key bindings (minor-mode setup, default)
|
||
|
|
|
||
|
|
Active in normal state.
|
||
|
|
|
||
|
|
| Command | Original | Evil |
|
||
|
|
|--------------------+-----------+-------------|
|
||
|
|
| =diff-goto-source= | =C-c C-c= | =RET= |
|
||
|
|
| =diff-file-prev= | =M-{= | =[[= |
|
||
|
|
| =diff-file-next= | =M-}= | =]]= |
|
||
|
|
| =diff-hunk-prev= | =M-p= | =gk=, =C-k= |
|
||
|
|
| =diff-hunk-next= | =M-n= | =gj=, =C-j= |
|
||
|
|
| =diff-ediff-patch= | =C-c C-e= | =ge= |
|
||
|
|
| =read-only-mode= | n/a | =\= |
|
||
|
|
| =quit-window= | n/a | =q= |
|
||
|
|
|
||
|
|
With =evil-collection-want-g-bindings= (the default), edit commands sit under
|
||
|
|
=g=:
|
||
|
|
|
||
|
|
| Command | Original | Evil |
|
||
|
|
|-----------------------------------------------+-----------+------|
|
||
|
|
| =diff-apply-hunk= | =C-c C-a= | =ga= |
|
||
|
|
| =diff-refine-hunk= | =C-c C-b= | =g*= |
|
||
|
|
| =diff-hunk-kill= | =C-c C-k= | =gx= |
|
||
|
|
| =diff-file-kill= | =C-c M-k= | =gX= |
|
||
|
|
| =diff-split-hunk= | =C-c C-s= | =gs= |
|
||
|
|
| =diff-test-hunk= | =C-c C-t= | =gc= |
|
||
|
|
| =diff-reverse-direction= | =C-c C-r= | =g~= |
|
||
|
|
| =diff-ignore-whitespace-hunk= | =C-c C-w= | =g#= |
|
||
|
|
| =diff-add-change-log-entries-other-window= | =C-x 4 A= | =gA= |
|
||
|
|
| =evil-collection-diff-toggle-context-unified= | n/a | =g%= |
|
||
|
|
| =evil-collection-diff-toggle-restrict-view= | =C-c C-n= | =go= |
|
||
|
|
| =next-error-follow-minor-mode= | =C-c C-f= | =gi= |
|
||
|
|
|
||
|
|
Without =evil-collection-want-g-bindings=, the commands above land on their
|
||
|
|
single-letter equivalents (=a=, =*=, =d=, =D=, =s=, =c=, =~=, =#=, =A=, =x=,
|
||
|
|
=o=, =i=) instead.
|
||
|
|
|
||
|
|
** Motion-state setup (when =evil-collection-diff-mode-want-minor-mode= is nil)
|
||
|
|
|
||
|
|
Same set of commands, but they go on =diff-mode-map= directly in normal and
|
||
|
|
motion states. A hook (=evil-collection-diff-toggle-setup=) flips state
|
||
|
|
whenever the buffer's read-only flag changes — read-only buffers enter motion
|
||
|
|
state, writable buffers normal state. Toggle this hook per-buffer with =M-x
|
||
|
|
evil-collection-diff-toggle-setup=.
|
||
|
|
|
||
|
|
** New commands
|
||
|
|
|
||
|
|
| Command | Key | |
|
||
|
|
|-----------------------------------------------+------+--------------------------------------------------|
|
||
|
|
| =evil-collection-diff-toggle-context-unified= | =g%= | Toggle context <-> unified view. |
|
||
|
|
| =evil-collection-diff-toggle-restrict-view= | =go= | Toggle =diff-restrict-view=; widens if narrowed. |
|
||
|
|
| =evil-collection-diff-toggle-setup= | n/a | Toggle the read-only state hook in the buffer. |
|
||
|
|
|
||
|
|
** Customization
|
||
|
|
|
||
|
|
| Variable | Default | Purpose |
|
||
|
|
|---------------------------------------------+---------+----------------------------------------------------------------------------|
|
||
|
|
| =evil-collection-diff-mode-want-minor-mode= | =t= | Bind on =evil-collection-diff-mode= minor mode instead of =diff-mode-map=. |
|