Reputation: 829
I'm trying to trigger (to use) the IdeaVim multi cursor plugin: https://github.com/JetBrains/ideavim#emulated-vim-plugins -> multiple-cursors
In the github docs we have commands: <A-n>
, <A-x>
, <A-p>
, g<A-n>
to trigger/use this plugin, but I'm not able to make this plugin working at all...
I've added in my .ideavimrc set multiple-cursors
.
Am I missing something?
I'm using OSX (if that's important).
Upvotes: 28
Views: 14083
Reputation: 176
Add caret below or above the line. Using "Shift + Down" and "Shift + Up"
nmap <S-Down> :action EditorCloneCaretBelow<CR>
nmap <S-Up> :action EditorCloneCaretAbove<CR>
Upvotes: 1
Reputation: 18583
As mentioned in other answers, macOS treats <A-n>
as a "dead key" in order to enter accented characters, such as ñ
(<A-n>n
). It doesn't seem possible to disable this programmatically, and you have to use an alternative keyboard input source to work around this.
However, the <A-n>
keys are not the keys used by the extension that IdeaVim's multiple-cursors
is based on (terryma/vim-multiple-cursors). I'm not sure where they came from, but vim-multiple-cursors uses <C-n>
, <C-p>
and <C-x>
and only uses <A-n>
to select all occurrences, which is different to the IdeaVim behaviour. There is an issue tracking the wrong key mappings - VIM-2178.
In the meantime, you can remap the keys to match the Vim plugin by adding the following to your ~/.ideavimrc
:
" Remap multiple-cursors shortcuts to match terryma/vim-multiple-cursors
nmap <C-n> <Plug>NextWholeOccurrence
xmap <C-n> <Plug>NextWholeOccurrence
nmap g<C-n> <Plug>NextOccurrence
xmap g<C-n> <Plug>NextOccurrence
xmap <C-x> <Plug>SkipOccurrence
xmap <C-p> <Plug>RemoveOccurrence
(Updated 27/06/2023: Removed the normal mode mappings for <C-x>
and <C-p>
to prevent unexpected characters entered into text)
And you can work around the <A-n>
issue for "select all occurrences" by mapping to something else, such as Shift+Ctrl+n:
" Note that the default <A-n> and g<A-n> shortcuts don't work on Mac due to dead keys.
" <A-n> is used to enter accented text e.g. ñ
nmap <S-C-n> <Plug>AllWholeOccurrences
xmap <S-C-n> <Plug>AllWholeOccurrences
nmap g<S-C-n> <Plug>AllOccurrences
xmap g<S-C-n> <Plug>AllOccurrences
Upvotes: 30
Reputation: 829
Yeah, tnx for reminding me for that!
Actually, now in OSX Mojave, we can just choose Unicode Hex Input
in keyboard Input Sources
And that's about it... Now everything is ok and special characters are disabled on (alt/option + ) input, and I can use all the shortcuts without any problem :)
Upvotes: 25
Reputation: 4869
OSX has special characters that are mapped to option+key. You should disable them using this for example.
After that write this text:
Hello world!
Hello world!
Hello world!
Hello world!
put caret on Hello
and press <A-n>
several times. All Hello
should be selected with a separate caret for each word.
Upvotes: 4