Shift を含むキーの組み合わせで選択なしのカーソル移動をしたい

emacs-keybindings plugin の開発をしています。
ファイルの先頭や末尾にカーソルを移動するコマンドが emacs では alt-<alt-> であるため、それらのキーに editor:go-doc-starteditor:go-doc-end を割り当ててみたのですが、<> がshiftを押した状態で入力するキーであるため、選択領域が広がってしまいます。

editor:go-doc-start ではなく CodeMirror の goDocStart を実行してみましたが、やはり選択領域が広がってしまいました。

shiftを含むキーの組み合わせで、単純にカーソル移動のみを行うことをはできますか?

利用環境

  • Platform: (Manjaro Linux)
  • App Version: (4.6.0)

Shunichiさん

こんにちは。
editor:go-doc-startは内部で goDocStart を呼び出しているので挙動は等価です。
このコマンドのCodeMirrorの内部実装を見てみました:

extendSelection はドキュメントによると:

Similar to setSelection , but will, if shift is held or the extending flag is set, move the head of the selection while leaving the anchor at its current place.

つまりアンカーは動きません。
なのでこの場合は setSelectionsetSelections を代わりに呼び出せばよいかと思われます。
ご参考下さい。

ありがとうございます。
参考にしてみます。

setSelection で意図通りの挙動にできました。
ありがとうございます!

1 Like

お、よかったです!