2016-03-22 2 views
2

Я хотел бы использовать функцию IntelliJ, которая преобразует Java-код в Kotlin путем простого копирования из файла Java в файл Kotlin. Он отлично работает, но когда я включаю плагин IdeaVim, он больше не работает. Я знаю Vim прилично, и я не проблема в том, что я неправильно понял режимы редактирования Vim. Я знаю How can I convert a part of Java source file to Kotlin? и отвечаю @yole, говоря, что для этого нет другого инструмента.Плагин IdeaVim от IntelliJ отключает преобразование Java в Kotlin

Но этот ответ был сделан более 3 месяцев назад, и, возможно, появился какой-то другой инструмент. Итак, мой вопрос: если кто-то нашел обходное решение, чтобы плагин IdeaVim сотрудничал с Java в преобразовании Kotlin. Я уже сделал билет на YouTrack: https://youtrack.jetbrains.com/issue/VIM-1103, но, честно говоря, я не уверен, будет ли он разрешен.

ответ

1

Хорошо, парень из JetBrains ответил на мою проблему. Очевидным обходным решением (которое я не понял) является копировать и вставлять из контекстного меню. Затем появляется вопрос с конверсией. ИМО представляется маловероятным, что IdeaVim плагин будет поддерживать эту функцию дергает и ввод (копирование и вставка Vim,), а из:

Запуск IDE действия на копирование и вставка может быть хорошей идеей, но мы не уверены, он не нарушит рабочий процесс текущих пользователей.

+0

Как я писал выше: сопоставьте действие 'EditorPast' с вашим любимым ярлыком или пусть IDEA обрабатывает' 'ярлык. – Peter

+0

Но не работал, потому что плагин Vim каким-то образом перехватывает вставку и типичный ярлык Vim «p» вставляет текст, но я могу попробовать переназначить «EditorPaste». – koto

+0

См. Мое последнее изменение. Существует параметр, определяющий, какой обработчик должен обрабатывать определенное действие. – Peter

1

Плагин vim использует функции буфера обмена и прошлых функций. Когда вы вводите :actionlist, вы получаете список идейных действий, которые вы можете использовать в своем файле .ideavimrc для сопоставления ключевых карт с идеями. Используйте команду :action COMMAND для выполнения команды.

т.е .:

norepmap <C-w>q :action VimWindowClose<cr>

закрывает текущее окно.

Кроме того, вы можете выполнить поиск конкретного action с помощью :actionlist Past. Этот список

EditorPast <C-V> <S-ins>

среди других вещей.

Если вы хотите проверить, является ли EditorPast правильной командой, вы можете проверить его, используя :action EditorPaste.

Другой способ сделать эту работу - позволить идее обрабатывать ярлык <C-v>. Это можно сохранить с помощью настроек Settings -> Other Setting -> Vim Emulation. Обработчик (vim или idea) можно определить с помощью этой настройки.

+0

Спасибо за ответ, но когда я типа ': actionList' я получаю сообщение от IDE (на нижней панели) говоря: 'ВИМ - не команда редактора: ActionList' – koto

+1

Try': actionlist' .. не ': ActionList ' – Peter

+0

': actionlist' в порядке :) Я скоро приступлю к этой команде и ее возможностям, но я думаю, что это не проблема. Я ** могу ** сделать копию-вставку, и я это делаю, но проблема заключается не в самой команде Vim, а в поведении IDE (или в плагине IDE), вот как я ее вижу. – koto

Смежные вопросы