Closed mattn closed 12 years ago
挿入モードの <C-g>
はデフォルトで複数の機能のプレフィックスとして割り当てられているので、このキーを使うとキーマッピング確定待ちが発生してしまいます。
Vim でこのキーを使うのは現実的ではないかと思います。
んー。だんだんeskkを使うメリットはなくなってきたw
ちなみにそれってmapじゃないので確定待ちにならない気がする
試して見ましたが、確定待ちになります。
なる上に、<C-g>
の時点で展開されてしまうので、<C-g>u
などの入力が不可能になります。
対応しました。 06c82376d2379ec9b4fe23d1813d4e7eebd36582
んー。だんだんeskkを使うメリットはなくなってきたw
@mattn これはどういう意味です?
試して見ましたが、確定待ちになります。 なる上に、
の時点で展開されてしまうので、 u などの入力が不可能になります。
ふむ。どうしましょう。やっぱ他のキーに割り当てた方がいいですかね。
僕の環境だと入力待ちにならないんですよね。inoremap <c-g>
は No mapping found
なので。
@mattn これはどういう意味です?
<C-g>
の使えないskkはなー...という意味です。
<C-g>u
とかありますよね。そういうのはどうしてます?
それともset notimeoutしてるとか?
自分はこの件に関してはユーザで自由にマッピングできるのがいいと考えてます。
僕の環境だと入力待ちにならないんですよね。inoremap
は No mapping found なので。
と書いた通り僕は基本何も弄らないです。
<c-g>u
なんかはマップじゃないので、vimのソース的には<c-g>
で入力待ちにはならないと思うんだけどなー。こういうのはコードで no_mapping++ みたいなのしてるはず。かなモード抜けて <c-g>
のマップが解けるなら問題無いと思うんだけど。
試して見ましたが、確定待ちになります。
すいません。これ改めて確認したところ、私の設定のせいでした。もうしわけない。
ただ、<C-g>u
等が効かなくなるのは確かです。lmap 中だけなら問題はないかもしれませんが。
あー本当ですね...
<C-g>
に続くマッピング全て消したら<C-g>
が即時実行されました。
<C-g>
に続くマッピングはなくて<C-g>
のマッピングのみある場合、組み込みの<C-g>u
みたいなマッピングは入力できないんですね。
thincaさんとかぶった
KeyTypedを判別してるはずなので、feedkeys("<c-g>u>", "n")
的な事やinoremapのrhsで送出しているのであればいけるかと。
対処したのでとりあえずクローズしときます。
仮入力がある場合は消え、候補選択中であればキャンセルされ、というのがオリジナルの動作です。 バックスペースに似てるのでそれを流用すれば良いかと。