I am trying to map Ctrl+H,J,K,L to arrow keys Left,Down,Up,Right, respectively, on Ubuntu OS (globally, not inside Vim).
I've attempted the solution posted here, but the modifier commands are not working. Here is what I am trying:
xmodmap -e "keycode 45 Control_L = k Up"
xmodmap -e "keycode 45 control = k Up"(keycode 45 maps to K)
Neither commands work. (They give no errors, but Ctrl+K is not remapped to Up Arrow)
Is there a way to do this xmodmap, and if not, is there a cleaner workaround?
Thanks!
Edit: I have found my answer here - thanks to swift
2 Answers
It is surely very strange idea to turn Ubuntu into the codename "VimOS". I think much more adequate to map Vim's keys to some free and equable more cluster of the keyboard. Or definitely NOT due to it is also might be useful.
However I do not deletes my first suggest about Vim mappings and should to say that answer to your question exist here:
System wide vim-style (hjkl) navigation
Partially I agree this view (thanks to shell hell):
NOTE 3: Setting up Ctrl / Meta + H,J,K,L keybindings seems to be simplest way to have vim-style navigation but it’s not. First: you would have to do this on per application basis which is tiresome process. Second: you’ll probably end up breaking default mappings for any given application. Last but not least: some apps e.g. rtorrent or htop don’t let you change their defaults, save by patching their sourcecode. For similar reasons you won’t get job done with Super / Hyper, either.
And also I found near answer here:
Superuser: Mapping Super+hjkl to arrow keys under X
Vim uses a switching modes to mapping keys. So xmodmap for Vim it is some pluggable globals what breaks classic Vim experience. Even so to claim it sounds pathetic ;)
Vim supports several editing modes - normal, insert, replace, visual, select, command-line and operator-pending. You can map a key to work in all or some of these modes.
Mapping keys in Vim - Tutorial (Part 1)
Mapping keys in Vim - Tutorial (Part 2)
Mapping keys in Vim - Tutorial (Part 3)
I have Tux-J and Tux-K mapped to Up and Down in KDE, it is relevant for all applications. It is actually rather easy to configure.
- Go here:
System Settings -> Custom Shorcuts -> Preset Actions - Now right-click
Preset Actionsand chooseNew -> Global Shortcut -> Send Keyboard Input - Call the new shortcut
VIM-J - In the Trigger tab click the Shortcut button and them press Tux-J.
- In the Action tab enter
Down - At the bottom of the window click
Apply. - Check that the shortcut works. If so, then configure the remaining HK and L keys.
Enjoy!