読者です 読者をやめる 読者になる 読者になる

サクラエディタとeclipseでよく使っているキーボードショートカットと、それら(+α)のSublimeTextでのキーバインドをメモ

ブログすごい久しぶりーふ。。これでSublimeTextでRailsを使う下ごしらえはできたかな。。

キーボードショートカットが大好きです。
サクラエディタeclipseでそれぞれ個人的によく使っているショートカットキーをリストアップして、SublimeText2ではどうやるのかを調べようと思います。
以下、機能名は適当。Ctrl+Sとかよくあるやつは省略。

サクラエディタでよく使っているショートカットキー

機能 キー
行ブックマーク Ctrl+F2
行ブックマークトグル F2
行ブックマーク全解除 Ctrl+Shift+F2
検索 Ctrl+F
置換 Ctrl+R
grep Ctrl+G
行コピー Ctrl+C
行カット Ctrl+E
行削除 Ctrl+Shift+E
選択行の行頭/行末空白削除 Alt+L/R
選択行昇順/降順ソート Alt+A/D
選択範囲小文字化/大文字化 Ctrl+F6/F7
矩形選択 Alt推したままマウスで選択 or Alt+矢印キーで矩形選択開始
折り返し解除 Ctrl+Alt+X
指定桁折り返し/折り返し解除 Ctrl+Alt+U
キーマクロ記録開始/終了 Ctrl+Shift+M
キーマクロ実行 Ctrl+Shift+L

矩形選択が便利。サクラエディタ使っていて矩形選択を使わないのは損。

eclipse(※.javaファイルの編集)でよく使っているショートカットキー

機能 キー
検索/置換 Ctrl+F
grepみたいなものとかいろいろ検索 Ctrl+H
戻る/進む Alt+←/→
呼び出し階層を開く Ctrl+Alt+H
型を開く Ctrl+Shift+T
型階層を開く F4
クイック階層 Ctrl+T
クイックアウトライン Ctrl+O
定義へジャンプ F3
対応する括弧へジャンプ Ctrl+Shift+P
前後のメンバへジャンプ Ctrl+Shift+↑or↓
行削除 Ctrl+D
行入れ替え Alt+↑or↓
矩形選択 Alt+Shift+A
入力補完 Ctrl+Space
import補完 Ctrl+Shift+M
フォーマッタ Ctrl+Shift+F
クイックフィックス Ctrl+1
クイックアシスト Ctrl+2
ビュー移動 Ctrl+F7

eclipseの矩形選択はサクラエディタほど使いやすくはないという認識だったんだけど、今やってみたらあまり変わらなかった。eclipseのバージョンが古いと使いにくいかも?
デバッグ関係は省略。

参考

Eclipseのショートカットキー

じゃあSublimeText2では?

Ruby on Rails勉強用に自分かよく使いそうなものだけです。Windows版です。

