Xamarin Studioでvimのキーバインドでコーディング

Xamarin Studio使ってUnity開発してるけど、キーバインドvimに慣れてるので、カーソルの移動や文字の削除がすごくめんどくさいので、なんとかvimに寄せていきたかったので、設定したメモ

vimをUnityに最適化させるって選択肢は最初からなし。

ダウンロードと設定

  • Xamarin Studioをダウンロード
    • Xamarin Studioじゃないと日本語が入力できないので、コメントとか全く書かなくなる…。
    • あとは指示通りのインストール − Unity側の設定
    • Preferences -> Extranal Tools -> External Script Editorのところをxamarinに変更
  • Preferences -> テキストエディタ -> 動作でviモードを選択をやるとvimっぽくなる

アドイン?

  • アドインマネージャーを選択
    • Gallery -> IDE extentionsからVim Addinをインストール − これでもvimになるのかよくわからんかったけど、結局のところviモードにしたら変わったのでよくわからん

その他

  • Xamarin Studioを起動しっぱなしにしてるとメモリすげぇ食うけど、これなんとかならんかなぁ…。

個人的によく使うけど忘れるmarkdownの書き方メモ(画像とか)

個人用のメモ

イメージを貼り付ける

gistとgithubのissue

![image](https://pbs.twimg.com/profile_images/1539254827/___bigger.JPG)

githubwiki

$ git clone git@github.com:hogehoge/fufafuga.wiki
$ cd fufafuga.wiki
$ mkdir images
$ cp ../hogehoge.png image
$ git add .
$ git commit -m 'image'
$ git push

# wiki上では以下のように書く
[[image/hogehoge.png]]      

数字付きリスト表示

  1. リスト
    1. リスト1-1(入れ子)
      1. リスト1-1(入れ子)
  2. リスト
  3. リスト

テーブル

| Left align | Right align | Center align |
|:-----------|------------:|:------------:|
| This       |        This |     This     |
| column     |      column |    column    |

gitのpre-commitのでphpの構文チェックとmasterへのコミット禁止

対象のリポジトリで実行

$ touch .git/hooks/pre-commit
$ chmod 755 .git/hooks/pre-commit

事前準備はこれでOK

#!/bin/sh

ROOT_DIR="$(pwd)/"
LIST=$(git status | grep -e '\(modified:\|new file:\)'|  grep  '\.php' | cut -d':' -f2 )

# syntaxエラーがあるファイルはコミット禁止
ERRORS_BUFFER=""
for file in $LIST
do
    ERRORS=$(php -l $ROOT_DIR$file 2>&1 | grep "Parse error")
    if [ "$ERRORS" != "" ]; then
        if [ "$ERRORS_BUFFER" != "" ]; then
            ERRORS_BUFFER="$ERRORS_BUFFER\n$ERRORS"
        else
            ERRORS_BUFFER="$ERRORS"
        fi
        echo "Syntax errors found in file: $file "
        exit 1
    fi
done
# マスターへのコミット禁止
branch="$(git symbolic-ref HEAD 2>/dev/null)" || \
       "$(git describe --contains --all HEAD)"
if [ "${branch##refs/heads/}" = "master" ]; then
  echo "Do not commit on the master branch!"
  exit 1
fi

動かす

予め事故ってるPHPファイルを用意

$ git st
On branch master
Your branch and 'origin/master' have diverged,
and have 2 and 5 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   README.md
        new file:   index.php

$ git add . 
$ git commit -m 'test'
Syntax errors found in file: index.php

その他全然試してないから事故ってるかも

ナレッジ/ノウハウ情報共有サービスであるlodgeを動かしてみた

lodge/lodge

ロッジと呼びます。 イントラネット限定でも使える、ナレッジ/ノウハウ情報共有サービスです。
手軽に導入できて、チーム内全体の情報共有やナレッジ蓄積の手助けができることを目標としています。

スクリーンショット png

これをVagrant上で動かしてみましたが、いろいろハマったのでメモ。
まぁRailsRubyMySQLを動かすセットアップと言ってもいいかもしれない。

事前準備

  • Vagrantでとりあえずなんらかのイメージが動いている − 手元にDebianのやつがあったのでそれに入れた
  • MySQLはインストール済み

セットアップ

ruby install

sudo aptitude update
sudo aptitude safe-upgrade
sudo apt-get install ruby

gem install

$ sudo aptitude install libyaml-ruby libzlib-ruby libopenssl-ruby ruby-dev
$ wget http://production.cf.rubygems.org/rubygems/rubygems-2.4.1.zip
$ unzip rubygems-2.4.1.zip && rm rubygems-2.4.1.zip
$ cd rubygems-2.4.1
$ sudo ruby setup.rb
$ gem -v
2.4.1

$ which gem
/usr/bin/gem

$ gem env | grep 'GEM PATHS' -A2
- GEM PATHS:
    -   /usr/lib/ruby/gems/1.9.1
    - /home/vagrant/.gem/ruby/1.9.1

$ echo 'export GEM_HOME=/usr/bin/gem' >> ~/.bashrc
$ source ~/.bashrc

$ gem env | grep 'GEM PATHS' -A2
  - GEM PATHS:
     - /usr/bin/gem
     - /home/vagrant/.gem/ruby/1.9.1

bundle install

$ gem install bundler

lodgeのセットアップ

$ git clone https://github.com/m-yamashita/lodge.git
$ cd lodge
$ sudo gem install json
$ sudo bundle install

エラー対応

# bundle error出る
$ sudo apt-get install g++
$ sudo apt-get install libmysqld-dev

# mysql2が入らん
$ which mysql
/usr/bin/mysql

$ sudo gem install mysql2 --with-mysql-lib=/usr/lib/mysql

# rails server叩け無い
$ rails server -e production
/usr/lib/ruby/gems/1.9.1/gems/execjs-2.2.1/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

$ git diff
diff --git a/Gemfile b/Gemfile
index 05a476e..9d1b7c2 100644
--- a/Gemfile
+++ b/Gemfile
@@ -10,7 +10,7 @@ gem 'uglifier', '>= 1.3.0'
 # Use CoffeeScript for .js.coffee assets and views
 gem 'coffee-rails', '~> 4.0.0'
 # See https://github.com/sstephenson/execjs#readme for more supported runtimes
-# gem 'therubyracer',  platforms: :ruby
+gem 'therubyracer',  platforms: :ruby

$ bundle install
$ echo 'export RAILS_ENV=production' >> ~/.bashrc source ~/.bashrc

rails起動後、新規ユーザーが登録できない

PCからfacebookを見た時にスタイリッシュにするツールの紹介

twitterのTLに流れてたらいいのを見つけたので紹介
普段のFacebookの画面に広告とかいろいろ入っててめんどくさいので、それを削除してクリアにしてくれるやつです。

eramdam/BetterFacebookIsBetter
ChromeFirefoxsafariで動くようですが自分はChromeでしか使ってないです。

びふぉーあふたー画像

適用後の画像がGithubに貼ってたあったので直接ここにも貼っときます。

やってることは特定のサイトのcssを上書きするアドオンに広告等に使われてるのをCSSで無理やり消してます。
自分はこれにプラスしてCSSをいじって右のサイドバーにある何時間前に誰々がログインしていたってのもついでに消してます。
okbm/BetterFacebookIsBetter

メリット

  • 見た目スッキリ
  • 色も白基調になり見やすい

デメリット

  • Facebookのイベント参加とかたまーにするときに参加者一覧が見れなくなるのでもし見たい場合は手動で一次的に無効にしないとだめ
  • またFacebookの見た目がリニューアル等で変わるとまた設定しないとだめ
  • (デメリットじゃないが…)設定は端末ごとなので複数のPC(会社と家とかとか)に同じ設定を入れないとだめ

鬱陶しい広告が消えるし、誰が何分前にログインしてたみたいなストーカーっぽい情報も見なくて済むので単純にフィードを見るだけのシンプルな使い勝手になるのでオススメです。

debianの文字化け対応メモ

何かとググって探したりしてるのでメモっておく。

前提:vagrantを使っていじってるときにgit diffやtigの日本語が化ける ※まぁvagrantの設定に入れたらいいと思うが…

swap<E7><AD><89><E3><81><AE><E3><83><95><E3><82><A1><E3><82><A4><E3><83><AB><E3><82><92><E4><BD><9C><E3><82><89><E3><81><AA><E3><81><84>

こんな感じになる

対応方法

$ sudo aptitude install locales
$ sudo dpkg-reconfigure locales
# GUIっぽい画面が立ち上がるので、ja_JP.UTF-8をスペースで選択する

# .bashrcも以下の一文入れておくこと
export LANG=ja_JP.UTF-8

多分これで治る

追記

これでも治るかも

$ sudo localedef -f UTF-8 -i ja_JP ja_JP