• DoRubyとは
  • お問い合わせ
  • Ruby/Rails
  • Web開発
  • Webマーケティング
  • アピリッツ
  • ライフハック
  • ゲーム制作/開発
  • Railsの小技
  • Rubyの小技
  • Gemの紹介
  • ActiveRecord
  • 初心者向け
  • Java/Scalaテク
  • Unixのあれこれ
  • データベース
  • スマホ開発
  • HTML/CSS/JavaScript
  • デザイン製作
  • インフラ
  • クラウド
  • セキュリティ
  • エディタ
  • バージョン管理
  • その他
  • python
  • アクセス解析
  • Googleアナリティクス
  • Googleデータスタジオ
  • Web広告
  • SEO
  • UI/UX
  • ソーシャルメディア
  • EC開発
  • Webシステム開発
  • コンサルティング
  • Webデザイン
  • ブロックチェーン
  • ゲーム紹介
  • アプリ紹介
  • ASP
  • 風景
  • パソコン
  • ツール
  • ガジェット
  • 仕事術
  • 健康
  • 生活
  • 書評
  • Excel(エクセル)
  • PowerPoint(パワーポイント)
  • ゲームプランニング
  • SpriteStudio
  • マスターデータ入力/作成
  • Unity
  • キャラクターデザイン
  • ゲームシナリオ
  • レベルデザイン
  • ゲーム分析
  • 3DCG
  • イラスト制作
  • CG/アニメーション
  1. ホーム
  2. Web開発
  3. エディタ
  4. [scala] [vim] vimでplayの開発環境を構築する
  • 2016-07-28
    • カテゴリ:
    • エディタ
    • タグ:
    • scala
    • vim

[scala] [vim] vimでplayの開発環境を構築する

この記事は公開から1年以上が経過しています。情報が古い可能性がありますのでご注意ください。

本記事の対象者

  • Railsの開発をvimでやっている。
  • vimのpluginとして、unite-railsを使っている。
  • Play(Scala)でもRailsと同じように開発したい人向け。

ちなみに、unite-railsは、vimのuniteというプラグイン向けのプラグイン。

よって、本記事は、vimのuniteを使っている人向け。

やりたい事

Playのプロジェクト配下のファイルを開いているときには、プロジェクト配下のソースの選択をuniteインターフェースで使いたい。

対応の概要

  • 項目1:Play用のuniteインターフェースを作成する。
  • 項目2:Playのプロジェクト配下のファイルを開いているときには、ファイルタイプに「play」が含まれるようにする。
  • 項目3:ファイルタイプに「play」が含まれているときに、play用のunite-pluginのキーバインドを有効にする。

【項目1】Play用のuniteインターフェースを作成する。

unite-railsを参考にunite-playを作成する。

参考までに、私が作成したunite-playの中は以下のようになっている。

% tree unite-play
unite-play/
├── README
├── autoload
│   └── unite
│       ├── kinds
│       │   └── bundled_gem.vim
│       └── sources
│           ├── play
│           │   ├── collector
│           │   │   ├── config.vim
│           │   │   ├── controller.vim
│           │   │   ├── javascript.vim
│           │   │   ├── model.vim
│           │   │   ├── root.vim
│           │   │   ├── route.vim
│           │   │   ├── stylesheet.vim
│           │   │   ├── test.vim
│           │   │   └── view.vim
│           │   └── helper.vim
│           └── play.vim
└── doc
    └── unite-play.txt

7 directories, 14 files

普通の開発者であれば、unite-railsの各ファイルの中身を参照すれば、簡単にplay用に修正できるはず。

プロジェクトのルートディレクトリ配下のファイルを全て一覧かするものを追加している(root.vim)。root.vimの中身はこれ↓。

function! unite#sources#play#collector#root#candidates(source)
  let target = a:source.source__play_root
  return unite#sources#play#helper#gather_candidates_file(target)
endfunction

controller.vimの中身はこれ↓。

function! unite#sources#play#collector#controller#candidates(source)
  let target = a:source.source__play_root . '/app/controllers'
  return unite#sources#play#helper#gather_candidates_file(target)
endfunction

ここまで見れば、どういう感じで修正さればよいかは分かるはず。

正しく修正することで、例えば、

  :Unite play/controller

でapp/models配下のファイル一覧を表示させたりできる。

後は、上記コマンドを適当なキーにバインドすればOK。

