Re: gitk: 'j' and 'k' keyboard shortcuts backward

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(+cc: Josh and upstream)
Hi,

Clemens Buchacher wrote:

> The key bindings are not related to vi. See Help -> Key
> bindings in gitk:
>
> k    Move down one commit
> j    Go back in history list
>
> I know this has confused me too. But I don't think it's worth changing,
> unless you can think of a solution that would confuse neither vi nor non-vi
> users.

Eh, I think it's worth changing and that the non-vi users are probably
just using arrow keys. :)  The commit that introduced those key
bindings says:

| commit 6e2dda35
| Author: Robert Suetterlin <robert@xxxxxxxxxx>
| Date:   Thu Sep 22 10:07:36 2005 +1000
|
|     [PATCH] Add new keybindings
|
|     This adds several new keybindings to allow history and selectline
|     navigation.  I basically added Opera-like history traversal, as well
|     as left-right-cursor history traversal and vi-like motion commands.
|
|     Signed-off-by: Robert Suetterlin <robert@xxxxxxxxxx>
|     Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>

How about this patch?

-- >8 --
Subject: gitk: Make vi-style keybindings more vi-like

When commit 6e2dda35 (Add new keybindings, 2005-09-22) added vi-style
keybindings to gitk (an excellent idea!), instead of adopting the
usual "hjkl = left, down, up, right" bindings used by less, vi, rogue,
and many other programs, it used "ijkl = up, left, down, right" to
mimic the inverted-T formation of the arrow keys on a qwerty keyboard,
in the style of Lode runner.  So using 'j' and 'k' to scroll through
commits produces utterly confusing results to the vi user, as 'k'
moves down and 'j' moves to the previous commit.

Luckily most non-vi-users are probably using an alternate set of keys
(cursor keys or z/x + n/p) anyway.  Switch to the expected vi/nethack
convention.

Requested-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx>
---
 gitk     |   12 ++++++------
 po/de.po |   12 ++++++------
 po/es.po |   12 ++++++------
 po/fr.po |   12 ++++++------
 po/hu.po |   12 ++++++------
 po/it.po |   12 ++++++------
 po/ja.po |   12 ++++++------
 po/ru.po |   12 ++++++------
 po/sv.po |   12 ++++++------
 9 files changed, 54 insertions(+), 54 deletions(-)

