Cucumberの出力するスニペットから、エスケープシーケンスを削除するための、正規表現を書いたのでメモ。
- Ruby
gsub /\x1B\[[0-9]{1,3}[mK]/, ''
gsub /\e\[\d{1,3}[mK]/, '' #こっちのほうが良さげ
- Vimでも。
s/\%x1B\[[0-9]\{1,3}[mK]//g
s/\e\[\d\{1,3}[mK]//g
.vimrc
" DeleteAnsiEsc
command! -range=% DeleteAnsiEsc :<line1>,<line2>rubydo gsub /\e\[\d{1,3}[mK]/, ''
nnoremap <Leader>da :<C-u>DeleteAnsiEsc<CR>
vnoremap <Leader>da :DeleteAnsiEsc<CR>
Vimの設定でエスケープシーケンスをyankしないようにできないかなと思ったけど、よくわからなかった。
参照サイト:
ANSI escape code (Wikipedia)
Remove color codes (special characters) with sed
In Vim, how to keep characters concealed even when cursor enters that line (Stack Overflow)