Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

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

$
0
0

問: 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

保存して終了する。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>