どうしてもSlack風の絵文字入力と共にTwitter年越しをしたいからジタバタした結果


dip株式会社のアドベントカレンダー24日目です。

Typescriptを使ってフロント開発・スクラムマスターしている@bo469maです。
今回はTwitter年越しを快適にするために工夫した話を書きました。

## ラノベ風のまとめ

slackで絵文字ネイティブになった社会人は、
日本語入力と絵文字タブと相いれないので、
プロパティファイルとユーザー辞書で絵文字入力ユートピアを作る。


## 背景

年末の音楽番組だったり、駅伝だったりお笑いを見て
パソコンでTweetdeckで実況ツイしてTLのお友達とわいわいするのが恒例なのですが
いつも絵文字を入れようとすると...

`:mu`

タブ


タブ

タブ
タブ
タァァァァァァァブ(力強いキー音)

出ない！！
いつもslackで脊髄反射で打ってる絵文字がでない！！！！！

`:muscle:`

フルで打っても出ない！！！
💪を打ちたいだけなのに！！
そう！ここはいつものslackのtimes(雑談チャンネル)ではないのである！！！！

じゃ、`muscle`じゃないなら何を打てばいいの...?



`右腕　筋肉　絵文字 ` `検索`
=>`ちからこぶという意味`




`ちからこぶ`で変換できるの？
ちからこぶ→💪昆布




君`ちから`なの...?
muscle=ちからは確かにそうだけども....
でも君は私にとってmuscleでしかないの....
絵文字タブとか絵文字キーボードから探し出すほど送りたいわけではないし...

そうだ、どうにか`:muscle:`で💪を出してもらうようにしよう(決意)

## 実践してみた
略語とかお馴染みの[ユーザー辞書登録](https://support.apple.com/ja-jp/guide/japanese-input-method/jpim10228/mac)をしていきます。

Macの右上のキーボード設定から`ユーザー辞書を編集...`を選びます。
(それかシステム環境設定＞キーボード>ユーザー辞書を開きます。)

普通に略語の時は入力に`ひらがな`、変換に`漢字`のところを、
入力にslackの`:emoji:`を、変換に`絵文字`を入れます。

![辞書登録後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398759/3ab0b55d-29e1-558b-ed91-31de56415132.png)

試しに登録できてるか書いてみます。

![ユーザー辞書登録後の様子.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398759/3fbd01fd-f373-3cc7-8f43-2f720196d678.gif)


`:muscle:`と入力した後、変換候補が出て、スペースを押すと変換できるようになりました💪💪 
 

## もっともっと実践する
ユーザー辞書のバックアップ方法を利用して、一度にたくさん登録する。

ユーザー辞書の項目を選択してデスクトップにドラッグすると、
`.plist`が生成されます。
(複数選択してドラッグ→`ユーザー辞書.plist`、単体選択してドラッグ→`変換.plist`が出ると思います)

先程の登録した💪のplistを開くと、以下のコードが記述されてます。

``` 

XML: 💪 .plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<dict>
		<key>phrase</key>
		<string>💪</string>
		<key>shortcut</key>
		<string>:muscle:</string>
	</dict>
</array>
</plist>

```

比較用にもう一つ絵文字🎁を追加して、ユーザー辞書のplistを開くと、

```
XML: ユーザー辞書 .plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<dict>
		<key>phrase</key>
		<string>💪</string>
		<key>shortcut</key>
		<string>:muscle:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🎁</string>
		<key>shortcut</key>
		<string>:present:</string>
	</dict>
</array>
</plist>

```

(注：絵文字が入っているとcodeブロックがうまく機能しない様子)

コードを見ると`phrase`が変換、`shortcut`が入力にあたりそう。
`<dict>~</dict>`の中身を繰り返せば一度に他の絵文字も登録できそう...?
追加したい絵文字をそのまま`ユーザー辞書.plist`に書き足してみる。

```
XML: ユーザー辞書 .plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<dict>
		<key>phrase</key>
		<string>💪</string>
		<key>shortcut</key>
		<string>:muscle:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🎁</string>
		<key>shortcut</key>
		<string>:gift:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🎅</string>
		<key>shortcut</key>
		<string>:santa:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🎉</string>
		<key>shortcut</key>
		<string>:tada:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🎄</string>
		<key>shortcut</key>
		<string>:christmas_tree:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🍺</string>
		<key>shortcut</key>
		<string>:beer:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>😍</string>
		<key>shortcut</key>
		<string>:heart_eyes:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🥺</string>
		<key>shortcut</key>
		<string>:pien:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🍰</string>
		<key>shortcut</key>
		<string>:cake:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🎂</string>
		<key>shortcut</key>
		<string>:birthday:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🙏</string>
		<key>shortcut</key>
		<string>:pray:</string>
	</dict>
	<dict>
		<key>phrase</key>
		<string>🙇</string>
		<key>shortcut</key>
		<string>:bow:</string>
	</dict>
</array>
</plist>
```

これをこのままユーザー辞書にドラッグ＆ドロップする。

![一括登録.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398759/b0a56e56-2d8e-ed4b-1ebb-5f3395246e8a.gif)



やった〜〜〜🥳🥳🥳🥳🥳たくさん一度に登録できた〜〜〜🎉🎉🎉 

これで急いでる時でも🙇できるし、🙏できる！
快適なemojiライフの始まり始まり〜〜😍

## いつか実践できるようにしたい

この方法だと`:muscle:`をフルフルで入力する必要があるので、
slackみたいにtabだったり、
`:スタートの入力+何かのボタン`をトリガーに補完してくれるアプリが欲しいと思いました。

また、Googleの検索欄など、英字変換が機能しないこともあるので、他の実践方法を模索したいですね。

## 補足

AppleID🍎のiCloud☁️の連携をしていれば、
Mac💻のユーザー辞書に設定した絵文字たちは
iPhone📱のユーザー辞書にも反映されます。
(長いものは変換に出てこないので、iPhone用に短い読みで登録するのがおすすめです)

<img width="200" alt="5B334A1B-CA83-43C8-BAAE-C375768C5668.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398759/a7e8e268-70a3-bd85-f532-95f18d1118d6.png">

## 余談
ちな、この記事:page_facing_up:を書いてる時、
QiitaはWindows風の可愛い:two_hearts:絵文字に
ドンドン変換してくれて:clap::clap:
嬉しみがヤバたんでした:joy::joy::joy:
まーじバイブステンアゲ:arrow_upper_right:
天下統一:japan:果たした豊臣尊み〜:heart_eyes:
って感じだったので、

こういうフォーマットを使いこなせる記事を:pencil2:
もっと:triumph:もっと:triumph::triumph:
書いてみたい:muscle::muscle:と改めて思いました。