秋のVim祭り Rubyを添えて
-
Upload
yuta-ogura -
Category
Technology
-
view
355 -
download
3
description
Transcript of 秋のVim祭り Rubyを添えて
2014/10/07 ogura01@nop
ogura01@nopper
Vimmer / Rubist / C++er / 黒魔術師
嫁は電ちゃんです
VimとRubyに触れてもらって中毒にさせる
たまにC++もでてくる
Ruby をインストール (2.0系がいいかも)
Windows http://www.artonx.org/data/asr/
Linux yum とか apt-get でおk
kaoriya (windows)http://www.kaoriya.net/
ogura-vim-builder (linux)https://raw.githubusercontent.com/nop7/problems/master/settings/ogura01/viminstaller.sh wget ↑ chmod +x viminstaller.sh && ./viminstaller.sh
この設定ファイルを使います丸ごとコピーするのではなく、解説があるたびに自分のvimrcに移してください
https://github.com/nop7/problems/blob/master/settings/ogura01/_1011_vimrc
インストールお願いします。
話を聞きながら進めちゃってくださいね
あ!忘れてました、Gitも入れといてください
プラグインいっぱい入れるぜ、ひゃっほー
・・・の前に
プラグインを管理するプラグインを召喚!
GitHubと連携してプラグイン管理できる!!設定ファイルにリポジトリを書くだけ!!
アップデートもコマンド一発
作業だよ!
Windowsの場合 C:/Users/ユーザ名/vimfiles/bundle/ ↑ に neobundleを解凍したやつを置く
Linuxの場合 neobundleのgithubを見たほうがいいよ
Vimの設定ファイルがvimrcです! Linuxなら ~/.vimrc
Windowsなら C:/Users/ユーザ名/_vimrc
そう、これが闇への入り口だったのです
とりあずcolorschemeだけ
最後のこれも入れておくよ!
windowsはgvim使うといいと思いますgvimのGUI関係は別途設定が必要なんです
hybridプラグインが自動でインストールされて背景が黒くなりましたか?
windowsの人はgvimrcにあるcolorschememorningをコメントアウトしようね
いっぱい移動するときはSHIFTを押しながら
いちいちgtするのはめんどいので
Vimを起動したらチュートリアルをやりましょう
:Tutorial と打ちましょう
ファイルの種類ごとに設定分けできるんです vimfiles/ftplugin/ruby.vim
ここからの設定は・・・スライドに載せません
ogura01のvimrc見てね
https://github.com/nop7/problems/blob/master/settings/ogura01/_1011_vimrc
https://github.com/nop7/problems/blob/master/settings/ogura01/_1011_gvimrc
NeoBundle “thica/vim-quickrun” filetypeに応じて、バッファをビルド & 実行
NeoBundle “osyo/shabadou.vim” quickrunの色んなところに処理を挟めるやつ
実行中はSAN値!ピンチ!するなど
入出力 STDIN.gets # 1行とってくる puts :hogehoge # 1行出力 :hogehogeはシンボルと呼ぶ. “hogehoge”のハッシュ値みたいなもん
配列を作る[ 1, 2, 3, 4] とか [1, “hoge”, :hello] とか
型変換 ‘123’.to_i # 整数値型に変換 123.to_s # 文字列型に変換
破壊的メソッド内部的に値が書き換わるメソッド String#chomp … 非破壊的メソッド String#chomp! … 破壊的メソッド
RUBYで解こう!
STDIN.getsで1行取れます
QuickRunで入力ファイルを指定するには? :QuickRun –input “ファイル名”
ちなみにQuickRunは \r で実行できるよ
puts STDIN.gets.capitalize
補完プラグイン
NeoBundle 'Shougo/neocomplete.vim'
定型文挿入だよ!
NeoBundle ‘Shougo/neosnippet.vim’ “ スニペット補完
NeoBundle 'Shougo/neosnippet-snippets' " スニペット集
cpp.snipとかftごとにオリジナルの定型文を作れるよ
これが
こうじゃ
リファレンス参照だよ!
NeoBundle 'thinca/vim-ref ‘
rubyのリファレンス > gem install refe2
> bitclust setup
:Ref refe Array#combination #=> メソッドに直行
:Ref refe Array#c #=> メソッド一覧がでる
:Ref refe Array #=> クラスの説明がみられる
Rubyのコード上でカーソルを合わせて+ を押す!
NeoBundle ‘itchyny/lightline.vim’
NeoBundle ‘osyo-manga/vim-watchdogs’
静的解析ツール保存する度に非同期で実行してくれる
rubyの静的解析ツール一般的なコーディング規約に沿ってるかチェック
gem install rubocop
n = STDIN.gets.to_i
times = n.times.map { STDIN.gets.to_i }
http://arc029.contest.atcoder.jp/submissions/247114
肉焼き器1 = select { i番目のビットが立ってる }
肉焼き器2 = reject { i番目のビットが立ってる }
関数型的配列操作 select … マッチした要素だけでNew配列を作る reject … マッチした要素を外してNew配列 reduce … 配列を操作する reduce(&:+) reduce {|a, b| a+b }
vim界のgoogle検索 Unite file_mru … 最近開いたファイル
Unite buffer … 今開いているファイル Unite everything !?
Everythingをインストールしてみよ es.exeも別途ダウンロードしてパス通そうね
ogura01では “,a” で発動するよ!
補完とも連携できるんです!
ヒント: UnionFind
スニペットに登録しておこう
木DP