# 初期設定覚書(Mac)
[TOC]
## VSCode
### 重要
* Better Comment
* コメントに「注意,疑問,TODO,重要」のラベルを貼り付けることができる。
* C/C++
* C/C++ における Intellisense と debugging などのサポート
* Jupyter
* Jupyter notebook のサポート
* python
* python におけるいろいろなサポート
* pylance
* python におけるいろいろなサポート2
* vscodevim
* vim keybind の有効化
* latex workshop
* latex の Linting や typesetting, preview 機能を実装
### 趣味的なやつ
* HTML CSS support
* CSS Intellisense の有効化
* HTML preview
* 簡易的な preview 機能の有効化,あまり高度な機能はついていない
* HTML snippets
* 多くの HTML5 snippet が内蔵されている
* R
* R 言語の環境をサポートする。
### その他
* `setting.json`, `keybind.json` の dotfile を参照
* [参考 1](https://qiita.com/y-mattun/items/45776b7e1942edb2f727#install%E3%81%99%E3%82%8Bvim%E6%8B%A1%E5%BC%B5)
* [参考 2](https://qiita.com/34ro/items/e20fa0831d78566981d3)
* [参考 3-1](https://github.com/vscode-doc-jp/Docs/blob/master/getstarted/keybindings.md), [参考 3-2](https://code.visualstudio.com/docs/getstarted/userinterface)
## hyper
* hyper
* `.hyper.js` の dotfile を参照
## zsh
### plugin
* starship
* コマンドプロンプトが洗練される。
* フォルダごとに git の情報や,使用言語の version などが表示されるようになる。
* zsh-autosuggestion.zsh
* 履歴から自動でコマンドを推測してくれるようになる。
* zsh-syntax-highlighting
* コマンドが有効かどうかをコマンドライン上で確認できるようになる。
* 有効な場合緑色,無効な場合赤色でコマンド表示されるようになる。
* 実際は PATH 上に実在するコマンドだけでなくエイリアスも有効になる。呼び出せるかどうかが問題。
* 引数部分も linting できる。
### 注意
* oh-my-zsh は重いので一つずつ必要なものだけ入れていく方が良い
## firefox
### addons
* 5ch style format 2017
* 5ch は基本的にブロックするが,アドレスから直に飛ぶときはこの format で閲覧しやすいようにしておく。
* AdBlocker Ultimate
* Dark Reader
* Flagfox
* 安全性のため導入
* Google でページを翻訳
* deepL 使った方が良いのはわかってるけどこっちの方がアクセシビリティが良い
* Grammarly for Firefox
* 廃止検討中
* Greasemonkey
* Image Search Options
* No PDF Download
* PDF を Download しなければ閲覧できないようなサイトが若干存在する。こいつらに対処
* Tab Session Manager
* Tab をまとめて保存,展開できる。作業をいったん止めてシャットダウンするときに使える。
* uBlacklist
* [ここ](https://wikiwiki.jp/nanj-adguard/%E3%82%A2%E3%83%95%E3%82%A3%E3%82%AB%E3%82%B9%E3%83%AA%E3%82%B9%E3%83%88%E4%BD%9C%E6%88%90%E6%89%80/%E3%81%84%E3%81%8B%E3%81%8C%E3%81%A7%E3%81%97%E3%81%9F%E3%81%8B%EF%BC%9F%E3%81%AA%E3%81%A9%E3%81%AE%E9%82%AA%E9%AD%94%E3%81%AA%E3%82%B5%E3%82%A4%E3%83%88%E3%82%92%E9%81%BF%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/%E6%8B%A1%E5%BC%B5%E6%A9%9F%E8%83%BD%E3%82%92%E4%BD%BF%E3%81%86) に Blacklist の購読先がころがっている
* Amazon, youtube, play.google.com 楽天,udemy は追加でブロック,使うときはアドレスから直で飛ぶ。
* techacademy や 侍なんとか など冗長性が大きいスクール系サイト,stackoverflow の翻訳サイトは見つけ次第ブロック
* https://raw.githubusercontent.com/HO-0520-IT/uBlacklist-wiki-copy-sites/main/list.txt も追加で導入
### UI 周り

## finder
### plugin
* finder の表示しているカレントディレクトリを hyper や vscode で開くことができる
* https://github.com/Ji4n1ng/OpenInTerminal
### UI 周り

## Amethyst
* ウィンドウマネージャ,ショートカットキーを押すだけで画面を縦分割したり横分割したりできる。
## Negative
* 文字背景色を反転させる PDF viewer,もちろんロハ
## Dash
* 言語の reference やチートシートの viewer
* 英語にしか対応していない難点あり
## Karabiner-elements
### simple modifications
* 英数キー -> fn
* かなキー -> right_option
### complex modifications
* underscore to backslash
* Windows からの癖で backslash がうまく打てないため
* latex 書くときに backslash を多用するため近くにキーを置いておきたい
* 自前で作る必要あり
`~/.config/karabiner/karabiner.json`に以下を記述
```json=
{
"description": "underscore to backslash",
"manipulators": [
{
"from": {
"key_code": "international1"
};
"to": [
{
"key_code": "international3"
}
],
"type": "basic"
}
]
}
```
* Ctrl + \[ as escape key
* escape の代わりに Ctrl+\[ を多用するが,こちらのショートカットに対応していないアプリケーションが多い
* 自前で作る必要あり
`~/.config/karabiner/karabiner.json`に以下を記述
```json=
{
"description": "Ctrl + [ as escape key",
"manipulators": [
{
"from": {
"key_code": "close_bracket",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"any"
]
}
};
"to": [
{
"key_code": "escape"
}
],
"type": "basic"
}
]
}
```
* from internet rules
* package "Diamond Cursor"
* Change fn + I/J/K/L to Arrow Keys
* package "Map fn + number keys to function keys (rev2)"
* Map fn + number keys to their corresponding function keys (rev1)
* Touchbar が苦手なので
* package "Capslock Enhancement"
* 導入検討中
* 必要ないキーが多い
## LaTeX
* [homebrew 使用して簡単に導入](https://qiita.com/Mizuto_Kadowaki/items/f8878140125ad40ac56e)
* [mactex をインストールすると,完全なアンインストールは難しいらしい](https://texwiki.texjp.org/?MacTeX)
* vscode で使用する際には,`settings.json` に以下の設定を記述しておけばタイプセットできるようになる。
```json=
"latex-workshop.latex.tools": [
{
"name": "Step 1: ptex2pdf",
"command": "ptex2pdf",
"args": [
"-interaction=nonstopmode",
"-l",
"-ot",
"-kanji=utf8 -synctex=1",
"%DOCFILE%.tex"
]
},
{
"name": "Step 2: pbibtex",
"command": "pbibtex",
"args": [
"%DOCFILE%",
"-kanji=utf8"
]
},
{
"name": "Step 3: ptex2pdf",
"command": "ptex2pdf",
"args": [
"-l",
"-ot",
"-kanji=utf8 -synctex=1",
"%DOCFILE%.tex"
]
},
{
"name": "Step 4: ptex2pdf",
"command": "ptex2pdf",
"args": [
"-l",
"-ot",
"-kanji=utf8 -synctex=1",
"%DOCFILE%.tex"
]
}
],
"latex-workshop.latex.recipes":[
{
"name": "ptex2pdf",
"tools": [
"Step 1: ptex2pdf"
]
},
{
"name": "ptex2pdf2",
"tools": [
"Step 1: ptex2pdf",
"Step 3: ptex2pdf"
]
},
],
```
* `"latex-workshop.view.pdf.viewer": "tab"` でタブ表示で preview できるようになる。
## thunderbird
* menu -> customize -> layout -> 縦表示で表示が見やすくなる。
## Atok
mac の場合はそこまで問題にはならないが
* IME 風キー入力方式に変える
* ATOK メニュー -> 環境設定 -> キー・ローマ字カスタマイザ で変えられる
* 変換の区切りの調節,移動が楽になる。
## monosnap
画面の録画もスクショも取れるやつ。純正の上位互換。以下個人設定
* `command + option`
* `+ s` スクショ。クリップボードにそのままコピー。
* `+ e` クリップボードの画像を開いて編集する。`+ s` と併用することを想定。
* `+ v` ビデオ録画。
* `+ x` ビデオ録画終了。
## boost
* `brew install boost` でインストール可能
## その他
* command と ctrl の swap は,vim を使うときはマイナスなのでやめておいた方が良い。
* alfred の導入を検討している
* CLI の vim は最小限にしておく。
* Github desktop はリソース食い過ぎて使えない。gitkraken の導入を検討。
* Ricty Diminished, Source Code Pro のフォントを導入し忘れないように
* 今後は Touchbar の改善に取り組む
* better touchbar をいんすこする
* python のモジュール関連はまた充実してからで
* 残りは github の dotfiles を参照