Slide 1

Slide 1 text

マルチカーソルの 2019/10/10 もくテク 秋のLT大会

Slide 2

Slide 2 text

麦島 一 (むぎしま はじめ) @mugi_uno 自己紹介

Slide 3

Slide 3 text

マルチカーソル使ってますか

Slide 4

Slide 4 text

マルチカーソル • エディタで「カーソル」を複数作る機能 • さまざまなエディタで利用可能 VSCode / Atom / SublimeText / JetBrain系IDE など →

Slide 5

Slide 5 text

絵も書ける

Slide 6

Slide 6 text

よくある利用例

Slide 7

Slide 7 text

→ "User" を "Person" に変えたいな〜

Slide 8

Slide 8 text

"User" 部分だけをマルチカーソルで選択 一気に編集

Slide 9

Slide 9 text

マルチカーソル便利〜!

Slide 10

Slide 10 text

ʙऴʙ

Slide 11

Slide 11 text

という方が大半 ʙऴʙ

Slide 12

Slide 12 text

使いこなすともっと便利に!

Slide 13

Slide 13 text

ϚϧνΧʔιϧ 参考 マルチカーソルを使わないVSCodeはただのVSCodeだ!

Slide 14

Slide 14 text

※注意 • VSCodeを例とした説明です • 他エディタでも 考え方は同じはずです • Vim/Emacsの方はきっと マルチカーソルより編集速いはず

Slide 15

Slide 15 text

マルチカーソルの基本操作

Slide 16

Slide 16 text

5JQT 2種類のカーソルの作り方がある ↓ 1つずつ作る or 一気に作る

Slide 17

Slide 17 text

基本的にはただの「カーソル」 ↓ カーソル1つでのキー操作は ほとんどそのまま使える 5JQT

Slide 18

Slide 18 text

• 単純なキーワード置換 • 一気にセミコロンを付与 ར༻ྫ

Slide 19

Slide 19 text

実演

Slide 20

Slide 20 text

クリップボードと組み合わせる

Slide 21

Slide 21 text

マルチカーソルで選択中のコピー 5JQT ↓ 改行で区切られてコピーされる

Slide 22

Slide 22 text

ペースト時は独特な挙動をする 5JQT

Slide 23

Slide 23 text

ペースト内容の行数≠マルチカーソルの数 →すべてのカーソルの位置に 同じ内容を単純にペースト ペースト内容の行数=マルチカーソルの数 →ペースト内容が1行ずつ分解され ひとつひとつのカーソルの位置にペースト 5JQT

Slide 24

Slide 24 text

• 置換時に入力する代わりにペースト • JSON⇔コードの流用 • 外部ドキュメントからのコード生成 ར༻ྫ

Slide 25

Slide 25 text

実演

Slide 26

Slide 26 text

VSCodeの機能と組み合わせる

Slide 27

Slide 27 text

マルチカーソルに対して VSCodeの各種機能が適用できる 5JQT

Slide 28

Slide 28 text

• ケース変換 →標準機能 or 'change-case' Extention ར༻ྫ • シーケンシャル値の生成 → 'vscode-input-sequence' Extention • エンコード/デコード → 'Encode Decode' Extention

Slide 29

Slide 29 text

実演

Slide 30

Slide 30 text

マルチカーソル生成のコツ 残り時間を確認

Slide 31

Slide 31 text

前後の共通部に注目する 5JQT

Slide 32

Slide 32 text

実演

Slide 33

Slide 33 text

マルチカーソルの弱点

Slide 34

Slide 34 text

Vimキーバインドとの相性が悪い

Slide 35

Slide 35 text

Vimのカーソル移動の速度は魅力的...

Slide 36

Slide 36 text

解決策

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

あしたから使っていきましょう!

Slide 39

Slide 39 text

No content