vimでexcelのctrl+d的なこと
code: test.txt
x = 0x0001; y = 0x0001; z = 0x0001; test(x, y, z);
x = 0x0002; test(x, y, z);
x = 0x0003; test(x, y, z);
x = 0x0001; y = 0x0002; test(x, y, z);
y = 0x0003; test(x, y, z);
みたいなテキストがあったときに、
https://gyazo.com/01def34127976dfbd921d84e13558748
この部分を矩形選択して、おまじないを唱えると
code: test.txt
x = 0x0001; y = 0x0001; z = 0x0001; test(x, y, z);
x = 0x0002; z = 0x0001; test(x, y, z);
x = 0x0003; z = 0x0001; test(x, y, z);
x = 0x0001; y = 0x0002; z = 0x0001; test(x, y, z);
y = 0x0003; z = 0x0001; test(x, y, z);
こうなってほしい。
そういうプラグインや.vimrcやそれvimじゃなくてもできるよ的なアドバイスをいただけると嬉しいですyanma.icon <C-v>で矩型選択してコマンドをごにょごにょするすれば出来そうですね?takker.icon
肝心のごにょごにょの部分は、知識不足で具体化できませんが……
そうなんですよ、なんかすぐできそうなんだけど知識不足でできないyanma.icon
kuuote.iconさんに伺ってみてはどうでしょうか?
多分一発で答えが返ってくると思います
無理ですた…kuuote.icon
これ想像以上に難しそう(golf力が足りないだけかも)
1つの解ですが、xnoremap <C-d> c<C-r>=split(@", "\n")[0]<CR><Esc>で行けそうです
あれ、だめだ
Cじゃなくてcだった
求めている結果になりました。ありがとうございます!yanma.icon
本当に秒で解決してしまった
考えるの結構楽しかったですkuuote.icon
雑解説置いておきます
雑に書くと、ある範囲を切り抜いて(c)、その切り抜いた範囲(@")から1行目を切り出して(split(@", "\n")[0])そのまま挿入(<C-r>=)しています(式レジスタとかいう便利機能がある)
矩形選択の特性として挿入した物は全部の行に反映されるので目的が達成できる
もしくはvim-jpに加入して雑に質問してみるのも手です(ステマ) そんなチャンネルがyanma.icon
聞いてみよう(kuuote.iconさんの方が速いかもw)