mzgkworks.com

Stack the little bets.

ATOM vim-mode-plusのESCで、autocomplete-plusのポップアップのみ閉じる方法

   [Setting]    #ATOM

ATOMでvim-mode-plusとautocomplete-plusを導入済み。
入力中にautocomplete-plusのポップアップをESCで閉じた際に、Vimのモードをそのままにしたい。
何も設定しないと、ポップアップが閉じると同時にinsert-mode -> normal-modeになってしまう。

追加で、autocomplete-plusの変換候補の移動/確定をTab/Enterに割り当てる。

環境

  • macOS Sierra 10.12.3
  • ATOM 1.13.1
  • vim-mode-plus 0.82.0
  • autocomplete-plus 2.33.1

症状

ATOMには「vim-mode-plus」を導入済み(autocomplete-plusはデフォルトインストール)

insert-modeで入力中に、autocomplete-plusのポップアップが表示される

候補の中に必要なものがないので、ESCでポップアップを閉じる

ポップアップは閉じるが、insert-modeも抜けてnormal-modeになってしまう

insert-modeのままにしたい

対応方法

ここを参照。
atom-vim-mode-plus TIPS

keymap.csonへの追加

以下をkeymap.csonに追加する。

'atom-text-editor.vim-mode-plus.insert-mode.autocomplete-active':
  'escape': 'autocomplete-plus:cancel'

追加:autocomplete-plusで「Tab:次候補」「Enter:確定」を有効にする

以下をkeymap.csonに追加する。
ATOM上で、autocomplete-plusの設定から「Use Core Movement Commands」のチェックを外す。

# autocomplete-plusでtab:次候補 Enter:確定にする
# autocomplete-plusの設定で「Use Core Movement Commandsのチェックを外す
'body atom-text-editor.autocomplete-active':
  'ctrl-p': 'autocomplete-plus:move-up'
  'ctrl-n': 'autocomplete-plus:move-down'
  'tab': 'autocomplete-plus:move-down'
  'shift-tab': 'autocomplete-plus:move-up'
  'enter': 'autocomplete-plus:confirm'


以上