====== IntelliJ IdeaVim ======
* [[https://plugins.jetbrains.com/plugin/164-ideavim|IdeaVim - plugin for IntelliJ IDEs | JetBrains]]
* [[https://github.com/JetBrains/ideavim|JetBrains/ideavim: Vim emulation plugin for IDEs based on the IntelliJ Platform]]
* IntelliJ 에서 [[:vim|Vim]] 사용
* [[https://github.com/JetBrains/ideavim/wiki/Home/49ff040ebd078775175a58636b826dfad54013a5|ideavim wiki]]
* [[http://ideavim.sourceforge.net/vim/change.html|IdeaVIM Help: change]]
===== 설정 파일 =====
* [[https://github.com/kwon37xi/dotfiles/blob/main/ideavim/.ideavimrc|~/.ideavimrc]]
===== actions =====
* '':action {action_id}'' 로 IntelliJ Idea 의 행위를 실행할 수 있다.
* '':actionlist [pattern]'' : 액션의 목록을 볼 수 있다.
* ''IdeaVim: track action Ids'' 설정을 활성화 하면 IntelliJ 에서 한 행위들에 대한 Action ID를 볼 수 있게 된다.
* 키보드 매핑
map 단축키 (action_id)
" 예
" Map \r to the Reformat Code action
map \r (ReformatCode)
" Map d to start debug
map d (Debug)
" Map \b to toggle the breakpoint on the current line
map \b (ToggleLineBreakpoint)
===== 관련 도우미 plugin =====
* [[https://github.com/JetBrains/ideavim/wiki/Emulated-plugins|Emulated Plugins]]
==== easy-motion ====
set easymotion
* 두 가지 플러그인이 모두 설치돼 있을 경우 [[https://github.com/easymotion/vim-easymotion|vim-easymotion]] 기능 수행
* [[https://plugins.jetbrains.com/plugin/13360-ideavim-easymotion|IdeaVim-EasyMotion]] : 단축키 확인
* [[https://plugins.jetbrains.com/plugin/7086-acejump/|AceJump]]
==== surround ====
set surround
* [[https://github.com/tpope/vim-surround|vim-surround]] 단축키 확인
==== commentary ====
set commentary
* [[https://github.com/tpope/vim-commentary|vim-commentary]]
==== multiple-cursors ====
set multiple-cursors
* [[https://github.com/terryma/vim-multiple-cursors|vim-multiple-cursors]]
==== 문자열 대체 새줄 기호(substitute, new line) ====
* [[:vim|Vim]] 에서는 명령모드(command-line mode) '':s/ab/a^Mb/g'' 명령으로 문자열 대체시에 ''^M''을 ''''로 입력하면 ''ab'' 문자열이 ''a'' 그리고 줄바꿈 후 ''b''로 대체 된다.
* ideavim 은 ''다른키''를 통한 특수문자 입력을 지원하지 않고 있다.
* 이 경우 '':s/ab/a\rb/g'' 처럼 ''\r''로 새줄기호를 나타내면 작동한다. 어떤 경우에는 ''\n''이 새줄기호 역할을 하기도 한다고 한다.
===== 참조 =====
* [[https://www.youtube.com/watch?v=k5SIQPEO21A|DroidKnights 2018 김용준 AndroidStudio에서 Vim사용과 IdeaVim 커스터마이징 / track-2-7 - YouTube]]
* [[https://www.youtube.com/watch?v=2-JRjASP75E|Mouseless Development with IdeaVim - Miguel Beltran - Berlindroid - YouTube]]
* [[https://woowabros.github.io/tools/2016/06/18/ideavim-customize-00.html|IntelliJ 의 VIM 플러그인 마개조하기 - 우아한형제들 기술 블로그]]
* [[https://johngrib.github.io/wiki/config-ideavim/|IdeaVim 설정하기 - 기계인간 John Grib]]
* [[https://bylee5.tistory.com/102|IdeaVim :: 꾸준하게]]
* [[https://danidiaz.medium.com/configuring-ideavimrc-de16a4da0715|Configuring .ideavimrc. This is my current .ideavimrc. | by Daniel Díaz Carrete | Medium]]
* [[https://topic.alibabacloud.com/a/ideavim-plugin-usage-tips-jetbrains-plugin-vim_1_57_30151231.html|Ideavim Plugin usage tips--jetbrains Plugin Vim]]