LoginSignup
1
2

More than 3 years have passed since last update.

Vimgolf Add string initializers to an enumをやってみた

Posted at

問: Add string initializers to an enum

Vimgolfの以下の問題を解いてみたのでvimのキー操作について残しておく。

スタート

const enum TestkitType {
  vanilla,
  unidriver,
  protractor,
  puppeteer,
  unknown,
}

ゴール

const enum TestkitType {
  vanilla = 'VANILLA',
  unidriver = 'UNIDRIVER',
  protractor = 'PROTRACTOR',
  puppeteer = 'PUPPETEER',
  unknown = 'UNKNOWN',
}

解答

21キーストロークで現在最短(2019/09/15)

qq+ea = '<C-P>'<Esc>vbUq5@qZZ

解説

qq

q{0-9a-zA-Z"}

タイプしたキーをマクロとして登録して記録する。
qでレコードを開始して次に押したキーに対してマクロを登録する、マクロの終了はqで行い今回はqキーに対してマクロを登録する。

+

次の行の最初の文字にカーソルを移動する

e

単語の最後の文字にカーソルを移動する

a = '<C-P>'<Esc>

= 'vanilla' を入力してノーマルモードに戻る
<C-P> でvanillaをキーワード補完で入力している。

vbU

ヴィジュアルモードでvanillaを選択して大文字に切り替える
'vanilla' -> 'VANILLA'

ヴィジュアルモードのUで大文字に切り替え、uで小文字に切り替える

q5@q

ここまでの操作をマクロに保存し、qに登録されたマクロを5回繰り返す。
マクロの実行は @q で行う。

また、 :reg で登録されているマクロを確認することができる

:reg
--- レジスタ ---
"q   +ea = '^P'^[vbU

ZZ

保存して終了する。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2