TortoiseMerge with better shortcuts, like WinMerge

  • Posted on: 18 January 2013
  • By: Michał Turecki
AttachmentSize
File TortoiseMerge.exe1.65 MB

TortoiseMerge is a useful 3-way merge tool yet it lacks proper keyboard shortcuts configuration and default shortcuts seem to be designed only for basketball players, with fingers stretched from arrow keys up to function keys.
Update: Current Version of TortoiseMerge included in TortoiseGit has the keyboard shortcuts fixed and easy to use

Fortunately it is open source. Moreover, it uses standard accelerators embedded as resources in the executable so it can be easily modified to fit our needs using only a resource editor. I used ResourceHacker ( ResHack.exe ) and modified these while preserving existing shortcuts.

Shortcuts are located in Accelerators -> 100 -> 1033 path.

100 ACCELERATORS
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
	VK_Q, 57665, NOINVERT, CONTROL, VIRTKEY
	VK_ESCAPE, 57665, NOINVERT, VIRTKEY
	VK_DOWN, 32831, NOINVERT, VIRTKEY
	VK_DOWN, 32831, NOINVERT, SHIFT, VIRTKEY
	VK_LEFT, 32829, NOINVERT, VIRTKEY
	VK_LEFT, 32829, NOINVERT, SHIFT, VIRTKEY
	VK_RIGHT, 32830, NOINVERT, VIRTKEY
	VK_RIGHT, 32830, NOINVERT, SHIFT, VIRTKEY
	VK_UP, 32832, NOINVERT, VIRTKEY
	VK_UP, 32832, NOINVERT, SHIFT, VIRTKEY
	VK_LEFT, 32833, NOINVERT, CONTROL, VIRTKEY
	VK_LEFT, 32833, NOINVERT, CONTROL, SHIFT, VIRTKEY
	VK_RIGHT, 32834, NOINVERT, CONTROL, VIRTKEY
	VK_RIGHT, 32834, NOINVERT, CONTROL, SHIFT, VIRTKEY
	VK_F1, 57669, NOINVERT, SHIFT, VIRTKEY
	VK_C, 57634, NOINVERT, CONTROL, VIRTKEY
	VK_X, 57635, NOINVERT, CONTROL, VIRTKEY
	VK_F, 57636, NOINVERT, CONTROL, VIRTKEY
	VK_F3, 32790, NOINVERT, VIRTKEY
	VK_F3, 32818, NOINVERT, SHIFT, VIRTKEY
	VK_G, 32884, CONTROL, VIRTKEY
	VK_V, 57637, NOINVERT, CONTROL, VIRTKEY
	VK_INSERT, 57637, NOINVERT, SHIFT, VIRTKEY
	VK_BACK, 57643, NOINVERT, ALT, VIRTKEY
	VK_Z, 57643, NOINVERT, CONTROL, VIRTKEY
	VK_RIGHT, 32855, NOINVERT, ALT, CONTROL, VIRTKEY
	VK_RIGHT, 32857, NOINVERT, ALT, CONTROL, SHIFT, VIRTKEY
	VK_LEFT, 32859, NOINVERT, ALT, CONTROL, SHIFT, VIRTKEY
	VK_RIGHT, 32822, NOINVERT, ALT, SHIFT, VIRTKEY
	VK_RIGHT, 32820, NOINVERT, ALT, VIRTKEY
	VK_LEFT, 32819, NOINVERT, ALT, VIRTKEY
	VK_LEFT, 32821, NOINVERT, ALT, SHIFT, VIRTKEY
	VK_UP, 32780, NOINVERT, ALT, VIRTKEY
	VK_DOWN, 32779, NOINVERT, ALT, VIRTKEY
	VK_UP, 32802, NOINVERT, ALT, SHIFT, VIRTKEY
	VK_DOWN, 32804, NOINVERT, ALT, SHIFT, VIRTKEY
	VK_S, 32808, NOINVERT, ALT, VIRTKEY
	VK_F10, 32822, NOINVERT, CONTROL, SHIFT, VIRTKEY
	VK_F10, 32820, NOINVERT, CONTROL, VIRTKEY
	VK_F9, 32819, NOINVERT, CONTROL, VIRTKEY
	VK_F9, 32821, NOINVERT, CONTROL, SHIFT, VIRTKEY
	VK_O, 57601, NOINVERT, CONTROL, VIRTKEY
	VK_R, 32794, NOINVERT, CONTROL, VIRTKEY
	VK_F5, 32794, NOINVERT, VIRTKEY
	VK_S, 57603, NOINVERT, CONTROL, VIRTKEY
	VK_S, 57604, NOINVERT, CONTROL, SHIFT, VIRTKEY
	VK_F1, 57670, NOINVERT, VIRTKEY
	VK_F8, 32804, NOINVERT, VIRTKEY
	VK_F11, 32779, NOINVERT, VIRTKEY
	VK_F7, 32779, NOINVERT, VIRTKEY
	VK_F8, 32802, NOINVERT, SHIFT, VIRTKEY
	VK_F11, 32780, NOINVERT, CONTROL, VIRTKEY
	VK_UP, 32780, NOINVERT, CONTROL, VIRTKEY
	VK_DOWN, 32779, NOINVERT, CONTROL, VIRTKEY
	VK_F11, 32780, NOINVERT, SHIFT, VIRTKEY
	VK_F7, 32780, NOINVERT, SHIFT, VIRTKEY
	VK_F6, 57680, NOINVERT, VIRTKEY
	VK_F6, 57681, NOINVERT, SHIFT, VIRTKEY
	VK_D, 32775, NOINVERT, CONTROL, VIRTKEY
	VK_T, 32774, NOINVERT, CONTROL, VIRTKEY
	VK_INSERT, 57634, NOINVERT, CONTROL, VIRTKEY
	VK_DELETE, 57635, NOINVERT, SHIFT, VIRTKEY
	VK_INSERT, 57637, NOINVERT, SHIFT, VIRTKEY
	VK_A, 32883, NOINVERT, CONTROL, VIRTKEY
}

If you are too lazy to change the resources, you can download attached TortoiseMerge.exe v1.7.15.0 and use it with recent versions of TortoiseGIT/SVN.

Comments

Darn the attachment is not working for me, I think it's because I'm 64 bit. The error I get is: The program can't start because gitdll32.dll is missing from your compter. Try reinstalling the program to fix this problem.