Those who have stepped into the world of Vim halfway and are in the following situations
[If you get lost, this] Enter the following on the terminal
$ cd && git clone https://github.com/mojamozya/allapps-vimlike.git
[If you get lost, this]
$ echo 'xkbcomp -I$HOME/allapps-vimlike/.xkb ~/allapps-vimlike/.xkb/keymap/mykbd $DISPLAY 2> /dev/null' >> ~/.bashrc
For now, anyone who writes Simply mapped (Mapped with XKB) in the repository will be able to do it.
If you have not set the terminal to start up at startup, please start up the terminal every time you start up.
$ sudo apt install autokey-gtk
If you're not Gnome, maybe autokey-qt
$ autokey
Due to the specifications of Autokey, this is a bit confusing. For the time being, you can delete all the folders and phrases that are included in autokey by default.
On the Autokey screen, select File
-> New
-> Folder
from the menu bar, and then
Select ʻUse Default and create a folder called
general in the default location. There should be a folder called general in ~ / .config / autokey / data, so Make a symlink there ʻallapps-vimlike / .autokey / general / vimlike
.
[If you get lost, this]
After creating a folder called general
in the default location as described above from the Autokey screen,
$ ln -s ~/allapps-vimlike/.autokey/general/vimlike ~/.config/autokey/data/general
For ubuntu, you can just add it to session, People from other distributions should check it out for themselves.
You may add ʻautokey` to bashrc, but It may be a bit dull that autokey is restarted every time the terminal starts up
Can be used.
Since the conversion key maps to the Hyper key, Read the key mapping as Hyper = Transform.
You can probably see how to make Hyper other than the conversion key by looking at the atmosphere of the source around xkb. If there is demand, I will write a specific method, but I will omit it because it is sober and troublesome.
(A simple keymap is also written in the repository)
Like Vim, the cursor is hjkl. In other words, if you press the conversion key and hjkl at the same time, they will become cursor keys.
Esc also shakes Ctrl + [
and Ctrl + @
as a countermeasure when the little finger does not reach.
(I often mistakenly press [and @)
The point is that BackSpace and Delete are assigned to ;
and :
respectively.
I don't hear as much deletion as the original Vim, so
By pressing; to delete it, it's not like Vim, but it's a normally useful shortcut.
(Just hitting; with your little finger will make you tired, so it may be good to set backspace around i.)
: Well, that's the feeling, "If you press the right side of Backspace, the right side of the cursor disappears." If you feel like Vim, press x. I think it doesn't matter which one.
It also features a and e with Emacs-like key bindings. For convenience of pressing the conversion key at the same time There is some stress when you press ^, When you press Shift + $ It is as stressful as when a smoker has not smoked for 3 hours.
So, I tried to use Emac key binding here.
Pushed keys | Mapped Keys | Like | Usage |
---|---|---|---|
Hyper + h | ← | Vim | Cursor key |
Hyper + j | ↓ | Vim | Cursor key |
Hyper + k | ↑ | Vim | Cursor key |
Hyper + l | → | Vim | Cursor key |
Hyper + ; | BackSpace | Original | Backspace |
Hyper + x | BackSpace | Original | Backspace |
Hyper + : | Delete | Original | Delete |
Hyper + a | Home | Emacs | Move cursor to the head of line |
Hyper + e | End | Emacs | Move cursor to the end of line |
Hyper + m | Enter | Emacs | Enter key |
Hyper + Ctrl + [ | Esc | Vim | Esc (Mapped with AutoKey) |
Hyper + Ctrl + @ | Esc | Vim | Esc (Mapped with AutoKey) |
From here on, I'm doing something a little complicated.
{Ctrl + cursor key moves the cursor in a nice way, IME function? OS function? I don't know that, but it behaves a bit like Vim's ʻe
or b
.
But I'm using ʻein Emacs binding, so I assigned
Ctrl + →to
w, which behaves like ʻe
.
Ctrl + →
is more like ʻe, though. But after all, the details are different from ʻe
, so it doesn't matter which one.
Similarly, Ctrl + ←
is assigned to b
.
Also, like ʻo. By setting a macro that moves to the end of the line with the End key and then presses the Enter key It reproduces Vim's ʻo
in a pseudo manner.
How to reproduce Shift + o
is difficult.
If you want to make the IDE indentation look good, just leave it as it is.
If you want it to work even when you're on the top line, maybe Home-> Enter-> ↑
?
Pushed keys | Mapped Keys | Like | Usage |
---|---|---|---|
Hyper + Shift + b | Ctrl + ← | Vim | Move cursor to the head of word |
Hyper + Shift + w | Ctrl + Shift + → | Vim | Secelt the range from current cursor to the head of word |
Hyper + w | Ctrl + → | Vim | Move cursor to the end of word |
Hyper + Shift + w | Ctrl + Shift + → | Vim | Secelt the range from current cursor to the end of word |
Hyper + o | End -> Enter | Vim | Make a line below current cursor |
Hyper + Shift + o | ↑ -> End -> Enter | Vim | Make a line above current cursor |
Shortcut (Mapped with Autokey)
The rest is a shortcut.
Personally, Ctrl + x
, Ctrl + c
, and Ctrl + v
are next to each other.
I don't really like it.
If you want to copy it, paste it and you're done! I'll do it!
It will get better.
So, I'm swinging to d, y, p, and so on.
Since it was difficult to reproduce dd
and yy
,
I made the hotkeys Ctrl + d
and Ctrl + y
.
Then, you can go back to the beginning of the line with a and delete (yank) with Shift + d (y), so it's okay.
Is it like Ctrl + a-> Ctrl + k
in Emacs? I don't know because I'm not familiar with Emacs.
I also don't like Ctrl + z
because it makes my fingers cramped when I press it.
I don't like Redo with Ctrl + Shift + z
because of the risk of pressing it incorrectly.
So I reproduced it with ʻuand
Ctrl * r`.
Pushed keys | Mapped Keys | Like | Usage |
---|---|---|---|
Hyper + u | Ctrl + z | Vim | Undo |
Hyper + Ctrl + r | Ctrl + Shift + z | Vim | Redo |
Hyper + y | Ctrl + c | Vim | Copy |
Hyper + Ctrl + d | Home -> Shift + End -> Ctrl + c -> ← | Vim | Cut |
Hyper + Shift + y | Ctrl + End -> Ctrl + c -> → | Vim | Copy the range from current cursor to the end of line |
Hyper + d | Ctrl + x | Vim | Cut |
Hyper + Ctrl + d | Home -> Shift + End -> Ctrl + x -> Delete | Vim | Cut |
Hyper + Shift + d | Ctrl + Shift + End -> Ctrl + x | Vim | Cut the range from current cursor to the end of line |
Hyper + p | Ctrl + v | Vim | Paste |
When using with vscode, I think it's a good idea to set Keyboard: Dispatch to keyCode
.
This may make some shortcuts in vscode behave erratically.
In that case, if you play with the keyboard shortcuts of vscode, it will be cured.
I cannot take responsibility even if the personal computer is broken due to something TT If you have any questions, please.