IdeaVim,多光标使用
IdeaVim, multi cursor usage
我正在尝试触发(使用)IdeaVim 多光标插件:https://github.com/JetBrains/ideavim#emulated-vim-plugins -> 多光标
在 github 文档中我们有命令:<A-n>
、<A-x>
、<A-p>
、g<A-n>
到 trigger/use 这个插件,但是我根本无法让这个插件工作...
我已经添加到我的 .ideavimrc set multiple-cursors
。
我是不是漏掉了什么?
我正在使用 OSX(如果这很重要的话)。
OSX 具有映射到 option+key 的特殊字符。例如,您应该使用 this 禁用它们。
然后写下这段文字:
Hello world!
Hello world!
Hello world!
Hello world!
将插入符放在 Hello
上并按 <A-n>
几次。所有 Hello
都应该选择,每个单词都有一个单独的插入符号。
是的,谢谢你提醒我!
实际上,现在在 OSX Mojave 中,我们只需在键盘输入源中选择 Unicode Hex Input
就是这样...现在一切正常,在 (alt/option + ) 输入上禁用了特殊字符,我可以毫无问题地使用所有快捷方式:)
如其他答案中所述,macOS 将 <A-n>
视为“死键”以输入重音字符,例如 ñ
(<A-n>n
)。似乎无法以编程方式禁用此功能,您必须使用替代键盘输入源来解决此问题。
但是,<A-n>
键不是IdeaVim的multiple-cursors
所基于的扩展所使用的键(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.
与此同时,您可以通过将以下内容添加到 ~/.ideavimrc
来重新映射键以匹配 Vim 插件:
" 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
nmap <C-x> <Plug>SkipOccurrence
xmap <C-x> <Plug>SkipOccurrence
nmap <C-p> <Plug>RemoveOccurrence
xmap <C-p> <Plug>RemoveOccurrence
并且您可以通过映射到其他内容来解决“select 所有事件”的 <A-n>
问题,例如 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
我正在尝试触发(使用)IdeaVim 多光标插件:https://github.com/JetBrains/ideavim#emulated-vim-plugins -> 多光标
在 github 文档中我们有命令:<A-n>
、<A-x>
、<A-p>
、g<A-n>
到 trigger/use 这个插件,但是我根本无法让这个插件工作...
我已经添加到我的 .ideavimrc set multiple-cursors
。
我是不是漏掉了什么?
我正在使用 OSX(如果这很重要的话)。
OSX 具有映射到 option+key 的特殊字符。例如,您应该使用 this 禁用它们。
然后写下这段文字:
Hello world!
Hello world!
Hello world!
Hello world!
将插入符放在 Hello
上并按 <A-n>
几次。所有 Hello
都应该选择,每个单词都有一个单独的插入符号。
是的,谢谢你提醒我!
实际上,现在在 OSX Mojave 中,我们只需在键盘输入源中选择 Unicode Hex Input
就是这样...现在一切正常,在 (alt/option + ) 输入上禁用了特殊字符,我可以毫无问题地使用所有快捷方式:)
如其他答案中所述,macOS 将 <A-n>
视为“死键”以输入重音字符,例如 ñ
(<A-n>n
)。似乎无法以编程方式禁用此功能,您必须使用替代键盘输入源来解决此问题。
但是,<A-n>
键不是IdeaVim的multiple-cursors
所基于的扩展所使用的键(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.
与此同时,您可以通过将以下内容添加到 ~/.ideavimrc
来重新映射键以匹配 Vim 插件:
" 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
nmap <C-x> <Plug>SkipOccurrence
xmap <C-x> <Plug>SkipOccurrence
nmap <C-p> <Plug>RemoveOccurrence
xmap <C-p> <Plug>RemoveOccurrence
并且您可以通过映射到其他内容来解决“select 所有事件”的 <A-n>
问题,例如 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