2011年9月29日木曜日

[Vim] VimでRuby on Rails開発

■Vim/Ruby
cd /usr/local/src/
git clone http://github.com/vim-ruby/vim-ruby.git
cd vim-ruby
mv INSTALL.markdown INSTALL
rake package

※エラーが出た場合(rake 0.9以降)
vim Rakefile
------------------------------------------------
+#require 'rake/gempackagetask'
+require 'rubygems/package_task'

+#Rake::GemPackageTask.new(gemspec) do |t|
+Gem::PackageTask.new(gemspec) do |t|
------------------------------------------------

# {yyyy.MM.dd}は今日の日付
gem install etc/package/vim-ruby-{yyyy.MM.dd}.gem

vim ~/.vimrc
------------------------------------------------
set nocompatible
filetype on
filetype indent on
filetype plugin on
set expandtab
set autoindent

"----------------------------------------------------
" vim-rubyの設定
"----------------------------------------------------
"でomni補完
imap

let ruby_space_errors=1

"Rubyのオムニ補完を設定(ft-ruby-omni)
let g:rubycomplete_buffer_loading = 1
let g:rubycomplete_classes_in_global = 1
let g:rubycomplete_rails = 1
------------------------------------------------


■rails.vim
wget -O ~/.vim/rails.zip http://www.vim.org/scripts/download_script.php?src_id=16429
cd ~/.vim
unzip rails.zip
rm -rf rails.zip

■project.vim
wget -O ./project-1.4.1.tar.gz http://www.vim.org/scripts/download_script.php?src_id=6273
tar -xvf ./project-1.4.1.tar.gz -C ~/.vim
rm -rf ./project-1.4.1.tar.gz

vim ~/.vimrc
------------------------------------------------
"----------------------------------------------------
" rails.vimの設定(rails.vim)
"----------------------------------------------------
let g:rails_level = 4
let g:rails_devalut_database = 'mysql'
------------------------------------------------

■matchit.vim
wget -O ~/.vim/matchit.zip http://www.vim.org/scripts/download_script.php?src_id=8196
cd ~/.vim
unzip matchit.zip
rm -rf matchit.zip


■surround.vim
wget -O ~/.vim/surround.zip http://www.vim.org/scripts/download_script.php?src_id=12566
cd ~/.vim
unzip surround.zip
rm -rf surround.zip

■snippetEmu.vim
wget -O ~/snippy_plugin.vba http://www.vim.org/scripts/download_script.php?src_id=8450
vim snippy_plugin.vba
------------------------------------------------
:source %
------------------------------------------------
rm -rf snippy_plugin.vba

■NERD_commenter.vim
wget -O ~/.vim/nerdcommenter.zip http://www.vim.org/scripts/download_script.php?src_id=14455
cd ~/.vim
unzip nerdcommenter.zip
rm -rf nerdcommenter.zip

■autocomplpop.vim

wget -O ~/.vim/vim-autocomplpop.zip http://www.vim.org/scripts/download_script.php?src_id=11894
cd ~/.vim
unzip vim-autocomplpop.zip
rm -rf vim-autocomplpop.zip


■vimrcの設定
vim ~/.vimrc
------------------------------------------------
"タブ幅をリセット
au BufNewFile,BufRead * set tabstop=4 shiftwidth=4
".rhtmlと.rbと.ymlでタブ幅を変更
au BufNewFile,BufRead *.rhtml set tabstop=2 shiftwidth=2
au BufNewFile,BufRead *.rb set tabstop=2 shiftwidth=2
au BufNewFile,BufRead *.yml set tabstop=2 shiftwidth=2
"Rails関連ファイルで文字コードをUFT-8に設定
au User Rails* set fenc=utf-8
------------------------------------------------

[Vim] Vim7.3をCentOSにインストール

■旧バージョンのアンインストール
yum -y remove vim vim-enhanced

■ソースコードのダウンロード
cd /usr/local/src/
wget ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz

■ncursesのインストール
yum -y install ncurses-devel

■ファイルの解凍
tar jxvf vim-7.3.tar.bz2
tar zxvf vim-7.2-extra.tar.gz
tar zxvf vim-7.2-lang.tar.gz
mv vim72 vim73/

■コンパイル
cd vim73/src
./configure --enable-multibyte \
--with-features=huge \
--disable-selinux \
--prefix='/usr/local/vim-7.3'
make && make install

■シンボリックリンク作成
ln -s /usr/local/vim-7.3/bin/vim /usr/bin

■設定
vim ~/.vimrc
---------------------------------------
set number
set cindent
syntax on
set backspace=2
set tabstop=4
set wildmode=longest,list,full
---------------------------------------

■Buftab
cd /usr/local/src/
mkdir -p ~/.vim/plugin
wget -O ~/.vim/plugin/buftabs.vim http://vim.sourceforge.net/scripts/download_script.php?src_id=15439

vim ~/.vim/plugin/buftabs.vim
---------------------------------------
let g:buftabs_only_basename=1
let g:buftabs_in_statusline=1
let g:buftabs_active_highlight_group="Visual"
set statusline=%{g:buftabs_list}%=\ [%{(&fenc!=''?&fenc:&enc)}/%{&ff}]\[%Y]\[%04l,%04v][%p%%]
set laststatus=2
map :bn
---------------------------------------

2011年9月28日水曜日

[Rails] タイムゾーン一覧

