tohokuaikiのチラシの裏

技術的ネタとか。

VSCodeのdiredのキーボードショートカット

EditorのキーバインドEmacs

VSCode使ってて、キーバインドemacsにしててそこからxyzzy風の味付けにしてkill ringも使えるしほぼほぼ文句なしなんだけど。 github.com

ファイラはEmacsのアレ

Emacsからシームレスに使えるファイラdiredを使いたくて、vscode-diredを入れた。これもすげー便利なんだけど。 github.com

ただ、READMEのキーボードショートカットが実際にあるのを全部教えてくれてないので、package.jsonを見てみた。

こんな感じかな。

  • ctrl+x f -- diredを開く

以下のキーはdiredを開いた後

  • . -- ドットファイルをトグルする。
  • enter -- ポインタのあるファイルを開く
  • shift+= -- ディレクトリの作成(私の環境だと shift + ; だった…それは ; キーのシフト押しが+なので。)
  • ctrl+x = -- ファイルの作成(私の環境だと ctrl+x ; だった。)
  • shift+r -- ファイルのリネーム
  • shift+d -- ファイルの削除
  • shift+c -- ファイルのコピー(なんだけど、できない…)
  • shift+b -- 一つ上のディレクトリに移動
  • m -- マークをセット
  • u -- マークをアンセット
  • g -- ファイル一覧をリフレッシュ
  • q -- diredを閉じる

マークがついたからって何があるわけではないっぽい。一括削除とかかな?って思ったけど違った。

    "keybindings": [
      {
        "key": ".",
        "command": "extension.dired.toggleDotFiles",
        "when": "dired.open && editorTextFocus && !inDebugRepl"
      },
      {
        "key": "ctrl+x f",
        "command": "extension.dired.open",
        "when": "editorTextFocus && !inDebugRepl"
      },
      {
        "key": "enter",
        "command": "extension.dired.enter",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "shift+=",
        "command": "extension.dired.createDir",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "ctrl+x =",
        "command": "extension.dired.createFile",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "shift+r",
        "command": "extension.dired.rename",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "shift+d",
        "command": "extension.dired.delete",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "shift+c",
        "command": "extension.dired.copy",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "shift+b",
        "command": "extension.dired.goUpDir",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "m",
        "command": "extension.dired.select",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "u",
        "command": "extension.dired.unselect",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "g",
        "command": "extension.dired.refresh",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      },
      {
        "key": "q",
        "command": "extension.dired.close",
        "when": "dired.open && !findWidgetVisible && !inQuickOpen"
      }
    ],