【項目2】Playのプロジェクト配下のファイルを開いているときには、ファイルタイプに「play」が含まれるようにする。

「projectlocal」というvimのpluginを導入する(開発元のブログはこちら)。

「.vimrc」に以下の設定を追加する。

  let g:projectlocal#projectfile = get(g:, 'projectlocal#projectfile', '.projectfile')

そして、Playのプロジェクトのルートディレクトリに以下のファイルを置く。

% cat .projectfile
play

この例では、「.projectfile」が置かれているディレクトリ配下のファイルを開くとファイルタイプに「play」が含まれるようになる。

【項目3】ファイルタイプに「play」が含まれているときに、play用のunite-pluginのキーバインドを有効にする。

「.vimrc」に以下のような設定を追加する。

function! UnitePlaySetting()
    nnoremap <buffer><c-w><c-r>co :<c-u>Unite play/controller<cr>
    nnoremap <buffer><c-w><c-r>tp :<c-u>Unite play/root<cr>
endfunction

aug HogeAutoCmd
    au FileType *play* call UnitePlaySetting()
aug END

【おまけ】scalaのファイルを編集しているときには、ファイルタイプに「scala」が含まれるようにする。

vim-scalaというvimプラグインを導入する。

上記設定を全ておえ、当該プラグインが有効になれば、Playプロジェクト配下のscalaのファイルを開くと、ファイルタイプが「project.scala.play」となる。

無事に、scalaとplayのファイルタイプが含まれている。


  • 404 views
    • Tweet
    • このエントリーをはてなブックマークに追加

この記事を書いた人
eidera
主に、Rails, Ruby, Vimについて。

「いいね!」するとDoRubyの最新記事を受け取ることができます。

Facebook

Twitterから最新記事を受け取るならこちら

Follow @doruby

Feedlyから最新記事を受け取るならこちら

follow us in feedly

おすすめの記事
  • 1,841 views
  • 2016-07-27
リニューアルをしたDoRubyの3つの目的
  • 1,740 views
  • 2016-08-15
ビット演算でフラグを管理する
  • 1,357 views
  • 2017-04-24
アピリッツの新卒合宿2017

カテゴリ

Ruby/RailsRailsの小技Rubyの小技Gemの紹介ActiveRecord初心者向けWeb開発Java/ScalaテクUnixのあれこれデータベーススマホ開発HTML/CSS/JavaScriptデザイン製作インフラクラウドセキュリティエディタバージョン管理その他pythonWebマーケティングアクセス解析GoogleアナリティクスGoogleデータスタジオWeb広告SEOUI/UXソーシャルメディアアピリッツEC開発Webシステム開発コンサルティングWebデザインブロックチェーンゲーム紹介アプリ紹介ASP風景ライフハックパソコンツールガジェット仕事術健康生活書評Excel(エクセル)PowerPoint(パワーポイント)ゲーム制作/開発ゲームプランニングSpriteStudioマスターデータ入力/作成Unityキャラクターデザインゲームシナリオレベルデザインゲーム分析3DCGイラスト制作CG/アニメーション

    人気の記事
    • 41 views
    • 2019-12-09
    どうしようもないけどやれるだけのことはやってどうにかしよう
    最近の記事
    • 41 views
    • 2019-12-09
    どうしようもないけどやれるだけのことはやってどうにかしよう
    • 68 views
    • 2019-10-18
    カスタマーサポートの極意 2019 #3 レポート
    • 357 views
    • 2019-08-16
    Search Engineerring Tech Talk 2019 Spring レポート
    • 489 views
    • 2019-07-24
    Rails & Webpack案件でのgmo paymentのトークン決済
    • 481 views
    • 2019-07-12
    whenever で時刻を設定する際システムで設定されているのとは別のタイムゾーンを使用する
    Facebook

      サイト情報
      • DoRubyとは
      • 株式会社アピリッツ

      ソーシャルアカウント
      • Facebook
      • Twitter

      企業情報
      • 会社概要
      • 採用情報
      • お問い合わせ
      サービス製品
      • レコメンドASP
      • サイト内検索ASP「Advantage Search」
      • オープンソースECサイト構築パッケージ「エレコマ」
      • 受注・在庫・商品情報一元管理「モールコネクター」
      • セキュリティ診断サービス
      • Googleアナリティクスセミナー

      Copyright © Appirits All Rights Reserved.