【Eclipse】キーバインド設定


私のEclipse3.3では、[HOME]キーで行の先頭へ行けません。(場合によって)

下記ソース編集中、カーソルが
●1 にある場合、[Home]キー押すとコメント文字列の先頭までしかジャンプしません。
●2 の位置で[Home]した場合、code()の左位置までしかジャンプしません。
さらに[Home]すると、行頭までカーソルがジャンプします。

-----------------------------------
// <<--コメントの先頭(3桁目)に着く ●1
if (true) {
  ↓コードの先頭までしか飛ばない
  code();  // ●2
}
0123456789
↑ 1度の[Home]で0桁目までジャンプさせたい
-------------------------------------

1度で実際の行頭までジャンプさせるにはどう設定すれば良いのでしょうか?

[設定]→[キー]を見ると、
コマンド →[行の先頭]
バインディング→[Home]
場合 →[テキストの編集]
カテゴリー →[テキスト編集]
となっていて、正しく設定されているように見えます。
(バインディング列のキー競合もなし)


回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2008/09/17 00:05:46
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Mook No.1

回答回数1314ベストアンサー獲得回数393

ポイント100pt

コメントの内容そのままですが、お言葉に甘えて回答します。


キーマクロということなので、Eclipse Monkey をご利用でしょうか。

http://journal.mycom.co.jp/column/ide/031/index.html

今回の回答で探してみて見つかったのですが、面白そうな機能ですね。


キーバインドではキーアサインの変更はできても、先頭への移動の動作そのものは変更はできないようですので、

下記の操作で代替してはどうかと思います。

「押しても駄目なら引いてみろ」ということで、Home が駄目なら End でどうかという回答です。


End →カーソル↑カーソルShft+↓カーソルCtl+C↑カーソルCtl+V
id:radio3

Mook様

お手数をおかけいたしました。

スペシャリストからの「できない」という意見も

非常に役に立ちます。

「行の二重化」はトップクラスの使用頻度なので(私だけ?)

どうして標準装備されてないのか不思議です。


今回のソリューションはお見事でした!

本当にありがとうございました!!

2008/09/17 00:04:57
  • id:Mook
    以前のバージョンは知りませんが、3.3 ではそれが正常な挙動だと思います。

    2回押せば行頭に行きますし、1回で文字の先頭に移動するので、
    それはそれで便利だと思いますが、我慢できないでしょうか。

    ショートカットのカスタマイズが可能かを調べてみましたが、キーバインドに
    自作ショートカットキーを追加するのは簡単ではないようです。
  • id:radio3
    Mook様
    ありがとうございます!

    おっしゃるとおり便利なのですが、
    キーボードマクロを使おうとしているので、
    他ソフトと同じ動きをしてもらいたい、というわけなのです。

    キーボードマクロ(キー再現ツール)で実現しようとしているのは、
    「現在行の二重化」です。

    「現在行をコピーして挿入する」という程度のことで、
    JavaScriptやらEclipseマクロのことを勉強しなければならない
    というのは大変で...
  • id:Mook
    そういうことでしたら、冗長ですが下記のキー操作でどうでしょうか。

    End ⇒ →カーソル ⇒ ↑カーソル ⇒ Shft+↓カーソル ⇒ Ctl+C ⇒ ↑カーソル ⇒ Ctl+V
  • id:radio3
    !!Mook様!!
    素晴らしいソリューションありがとうございます!
    私とは脳みそのレベルが違います。
    御礼させていただきます。
    ありがとうございました。
  • id:radio3
    Mook様
    ユーザー間ポイント送信できると思っていたら
    難しくなってました。

    御礼させていただきたいので、
    質問への回答(内容はなんでも(宣伝やらおふさげでも(^^))OK)
    を入れていただけますでしょうか?
    御礼させてください。
  • id:Mook
    お言葉に甘えて、回答に記載させていただきました。
  • id:paradox1984
    homeキーのバインド除去することで、必ず行頭にカーソルが移動します。
  • id:Mook
    おお、なるほど。
    Line Start 自体が今回の原因ですから、そもそものHomeキーの機能にすればいいわけですね。
    まぁ、Line Start を生かしつつ対応できるということで(ちょっと、いいわけ)。
  • id:Mook
    キーバインドを見ていて、もっと単純な方法があることに気がつきました。
    そういう意味では、上記の回答はちょっと近視眼的でした。


    キーの中に、Copy Lines というコマンドがあります。
    これは選択されている行(1行ならカーソルがある行)をそのまま複製するものなので、
    直接これを利用すればワンステップで処理ができます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません