Vimメモ : splitjoin.vimで1行表記、複数行表記を切り替える
splitjoin.vim
このプラグインを使うと、例えばRubyで以下のように1行で書いていたコードを
puts "foo" if bar?
以下のような複数行の書き方へ簡単に切り替えることができる(逆の切り替えも可能)。
if bar? puts "foo" end
インストール
NeoBundleの場合は下記行をvimrc
に追加。
NeoBundle 'AndrewRadev/splitjoin.vim'
使い方
デフォルトでは以下のキー操作で切り替えが可能。
gS
: 1行→複数行gJ
: 複数行→1行(カーソルはブロックの先頭行に置いて実行)
キーマッピングを変更したい場合は以下のような設定をvimrc
に追加。
let g:splitjoin_split_mapping = '' let g:splitjoin_join_mapping = '' nmap <Leader>j :SplitjoinJoin<cr> nmap <Leader>s :SplitjoinSplit<cr>
切り替え例
切り替え可能な対象は下記とのこと。
- Various constructs in Ruby and Eruby
- Various constructs in Coffeescript
- Various constructs in Perl
- Various constructs in Python
- PHP arrays
- Javascript object literals and functions
- Tags in HTML/XML
- CSS, SCSS, LESS style declarations.
- YAML arrays and maps
- Lua functions and tables
- Go structs
- Vimscript line continuations
- TeX blocks
- C if clauses and function calls
- Do-blocks in Elixir
詳細は:help splitjoin-ruby
のようにsplitjoin-
の後に言語を指定してヘルプを開けば確認できる。その他、このページに各言語のテストファイルがあるので実際に試しながら確認できる。
Rubyの例としては、
foo = { :bar => 'baz', :one => 'two' } foo = { :bar => 'baz', :one => 'two' }
Bar.new { |b| puts b.to_s } Bar.new do |b| puts b.to_s end
params.permit(:title, :action, :subject_type, :subject_id, :own) params.permit(:title, :action, :subject_type, :subject_id, :own) # with splitjoin_ruby_hanging_args == 0 params.permit( :title, :action, :subject_type, :subject_id, :own )
のような切り替えが可能。
- 作者: DrewNeil,新丈径
- 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
- 発売日: 2014/01/28
- メディア: Kindle版
- この商品を含むブログ (3件) を見る