ActiveSupport::TimeZone.all.collect {|tz| [ "(GMT#{sprintf("%+03d", tz.utc_offset/3600)}:00) #{I18n.t(tz.name, :scope => :time_zones)}", tz.name ] }

  time_zones:
    International Date Line West: "国際日付変更線 東側"
    Midway Island: "ミッドウェー島"
    Samoa: "サモア"
    Hawaii: "ハワイ"
    Alaska: "アラスカ"
    Pacific Time (US & Canada): "太平洋標準時(米国、カナダ)"
    Tijuana: "ティファナ"
    Arizona: "アリゾナ"
    Chihuahua: "チワワ"
    Mazatlan: "マサトラン"
    Mountain Time (US & Canada): "山地標準時(米国、カナダ)"
    Central America: "中央アメリカ"
    Central Time (US & Canada): "中部標準時(米国、カナダ)"
    Guadalajara: "グアダラハラ"
    Mexico City: "メキシコシティ"
    Monterrey: "モンテレー"
    Saskatchewan: "サスカチュワン"
    Bogota: "ボゴタ"
    Eastern Time (US & Canada): "東部標準時(米国、カナダ)"
    Indiana (East): "インディアナ東部"
    Lima: "リマ"
    Quito: "キト"
    Caracas: "カラカス"
    Atlantic Time (Canada): "大西洋標準時 (カナダ)"
    La Paz: "ラパス"
    Santiago: "サンティアゴ"
    Newfoundland: "ニューファンドランド"
    Brasilia: "ブラジリア"
    Buenos Aires: "ブエノスアイレス"
    Georgetown: "ジョージタウン"
    Greenland: "グリーンランド"
    Mid-Atlantic: "中央大西洋"
    Azores: "アゾレス諸島"
    Cape Verde Is: "ガーボベルデ諸島"
    Casablanca: "カサブランカ"
    Dublin: "ダブリン"
    Edinburgh: "エジンバラ"
    Lisbon: "リスボン"
    London: "ロンドン"
    Monrovia: "モンロビア"
    UTC: "UTC"
    Amsterdam: "アムステルダム"
    Belgrade: "ベオグラード"
    Berlin: "ベルリン"
    Bern: "ベルン"
    Bratislava: "ブラチスラヴァ"
    Brussels: "ブリュッセル"
    Budapest: "ブダペスト"
    Copenhagen: "コペンハーゲン"
    Ljubljana: "リュブリャナ"
    Madrid: "マドリード"
    Paris: "パリ"
    Prague: "プラハ"
    Rome: "ローマ"
    Sarajevo: "サラエヴォ"
    Skopje: "スコピエ"
    Stockholm: "ストックホルム"
    Vienna: "ウィーン"
    Warsaw: "ワルシャワ"
    West Central Africa: "西中央アフリカ"
    Zagreb: "ザグレブ"
    Athens: "アテネ"
    Bucharest: "ブカレスト"
    Cairo: "カイロ"
    Harare: "ハラレ"
    Helsinki: "ヘルシンキ"
    Istanbul: "イスタンブール"
    Jerusalem: "エルサレム"
    Kyev: "キエフ"
    Minsk: "ミンスク"
    Pretoria: "プレトリア"
    Riga: "リガ"
    Sofia: "ソフィア"
    Tallinn: "タリン"
    Vilnius: "ビリニュス"
    Baghdad: "バグダード"
    Kuwait: "クウェート"
    Moscow: "モスクワ"
    Nairobi: "ナイロビ"
    Riyadh: "リヤド"
    St:
      " Petersburg": "サンクトペテルブルク"
    Volgograd: "ヴォルゴグラード"
    Tehran: "テヘラン"
    Abu Dhabi: "アブダビ"
    Baku: "バクー"
    Muscat: "マスカット"
    Tbilisi: "トビリシ"
    Yerevan: "エレバン"
    Kabul: "カーブル"
    Ekaterinburg: "エカテリンブルク"
    Islamabad: "イスラマバード"
    Karachi: "カラチ"
    Tashkent: "タシケント"
    Chennai: "チェンナイ"
    Kolkata: "コルカタ"
    Mumbai: "ムンバイ"
    New Delhi: "ニューデリー"
    Sri Jayawardenepura: "スリジャヤワルダナプラ"
    Kathmandu: "カトマンズ"
    Almaty: "アルマティ"
    Astana: "アスタナ"
    Dhaka: "ダッカ"
    Novosibirsk: "ノボシビルスク"
    Rangoon: "ラングーン"
    Bangkok: "バンコク"
    Hanoi: "ハノイ"
    Jakarta: "ジャカルタ"
    Krasnoyarsk: "クラスノヤルスク"
    Beijing: "北京"
    Chongqing: "重慶"
    Hong Kong: "香港"
    Irkutsk: "イルクーツク"
    Kuala Lumpur: "クアラルンプール"
    Perth: "パース"
    Singapore: "シンガポール"
    Taipei: "台北"
    Ulaan Bataar: "ウランバートル"
    Urumqi: "ウルムチ"
    Osaka: "大阪"
    Sapporo: "札幌"
    Seoul: "ソウル"
    Tokyo: "東京"
    Yakutsk: "ヤクーツク"
    Adelaide: "アデレード"
    Darwin: "ダーウィン"
    Brisbane: "ブリスベン"
    Canberra: "キャンベラ"
    Guam: "グアム"
    Hobart: "ホバート"
    Melbourne: "メルボルン"
    Port Moresby: "ポートモレスビー"
    Sydney: "シドニー"
    Vladivostok: "ウラジオストク"
    Magadan: "マガダン"
    New Caledonia: "ニューカレドニア"
    Solomon Is: "ソロモン諸島"
    Auckland: "オークランド"
    Fiji: "フィジー"
    Kamchatka: "カムチャッカ"
    Marshall Is: "マーシャル諸島"
    Wellington: "ウェリントン"
    Nuku'alofa: "ヌクアロファ"


国際化対応なし版

ActiveSupport::TimeZone.all.collect {|tz| [ "(GMT#{sprintf("%+03d", tz.utc_offset/3600)}:00) #{tz.name}", tz.name ] }