vimで検索した文字列から行末まで削除を、検索ヒットした文字列全てで繰り返す
メモリ8GB詰んでるmacを使ってるのですが、プラグインや便利なソフトウェアの入れすぎでPCが重くなりがちになってきたので、vimへの移行を検討中。
移行期なので、Visual Studio Codeのvimマッピングを使って、集中したい時はその恩恵を借りながら少しずつ勉強しています。
タイトル通りのことをするのに割とはまったので、メモ書くを残します。
やりたいこと
以下の文字列の,
に続く部分を全て削除したかった。名前だけを抽出したかったんです。
Lauren Rhue, Wake Forrest University Wael Jabr, Georgia State University Jesse Bockstedt, Emory University Arvind Malhotra, University of North Carolina Pei-yu Chen, Arizona State University Ben Fabian, Hochschule für Telekommunikation Leipzig Mareike Möhlmann, University of Warwick Ioanna Constantiou, Copenhagen Business School Michel Avital, Copenhagen Business School Young Bong Chang, Sungkyunkwan University Wooje Cho, University of Seoul Sangpil Han, Arizona State University Byung Cho Kim, Korea University Business School Seung Hyun Kim, Yonsei University YoungOk Kwon, Sookmyung Women’s University Gene Moo Lee, University of Texas Arlington Hyelim Oh, National University of Singapore Jaehong Park, Kyung Hee University Sungyong Um, National University of Singapore Ulrich Bretschneider, University of Siegen, Germany Rob Gleasure, University College Cork, Ireland Lorraine Morgan, National University of Ireland Ivo Blohm, Universität St. Gallen, Switzerland Keongtae Kim, City University of Hong Kong Joseph Feller, University College Cork Hanna Halaburda, bank of Canada
結論
下記の順番に実行すればできます。
/, (<- , を検索) qqnd$q (qにマクロを登録) 100@q (繰り返す)
n
で次の検索結果に移レなくなったタイミングでエラーで抜けてくれるので、適当に大きい値をcountしてあげれば、ヒットするものが全て消せる