クイックリファレンス

Vim Projectionist チートシート

vim-projectionist プラグインのクイックリファレンス:プロジェクト設定、関連ファイルジャンプ、ファイルテンプレート、カスタムプロジェクション。

· 公開日

Tim Pope 氏作の vim-projectionist は、高度なプロジェクトナビゲーション、関連ファイル移動 (:A)、スケルトンテンプレートの自動展開を提供します。

基本設定 (.projectionist.json)

プロジェクトのルートディレクトリに .projectionist.json を配置します:

{
  "src/*.js": {
    "alternate": "test/{}.test.js",
    "type": "source"
  },
  "test/*.test.js": {
    "alternate": "src/{}.js",
    "type": "test",
    "template": [
      "import { describe, it, expect } from 'vitest';",
      "",
      "describe('{}', () => {",
      "  it('works', () => {",
      "    expect(true).toBe(true);",
      "  });",
      "});"
    ]
  }
}

関連ファイル (Alternate File) 移動コマンド

コマンド 動作
:A 現在のウィンドウで関連ファイルを編集
:AS 水平分割ウィンドウで関連ファイルを編集
:AV 垂直分割ウィンドウで関連ファイルを編集
:AT 新しいタブで関連ファイルを編集
:AD 現在の空バッファにテンプレートを展開

プロジェクトコマンドとルート移動

コマンド 動作
:Cd カレントディレクトリをプロジェクトルートに変更
:Cd {path} プロジェクトルート配下の相対パスへ移動
:Lcd ローカルカレントディレクトリ (:lcd) をルートに変更
:ProjectDo {cmd} プロジェクトルート上でシェルコマンドを実行

カスタムタイプコマンド

"type": "model" を定義すると、:Emodel、:Smodel、:Vmodel、:Tmodel コマンドが自動作成されます:

{
  "app/models/*.rb": {
    "type": "model",
    "alternate": "spec/models/{}_spec.rb"
  }
}

:Emodel user を実行すると app/models/user.rb に即座にジャンプできます。


参考リンク

関連テーマ