railsで使用するgitignoreメモ
まず前提としてgithubが公開しているものをベースにする。
gitignore/Rails.gitignore at master · github/gitignore · GitHub
secret_token.rbとsecrets.ymlについてはどうしようか。
まぁ案件の規模にもよるだろうけど、どちらにしろプライベートな場所に置くと思うのでとりあえずコメントアウトしておく。
# TODO Comment out these rules if you are OK with secrets being uploaded to the repo # config/initializers/secret_token.rb # config/secrets.yml
あとはエディタ、OSのゴミなど細かいのを追加。
doc/ *.swp *~ .project .DS_Store .idea .secret
で最終的にはできたのはこんな感じ。
*.rbc capybara-*.html .rspec /log /tmp /db/*.sqlite3 /public/system /coverage/ /spec/tmp **.orig rerun.txt pickle-email-*.html # TODO Comment out these rules if you are OK with secrets being uploaded to the repo # config/initializers/secret_token.rb # config/secrets.yml ## Environment normalisation: /.bundle /vendor/bundle # these should all be checked in to normalise the environment: # Gemfile.lock, .ruby-version, .ruby-gemset # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: .rvmrc # if using bower-rails ignore default bower_components path bower.json files /vendor/assets/bower_components *.bowerrc bower.json # Ignore other unneeded files. doc/ *.swp *~ .project .DS_Store .idea .secret
とりあえずこれでやってみる。
なんか不便を感じればその都度改良していこう。
modern.IEの設定方法メモ
よく忘れるのでメモ。
- https://www.modern.ie/ja-jp/virtualization-tools#downloads から実行する側のOSを選択後、目的のバージョンのsfx、rarをダウンロード
- sfxに実行権限を付与(chmod +x 〜)
- sfxを実行してファイルを結合
- カレントディレクトリにovaファイルが出来ているので実行する
- vmware、virtualboxなどが立ち上がるので日本語設定(タイムゾーン、言語パック)を行う
- 言語を変更した後は一旦ログオフしてからIEUser:Passw0rd!でログインしなおす
- hostsファイルにてlocalhostを10.0.2.2に向けてアクセス
以上。
glowshi-ft.vimでストレスフリーな横移動を実現する
皆さんこんばんわ。
そろそろ梅雨も明けたでしょうか。
海開き、山開きの時期を迎え、いよいよ本格的な夏の到来となりました。
熱中症などにはくれぐれもお気をつけて、素敵なvim活をお過ごし下さい。
本日は自作プラギンの紹介をしたいと思います。
本当はmomonga.vim #3の頃にはあらかた出来ていたのですが、中途半端な状態から怒涛の放置が続いてしまいました。
最近ようやく落ち着いてきたので記事にしてみたいと思います。
vimの横移動について
皆さんはvimでどういう横移動をしていますか?
h/l?w/b?
私はやっぱりf/tが好きです。
f{char}と入力することで直近の{char}に移動できるアレです。
ただ一つ気に入らない点があって、同一行に対象の文字が複数あった場合に目的の位置に一発で移動しづらいっていう問題があります。
2faとすれば2個目のaに移動できるものの個数を数えるという作業が入るし、数えた末に間違えてた日にゃあキーボード叩き潰したろか、とか思ってしまうわけです。
最近は横移動のプラグインも出揃ってきているので色々使ったりしていましたが、自分にもいいアイデアが浮かんだので形にしてみることにしました。
glowshi-ft.vimを使う
saihoooooooo/glowshi-ft.vim
https://github.com/saihoooooooo/glowshi-ft.vim
glowshi-ftとはglow shift(光る移動)とftの動きを改善したという意味を込めて名付けました。
gif動画を作ったので、見てもらうと動きがわかりやすいかと思います。
といった特徴を持っています。
其ノ壱.vimmerに優しい操作性
前述の通り、対象文字間の移動にはh/lが使えるのでこれ以上ない直感的な操作が可能です。
気づいたらエクセルがhjklで埋め尽くされているアナタも安心。
ストレスフリーです。
其ノ弐.移動と同時にキー入力
候補を移動中に操作できるキーはh/lのようにいくつか用意されていますが、それ以外の用途が割り当てられていないキーを押すと入力時点での位置に移動を確定しつつ、そのキーを入力した状態に移行します。
たとえばある候補の上でiを押せば移動後に即インサートモードになり、またある候補の上でdを押せば入力待ち状態になるため続けてiwと押すことでテキストオブジェクトでの削除が行えます。
これはストレスフリー。
hubotでLGTM
http://www.lgtm.in/ というLGTM画像を集めたサービスがあります。
LGTMとは"Looks Good To Me"の略でコードレビューして問題がなかった時に、「良さそうに見える」という意思を伝えるための言葉です。
LGTM画像はそれを表現した画像で、サムズアップしてるgif動画なんかが多い印象です。
ただ単に「レビューOKです」と言うよりは画像があったほうが楽しい気持ちになりますよね。
というわけで、これを使ってhubot内で目出鯛気持ちをつたえ鯛と思います。
# Description: # LGTM image from http://www.lgtm.in/. # # Dependencies: # "request": "~2.27.0" # "cheerio": "~0.12.1" # # Commands: # hubot lgtm - Random LGTM image URL. # # Author: # saihoooooooo request = require 'request' cheerio = require 'cheerio' module.exports = (robot) -> robot.respond /LGTM/i, (msg) -> url = 'http://www.lgtm.in/g' request url, (error, response, body) -> if error or response.statusCode != 200 msg.send 'ERROR: 通信に失敗しました' else $ = cheerio.load body msg.send $('#imageUrl').val()
cheerioマジ便利。
使い方は
hubot lgtm
とするだけ。
これで殺伐としたレビュー窓にも華やいだフローラルの香りが!?
それではまた。
良いレビューを!
vim-localvimrcで編集するファイルパスごとに異なる設定を保持する
Vim Advent Calendar 2013 の87日目の記事になります。
今年もまだ続いてるようで安心しました。
はじめに
自分はハードタブよりもスペースでタブを表現するソフトタブの方が好きですし、今までの現場/案件も全てソフトタブでコードを書いてきました。
しかしある日突然そいつはやってきました。
某フレームワークを使った案件なのですが、フレームワーク内のコーディング規約を見てみると。
すべてのインデントはスペースではなくタブを使用すべきです。
まじかよ。。。
さすがに無視するわけにもいかないので、嫌々ながらもハードタブを使うことになったのですが、.vimrcにハードタブ用の設定(noexpandtab)を書いてしまうとプロジェクトの内外に関わらず全ての編集作業でハードタブが入り込んでしまうようになりました。
複数人で触る大量のファイルにモードラインを入れるとかありえないし。
一体どうしたもんか。
vim-localvimrcの導入
困っていたところ、ひとつのプラギンを発見しました。
embear/vim-localvimrc · GitHub
このプラギンはファイルパスを遡ってローカル用の.vimrc(デフォルトでは.lvimrc)を探し、存在すれば適用してくれます。
目的のプロジェクトのルートにバッファローカルな設定を行う.vimrcを置いてみます。
$ echo 'setlocal noexpandtab tabstop=4' > /path/to/project/.lvimrc
たったこれだけで問題はバッチリ解決しました。
またバージョン管理を使っている場合は.lvimrcを無視パターンに追加するのを忘れずに。
vim-localvimrcの設定可能な項目を以下に書いておきます。
変数 | 説明 | デフォルト |
---|---|---|
g:localvimrc_name | 対象となるローカル設定ファイルの名前 | .lvimrc |
g:localvimrc_reverse | 0: 下位ディレクトリのものほど設定を優先 1: 上位ディレクトリのものほど設定を優先 |
0 |
g:localvimrc_count | 読み込みを行う上限数 | -1(制限なし) |
g:localvimrc_sandbox | 0: 設定ファイルの評価をサンドボックスで行わない 1: 設定ファイルの評価をサンドボックスで行う |
1 |
g:localvimrc_ask | 0: 設定ファイルが見つかったら即読み込む 1: 設定ファイルが見つかったら読み込みを行うかどうかの確認を促す |
1 |
g:localvimrc_persistent | 0: g:localvimrc_askでの選択内容を保持しない 1: Y/N/Aなどの大文字の入力時にのみ保持する 2: 常に保持する |
0 |
g:localvimrc_persistence_file | g:localvimrc_persistentの情報を保持するファイル名 | $HOME/localvimrc_persistent |
g:localvimrc_whitelist | 読み込みを許可するための正規表現 | (なし) |
g:localvimrc_blacklist | 読み込みを拒否するための正規表現 | (なし) |
その他
似たプラギンは他にもあります。
- thinca/vim-localrc · GitHub
- thincaさん作。シンプルで綺麗だが、自分の環境でうまく動かなかった。
- vim-scripts/local_vimrc.vim · GitHub
- 古い上に全然更新されてない。
中身をすべて確認したわけではありませんが、今回はとりあえず動かしてみて自分にあってそうなものを選びました。