diff --git a/tmp/usr/share/X11/xkb/rules/base.lst b/usr/share/X11/xkb/rules/base.lst
index a08a4a4..3fc4e84 100644
--- a/tmp/usr/share/X11/xkb/rules/base.lst
+++ b/usr/share/X11/xkb/rules/base.lst
@@ -300,6 +300,7 @@
   hbs             us: Serbo-Croatian (US)
   workman         us: English (Workman)
   workman-intl    us: English (Workman, international with dead keys)
+  vim             us: English (US, with Vim-style motion keys)
   ps              af: Pashto
   uz              af: Uzbek (Afghanistan)
   olpc-ps         af: Pashto (Afghanistan, OLPC)
diff --git a/tmp/usr/share/X11/xkb/rules/base.xml b/usr/share/X11/xkb/rules/base.xml
index 0969c95..fcc8d24 100644
--- a/tmp/usr/share/X11/xkb/rules/base.xml
+++ b/usr/share/X11/xkb/rules/base.xml
@@ -1444,6 +1444,12 @@
             <description>English (Workman, international with dead keys)</description>
            </configItem>
          </variant>
+        <variant>
+          <configItem>
+            <name>vim</name>
+            <description>English (US, with Vim-style motion keys)</description>
+           </configItem>
+         </variant>
       </variantList>
     </layout>
     <layout>
@@ -6926,4 +6932,4 @@
       </option>
     </group>
   </optionList>
-</xkbConfigRegistry>
\ No newline at end of file
+</xkbConfigRegistry>
diff --git a/tmp/usr/share/X11/xkb/rules/evdev.lst b/usr/share/X11/xkb/rules/evdev.lst
index a08a4a4..3fc4e84 100644
--- a/tmp/usr/share/X11/xkb/rules/evdev.lst
+++ b/usr/share/X11/xkb/rules/evdev.lst
@@ -300,6 +300,7 @@
   hbs             us: Serbo-Croatian (US)
   workman         us: English (Workman)
   workman-intl    us: English (Workman, international with dead keys)
+  vim             us: English (US, with Vim-style motion keys)
   ps              af: Pashto
   uz              af: Uzbek (Afghanistan)
   olpc-ps         af: Pashto (Afghanistan, OLPC)
diff --git a/tmp/usr/share/X11/xkb/rules/evdev.xml b/usr/share/X11/xkb/rules/evdev.xml
index 0969c95..fcc8d24 100644
--- a/tmp/usr/share/X11/xkb/rules/evdev.xml
+++ b/usr/share/X11/xkb/rules/evdev.xml
@@ -1444,6 +1444,12 @@
             <description>English (Workman, international with dead keys)</description>
            </configItem>
          </variant>
+        <variant>
+          <configItem>
+            <name>vim</name>
+            <description>English (US, with Vim-style motion keys)</description>
+           </configItem>
+         </variant>
       </variantList>
     </layout>
     <layout>
@@ -6926,4 +6932,4 @@
       </option>
     </group>
   </optionList>
-</xkbConfigRegistry>
\ No newline at end of file
+</xkbConfigRegistry>
diff --git a/tmp/usr/share/X11/xkb/symbols/us b/usr/share/X11/xkb/symbols/us
index d5a6c18..57da5e2 100644
--- a/tmp/usr/share/X11/xkb/symbols/us
+++ b/usr/share/X11/xkb/symbols/us
@@ -1561,3 +1561,15 @@ partial alphanumeric_keys
 	xkb_symbols "sun_type6" {
 	include "sun_vndr/us(sun_type6)"
 };
+
+partial alphanumeric_keys
+xkb_symbols "vim" {
+
+    include "us(basic)"
+    name[Group1]= "English (US, with Vim-style additional keys)";
+
+    key <AC06> {	[	  NoSymbol,	NoSymbol,   Left, NoSymbol		]	};
+    key <AC07> {	[	  NoSymbol,	NoSymbol,   Down, NoSymbol		]	};
+    key <AC08> {	[	  NoSymbol,	NoSymbol,   Up,   NoSymbol		]	};
+    key <AC09> {	[	  NoSymbol,	NoSymbol,   Right, NoSymbol		]	};
+};