diff --git a/gitk b/gitk
index 1b0e09a5..ac3fb7d4 100755
--- a/gitk
+++ b/gitk
@@ -2411,9 +2411,9 @@ proc makewindow {} {
     bindkey n "selnextline 1"
     bindkey z "goback"
     bindkey x "goforw"
-    bindkey i "selnextline -1"
-    bindkey k "selnextline 1"
-    bindkey j "goback"
+    bindkey k "selnextline -1"
+    bindkey j "selnextline 1"
+    bindkey h "goback"
     bindkey l "goforw"
     bindkey b prevfile
     bindkey d "$ctext yview scroll 18 units"
@@ -2822,9 +2822,9 @@ proc keys {} {
 [mc "<%s-W>		Close window" $M1T]
 [mc "<Home>		Move to first commit"]
 [mc "<End>		Move to last commit"]
-[mc "<Up>, p, i	Move up one commit"]
-[mc "<Down>, n, k	Move down one commit"]
-[mc "<Left>, z, j	Go back in history list"]
+[mc "<Up>, p, k	Move up one commit"]
+[mc "<Down>, n, j	Move down one commit"]
+[mc "<Left>, z, h	Go back in history list"]
 [mc "<Right>, x, l	Go forward in history list"]
 [mc "<PageUp>	Move up one page in commit list"]
 [mc "<PageDown>	Move down one page in commit list"]
diff --git a/po/de.po b/po/de.po
index bd194a3d..e4cf661a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -371,16 +371,16 @@ msgid "<End>\t\tMove to last commit"
 msgstr "<Ende>\t\tZur ältesten Version springen"
 
 #: gitk:2819
-msgid "<Up>, p, i\tMove up one commit"
-msgstr "<Hoch>, p, i\tNächste neuere Version"
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Hoch>, p, k\tNächste neuere Version"
 
 #: gitk:2820
-msgid "<Down>, n, k\tMove down one commit"
-msgstr "<Runter>, n, k\tNächste ältere Version"
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Runter>, n, j\tNächste ältere Version"
 
 #: gitk:2821
-msgid "<Left>, z, j\tGo back in history list"
-msgstr "<Links>, z, j\tEine Version zurückgehen"
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Links>, z, h\tEine Version zurückgehen"
 
 #: gitk:2822
 msgid "<Right>, x, l\tGo forward in history list"
diff --git a/po/es.po b/po/es.po
index 0471dd06..9c8bcd29 100644
--- a/po/es.po
+++ b/po/es.po
@@ -319,16 +319,16 @@ msgid "<End>\t\tMove to last commit"
 msgstr "<End>\t\tIr a la última revisión"
 
 #: gitk:2522
-msgid "<Up>, p, i\tMove up one commit"
-msgstr "<Up>, p, i\tSubir una revisión"
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Up>, p, k\tSubir una revisión"
 
 #: gitk:2523
-msgid "<Down>, n, k\tMove down one commit"
-msgstr "<Down>, n, k\tBajar una revisión"
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Down>, n, j\tBajar una revisión"
 
 #: gitk:2524
-msgid "<Left>, z, j\tGo back in history list"
-msgstr "<Left>, z, j\tRetroceder en la historia"
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Left>, z, h\tRetroceder en la historia"
 
 #: gitk:2525
 msgid "<Right>, x, l\tGo forward in history list"
diff --git a/po/fr.po b/po/fr.po
index 5370ddc3..ff476191 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -372,16 +372,16 @@ msgid "<End>\t\tMove to last commit"
 msgstr "<Fin>\t\tAller au dernier commit"
 
 #: gitk:2691
-msgid "<Up>, p, i\tMove up one commit"
-msgstr "<Haut>, p, i\t Aller au commit suivant"
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Haut>, p, k\t Aller au commit suivant"
 
 #: gitk:2692
-msgid "<Down>, n, k\tMove down one commit"
-msgstr "<Bas>, n, k\t Aller au commit précédent"
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Bas>, n, j\t Aller au commit précédent"
 
 #: gitk:2693
-msgid "<Left>, z, j\tGo back in history list"
-msgstr "<Gauche>, z, j\tReculer dans l'historique"
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Gauche>, z, h\tReculer dans l'historique"
 
 #: gitk:2694
 msgid "<Right>, x, l\tGo forward in history list"
diff --git a/po/hu.po b/po/hu.po
index 7262b610..af0ddda2 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -370,16 +370,16 @@ msgid "<End>\t\tMove to last commit"
 msgstr "<Ende>\t\tUtolsó commithoz"
 
 #: gitk:2816
-msgid "<Up>, p, i\tMove up one commit"
-msgstr "<Hoch>, p, i\tEgy committal feljebb"
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Hoch>, p, k\tEgy committal feljebb"
 
 #: gitk:2817
-msgid "<Down>, n, k\tMove down one commit"
-msgstr "<Runter>, n, k\tEgy committal lejjebb"
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Runter>, n, j\tEgy committal lejjebb"
 
 #: gitk:2818
-msgid "<Left>, z, j\tGo back in history list"
-msgstr "<Links>, z, j\tVissza a history listába"
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Links>, z, h\tVissza a history listába"
 
 #: gitk:2819
 msgid "<Right>, x, l\tGo forward in history list"
diff --git a/po/it.po b/po/it.po
index a730d63a..5f562109 100644
--- a/po/it.po
+++ b/po/it.po
@@ -372,16 +372,16 @@ msgid "<End>\t\tMove to last commit"
 msgstr "<End>\t\tVai all'ultima revisione"
 
 #: gitk:2819
-msgid "<Up>, p, i\tMove up one commit"
-msgstr "<Su>, p, i\tVai più in alto di una revisione"
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Su>, p, k\tVai più in alto di una revisione"
 
 #: gitk:2820
-msgid "<Down>, n, k\tMove down one commit"
-msgstr "<Giù>, n, k\tVai più in basso di una revisione"
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Giù>, n, j\tVai più in basso di una revisione"
 
 #: gitk:2821
-msgid "<Left>, z, j\tGo back in history list"
-msgstr "<Sinistra>, z, j\tTorna indietro nella cronologia"
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Sinistra>, z, h\tTorna indietro nella cronologia"
 
 #: gitk:2822
 msgid "<Right>, x, l\tGo forward in history list"
diff --git a/po/ja.po b/po/ja.po
index 4f470516..249ec150 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -372,16 +372,16 @@ msgid "<End>\t\tMove to last commit"
 msgstr "<End>\t\t最後のコミットに移動"
 
 #: gitk:2693
-msgid "<Up>, p, i\tMove up one commit"
-msgstr "<Up>, p, i\t一つ上のコミットに移動"
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Up>, p, k\t一つ上のコミットに移動"
 
 #: gitk:2694
-msgid "<Down>, n, k\tMove down one commit"
-msgstr "<Down>, n, k\t一つ下のコミットに移動"
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Down>, n, j\t一つ下のコミットに移動"
 
 #: gitk:2695
-msgid "<Left>, z, j\tGo back in history list"
-msgstr "<Left>, z, j\t履歴の前に戻る"
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Left>, z, h\t履歴の前に戻る"
 
 #: gitk:2696
 msgid "<Right>, x, l\tGo forward in history list"
diff --git a/po/ru.po b/po/ru.po
index c3d0285b..e7e6e9ef 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -350,16 +350,16 @@ msgid "<End>\t\tMove to last commit"
 msgstr "<End>\t\tПерейти к последнему состоянию"
 
 #: gitk:2646
-msgid "<Up>, p, i\tMove up one commit"
-msgstr "<Up>, p, i\tПерейти к следующему состоянию"
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Up>, p, k\tПерейти к следующему состоянию"
 
 #: gitk:2647
-msgid "<Down>, n, k\tMove down one commit"
-msgstr "<Down>, n, k\tПерейти к предыдущему состоянию"
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Down>, n, j\tПерейти к предыдущему состоянию"
 
 #: gitk:2648
-msgid "<Left>, z, j\tGo back in history list"
-msgstr "<Left>, z, j\tПоказать ранее посещённое состояние"
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Left>, z, h\tПоказать ранее посещённое состояние"
 
 #: gitk:2649
 msgid "<Right>, x, l\tGo forward in history list"
diff --git a/po/sv.po b/po/sv.po
index 386763ad..8bd72f3d 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -371,16 +371,16 @@ msgid "<End>\t\tMove to last commit"
 msgstr "<End>\t\tGå till sista incheckning"
 
 #: gitk:2819
-msgid "<Up>, p, i\tMove up one commit"
-msgstr "<Upp>, p, i\tGå en incheckning upp"
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Upp>, p, k\tGå en incheckning upp"
 
 #: gitk:2820
-msgid "<Down>, n, k\tMove down one commit"
-msgstr "<Ned>, n, k\tGå en incheckning ned"
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Ned>, n, j\tGå en incheckning ned"
 
 #: gitk:2821
-msgid "<Left>, z, j\tGo back in history list"
-msgstr "<Vänster>, z, j\tGå bakåt i historiken"
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Vänster>, z, h\tGå bakåt i historiken"
 
 #: gitk:2822
 msgid "<Right>, x, l\tGo forward in history list"
-- 
1.7.7.rc1

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]