EmacsユーザーのためのVS Code(Windows, キー操作編)
チートシートを見ているだけでは使えるようにならないので、Emacs頭の自分に合わせて整理してみた。
キー操作対応表
説明 | Emacs | VS Code | 備考 |
---|---|---|---|
カーソル移動 | |||
次の文字へ | C-f | → | |
前の文字へ | C-b | ← | |
次の行へ | C-n | ↓ | |
前の行へ | C-p | ↑ | |
行頭へ | C-a | Home | |
行末へ | C-e | End | |
次の単語へ | M-f | C-→ | 間違っているかも |
前の単語へ | M-b | C-← | 間違っているかも |
次の画面にスクロール | C-v | PageDown | |
前の画面にスクロール | M-v | PageUp | |
バッファ先頭に | M-< | C-Home | |
バッファ末尾に | M-> | C-End | |
指定行にジャンプ | M-x goto-line | C-g | 自分はM-gに割り当てている(Emacs) |
編集 | |||
現在の位置の文字を削除 | C-d | DEL | |
前の文字を削除 | BS | BS | 自分はC-hに割り当てている(Emacs) |
現在の位置の単語を削除 | M-d | C-DEL | |
範囲をカット | C-w | C-x | |
行末まで削除 | C-k | ||
1行削除 | C-Shift-k | ||
範囲をコピー | M-w | C-c | |
貼り付け | C-y | C-v | |
改行 | RET | RET | |
改行 | C-m | ||
改行 | C-j | ||
タブ入力 | C-q C-i | ||
空行追加 | C-o | C-Shift-RET | 必要性を感じないので別機能を割り当て(Emacs) |
コメントアウト・解除 | C-x C-; | C-/ | これまで普段 M-x comment-region 使っていた(解除時は C-u 付加。Emacs) |
行を移動 | Alt-↑/↓ | ||
行を複製 | Shift-Alt-↑/↓ | ||
やりなおし | C-_ | C-z | |
やりなおし | C-/ | C-z | |
やりなおし | C-x u | C-z | なぜかこれをよく使ってしまっていた(Emacs) |
Undo取り消し | C-g C-/ | C-y | 使ったことなかった(Emacs) |
検索、置換、変換 | |||
前方検索 | C-s | C-f | |
次の前方検索 | C-s | F3 | |
後方検索 | C-r | C-f | |
次の後方検索 | C-r | Shift-F3 | |
置換 | M-% | C-h | |
文字入れ替え | C-t | ||
単語入れ替え | M-t | 使ったことない | |
単語を大文字で始める | M-c | Transform to Title Case | |
単語を大文字に | M-u | Transform to Uppercase | |
単語を小文字に | M-l | Transform to Lowercase | |
ファイル・バッファ操作 | |||
終了 | C-x C-c | Fileメニューからや閉じるボタン? | |
ファイルオープン | C-x C-f | C-o | |
ファイル保存 | C-x C-s | C-s | VS Codeでは自動保存の設定にしてしまっている |
別名で保存 | C-x C-w | C-Shift-s | |
バッファを削除 | C-x k | C-w | |
ウィンドウ操作 | |||
左右分割 | C-x 3 | C-\ | |
表示位置 | |||
現在位置を中央・上端・下端に | C-l | ||
現在位置を上端に | C-u 0 C-l | ||
表示位置をダウン | C-u 1 C-v | C-↓ | 使ったことなかった(Emacs) |
表示位置をアップ | C-u 1 M-v | C-↑ | 使ったことなかった(Emacs) |
その他 | |||
折り返し | M-x toggle-truncate-lines | Alt-z | |
キーボードショートカット一覧 | M-x describe-bindings | C-k C-s | |
バッファ全てをマーク | C-x h | C-a | 普段使っていなかった。全選択する状況が少ないからか?(Emacs) |
Emacsにはない操作
Emacsには(標準では)用意されていないと思われるものだけ再掲 (Emacs にもあったら、ごめんなさい。修正します)
説明 | Emacs | VS Code | 備考 |
---|---|---|---|
1行削除 | C-Shift-k | ||
行を移動 | Alt-↑/↓ | ||
行を複製 | Shift-Alt-↑/↓ |
補足
- 普段 M-〇 は、ESCを押した後、〇を押している。これがキー操作に影響を与えている可能性あり
- インデントまわりは未整理
- ウィンドウ操作は VS Codeはタブエディタで画面分割もキーボードショートカットに割り当たっていないようなので、とりあえずほぼ省略
- 文字コードまわりが不明なので未記載(Emacs )では、「C-x RET f」「C-x RET c」等を良く使用)
雑感
執筆者のEmacs使用歴
- 20年以上メインに使用。それなりに不自由なく使っているつもりだが、それほど情報を追いかけているわけでもないので、最近でも新たな発見があったりすることあり。
- 『[改訂新版]Emacs実践入門』『Emacsテクニックバイブル』などは読了しているが、ELPA等は未導入。
参考資料
改版履歴
- 2021-11-28 初版
20分ではじめるRubyPico を読む「ファイルからの読み込み」
説明はなかったが、ファイル作成すると以下のコードが挿入されていた。
puts "Hello, RubyPico!" puts "http://rubypico.ongaeshi.me" puts Image.load("chat_ruby.png")
これは消して実行すると
irb - Interactive Ruby Shell irb:000> load "greeter" => true irb:001> Greeter.new.say_hi Hi World! => nil irb:002> Greeter.new.say_bye Bye World, come back soon. => nil irb:003> Greeter.new("Hello").say_hi Hi Hello! => nil
20分ではじめるRubyPico を読む「複数行にまたがるプログラム」
irb - Interactive Ruby Shell irb:000> def hello; puts "Hello World!"; end => :hello irb:001> hello Hello World! => nil irb:002> def hello line 1: syntax error, unexpected $end, expecting ';' or '\n' irb:003>
CRubyだと
>> def hello >> puts "Hello World!" >> end => nil >> hello Hello World! => nil
ふと、日本語どうなんだろうと思ったので確認
irb:000> puts "こんにちは" こんにちは => nil
20分ではじめるRubyPico を読む「変数の前には@」
「irbで変数を使うときは@を付ける」
irb - Interactive Ruby Shell irb:000> x = 1 => 1 irb:001> x undefined method 'x' for main irb:002> @x = 1 => 1 irb:003> @x => 1 irb:004>
理由不明
JScript ランゲージ リファレンス、valueOf メソッド
WScript.Echo([1, 2, 3].valueOf());
JScript ランゲージ リファレンス、UTC メソッド
WScript.Echo(Date.UTC(2012, 6, 26)); WScript.Echo(Date.UTC(1970, 0, 1, 0, 0, 0, 1));