min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

bash vimで複数行の行末に一気に文字列を追加する

 

全国のインターネットラジオをテレビで再生できる自前のラジオ再生アプリに、チャンネルを増やしたい。

f:id:min117:20171111202803p:plain

ソースはこんな感じ。valueradikoのチャンネルを入れてラジコプレミアムを呼び出し、RaspberryPi(mplayer)に渡して再生しているだけ。

f:id:min117:20171119092410p:plain

再生局(value)を1つずつ追加するのは面倒なので、vimで一気に行いたい。局のリストは前回作った。

min117.hatenablog.com

これをhtmlソースに入れて行く。まずはソースhtmlを開く。

$ vim radio2.html

f:id:min117:20171119093047p:plain

開いた。

f:id:min117:20171119093040p:plain

vim :vsp コマンドで、作業しやすいように画面を縦に2つに分割する

:vsp

f:id:min117:20171119092818p:plain

縦に分割された。両方の画面に同じソースが表示される。右と左の移動Ctrl +w を入力してから w を入力する。

f:id:min117:20171119093308p:plain

フォーカスを右画面に当てた状態で、別のソース(ラジオのリスト)を開く。vim画面で :e のあとに開きたいファイル名を指定する。

:e radiko_list_ALL_01.txt

f:id:min117:20171119093707p:plain

右の画面にラジオのリストが開いた。

f:id:min117:20171119093232p:plain

追加したい(ラジオ局)は value 部分。

f:id:min117:20171119093851p:plain

右画面に作りかけ。

f:id:min117:20171119102600p:plain

右画面の行末に、同じ内容を一気に入れたい。

f:id:min117:20171119102705p:plain

このへんが参考になりそう。

d.hatena.ne.jp

右画面にフォーカスした状態で、矩形選択コマンド Ctrl + v を押す。その状態で行を下に下げる( j を押す)ことで行頭を選択が選択される。

Ctrl + v → j

f:id:min117:20171119102846p:plain

行頭が選ばれた状態で Shift + g を押す(大文字の G)で行末に飛ぶ。

Shift + g

f:id:min117:20171119103134p:plain

ここで Shift + a (大文字の A)を押すと、行末に文字を追加できる(Append)。作業は2行目だけにするけど、このあと全行に一気に展開できる。

Shift + a

f:id:min117:20171119103421p:plain

2行目に必要な文字列を追加して…

f:id:min117:20171119104751p:plain

最後に Esc を押す他の行にもまとめて一気に反映される。

f:id:min117:20171119104811p:plain

手が慣れてくると、矩形選択から行末への一気追加まで数秒くらいで済む。思考の瞬間に文字が打てているという感覚が本当に良い。

Linuxの文化を知らない人は本当にもったないことをしてると思う。vim最高。