機能 キー
行ブックマーク Ctrl+F2
行ブックマークトグル F2
行ブックマーク全解除 Ctrl+Shift+F2
検索 Ctrl+F
置換 Ctrl+H
grep Ctrl+Shift+F
戻る/進む Ctrl(+Shift)+Tab
画面分割 Shift+Alt+1~5
呼び出し階層を開く (不明)
型を開く (コマンドパレットで代用)
型階層を開く (不明)
クイック階層 (不明)
クイックアウトライン (コマンドパレットで代用)
定義へジャンプ (CTags)
ファイルファインダ Ctrl+P
指定行へジャンプ Ctrl+G or ファイルファインダで:
指定関数へジャンプ Ctrl+R or ファイルファインダで@
指定単語へジャンプ Ctrl+: or ファイルファインダで#
対応する括弧へジャンプ Ctrl+M
前後のメンバへジャンプ (不明)
行複製 Ctrl+Shift+D
行コピー Ctrl+C
行カット Ctrl+X
行削除 Ctrl+Shift+K
行入れ替え Ctrl+Shift+↑ or ↓
行頭/行末空白削除 (不明、ただ行末空白は何かの設定が効いて勝手に削除されますね)
選択行昇順/降順ソート F9※大文字小文字区別するならCtrl+F9
単語選択 Ctrl+D
行選択 Ctrl+L
対応する括弧内を全選択 Ctrl+Shift+M
選択範囲小文字化/大文字化 Ctrl+K→Ctrl+L/U
矩形選択 Shift+マウス右ドラッグ
選択範囲を行単位分割 Ctrl+Shift+L
入力補完 Ctrl+Space
インデント/アンインデント Ctrl+]/[
フォーマッタ (各種プラグインでサポートかな)
クイックフィックス (不明)
クイックアシスト (一部はマルチセレクトで代用。変数宣言支援的な機能は不明。)
折り返し解除 (不明)
指定桁折り返し/折り返し解除 (不明)
キーマクロ記録開始/終了 Ctrl+Q
キーマクロ実行 Ctrl+Shift+Q
コマンドパレット Ctrl+Shift+P
パッケージインストール コマンドパレットでinstall(Package Control:Install Package)
パッケージ一覧 コマンドパレットでPackage Control:List Packages
閉じたタブを開き直す Ctrl+Shift+T

マルチセレクト

SublimeText2の人気?機能マルチセレクトについてメモ。メニューにはQuick Add/Skip Nextって書いてありますね。人によって呼称がさまざま。
おそらく実際はこんな使い方になるかな。

  1. Ctrl+Dでお目当ての単語選択
  2. 全部編集したかったらAlt+F3でオールセレクト
  3. 狙ったところだけ編集したかったらさらにCtrl+Dでどんどん選択、選択したくない箇所はCtrl+Kでスキップ

CTags

.tagsが作成されない

私の環境ではなぜか.tagsが作成されなかった(環境のせいなのか?)。最終的には(たぶん)解決したが、当初の挙動は

  1. Ctrl+T→Ctrl+Rでリビルド
  2. コンソールにRe/Building CTags for C:.tags: Please be patientって出る
  3. タスクマネージャを見るとctags.exeは起動している
  4. ctags.exeは数秒動いた後なぜか沈黙する
  5. SublimeTextを終了する
  6. なぜかctags.exeが処理を再開する
  7. ctags.exeの処理が終わってもどこにも.tagsが作成されない(もちろんSublimeTextでジャンプもできない)

という感じ。C:.tagsを作ろうとしている時点でなんかおかしいけど、Windows7UAC有効だとCドライブ直下にファイルを作成することができないのも関係した挙動なんじゃないかと想像。
とりあえずPC再起動してみるも状況変わらず。

で、SublimeTextを終了したあとctags.exeがまだ処理している間にSublimeTextを再起動してもう一度Ctrl+T→Ctrl+Rをしたらちゃんと.tagsが作成された。なぜかは不明。
それ以降何の問題もない。

参考(には残念ながらならなかったけどメモ)

gemとかのソースまで追えるようにする

RailsプロジェクトだったらCTagsパッケージのread meに親切に書いてあるスクリプトでいいと思われる。

require 'bundler'
paths = Bundler.load.specs.map(&:full_gem_path)
system("ctags -R -f .gemtags #{paths.join(' ')}")

でもとりあえず全部のgemのタグを作りたいんだよ~とか思ったらこんな調子

ctags -R --exclude=.git --exclude=log --exclude=tmp --exclude=autotest --exclude=db -f .gemtags D:\RailsInstaller\Ruby1.9.2\lib\ruby\gems\1.9.1\gems D:\RailsInstaller\Ruby1.9.2\lib\ruby\1.9.1

参考

ドザ必須パッケージ

IMESupport:これでSublimeText2に対してインラインで入力できる!

感想みたいなもの

  • 矩形カットしたあとのペーストがサクラエディタよりやりにくい。サクラエディタは何の気なしにペーストできるけどSublimeText2は切り取ったものと同じ行数矩形選択しておかないときれいにペーストできない。
  • 検索バーのアイコンの意味がまだわからない。。
  • 「右端で折り返し」がないっぽいのは個人的にちょっと嫌。結構何度も折り返したり解除したりするので。
    パラグラフを1行にがっちゃんこして指定桁で折り返す機能(Alt+Q)はあるみたいなんだけど。。
  • コマンドパレット便利
  • 呼び出し階層とか型階層とか表示できたら重宝したんだけど。。定義元ジャンプも含めてRubyMineってのはその辺が優秀なのかな?

参考

追記

追記用のエリアをつくったぞ!

2013.7.28追記