razzi.abuissa.net/

Useful keyboard shortcut: autocomplete (⌥S)

When filling out of text input, I often wish to accept the autocompletion provided. This requires hitting the down arrow to select the suggestion and then hitting enter to accept the completion. I don't like having to use arrow keys and I found myself doing this quite often, so I made a keyboard shortcut for accepting an autocompletion.

submit button demo

Using Karabiner made this remap straightforward. First, I remapped my right option key to a control key, since I use control key shortcuts frequently and my Macbook keyboard doesn't have a right control key.

karabiner options

I then added a remapping for control-s remap to my private.xml:

<item>
  <name>Control s to down and submit</name>
  <identifier>private.control_s_to_submit</identifier>
  <autogen>__KeyToKey__
    KeyCode::S, ModifierFlag::CONTROL_R,
    KeyCode::CURSOR_DOWN,
    KeyCode::ENTER
  </autogen>
</item>

Now, whenever I want to choose the first autocomplete option, I simply hit ⌥S.

Using ⌥S with the fish shell

I'm a huge fan of fish autosuggestions, but having to use the right arrow key is similarly troublesome to using the down arrow. To allow the same keyboard shortcut to use fish completions as well, I modified the key remap to press the right arrow key first. This doesn't mess with conventional inputs since the cursor is already all the way to the right, and now ⌥S works in my shell as well.

<item>
  <name>Control s to right, down and submit</name>
  <identifier>private.control_s_to_right_submit</identifier>
  <autogen>__KeyToKey__
    KeyCode::S, ModifierFlag::CONTROL_R,
    KeyCode::CURSOR_RIGHT,
    KeyCode::CURSOR_DOWN,
    KeyCode::ENTER
  </autogen>
</item>

Here I type py and then ⌥S to run the suggested command.

fish shell demo

You can find my full set of keyboard remaps at https://github.com/razzius/personal/blob/master/key_remaps/private.xml.