mac Setup - foolmacky/DevelopDocs GitHub Wiki
■mouseのカーソル速度遅すぎ問題
macのカーソル速度は環境設定で設定するが、そのインジケーター範囲内ではカーソルの速度が遅すぎる! なので、コンソールから設定する
- コンソール設定後はマウスの設定画面を開くと、戻ってしまうので、開かない
defaults write "Apple Global Domain" com.apple.mouse.scaling 20
//もっと早くてもいいかもしれない
突然マウスカーソルの動きが不安定になり、スピードの設定がリセットされて「あれ」と思ったらUSB3-2アダプタ(純正)が死んだようだ
■homebrewについて
macにOSSをインストールする場合、gitから取得してmakeする場合とhomebrewを使う場合があるが、同じソフトウエアでも両者は導入先や管理が異なっている。 なので、homebrewを使って入れたものはupdateもhomebrewを使うなど、混在させ無いほうがいい。
■iTerm2を入れる
普通にダウンロードして、導入。 color設定、右クリックにpaste設定 macOSをアップデートしたときなど、iTerm2のドックアイコンを右クリックして、windowのprofile作成メニューが出ないことがあるが、明示的に再度再起動すると出るようになる
■ 現在の.zshrc
export PATH=$HOME/.nodebrew/current/bin:$HOME/.cargo/bin:$HOME/go/bin:$HOME/bin:$PATH
export PYTHONPATH=/usr/local/lib/python3.9/site-packages:$PYTHONPATH
#export RUSTC_ROOT="$(rustc --print sysroot)"
#export RUST_SRC_PATH="${RUSTC_ROOT}/lib/rustlib/src/rust/src"
export CHATGPT_API_KEY=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
PROMPT="%B%F{051}%n > %f%b"
[ -n "$YAZI_LEVEL" ] && PROMPT="%B%F{red}Y $PROMPT"
#yazi() {
# if [ -z "$YAZI_LEVEL" ]; then
# /opt/homebrew/bin/yazi "$@"
# fi
#}
alias ls='ls -G'
bindkey -v
if which plenv > /dev/null; then evel "$(plenv init - zsh)"; fi
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
### Added by Zinit's installer
if [ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ](/foolmacky/DevelopDocs/wiki/-!--f-$HOME/.local/share/zinit/zinit.git/zinit.zsh-); then
print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \
print -P "%F{33} %F{34}Installation successful.%f%b" || \
print -P "%F{160} The clone has failed.%f%b"
fi
source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit
# Load a few important annexes, without Turbo
# (this is currently required for annexes)
zinit light-mode for \
zdharma-continuum/zinit-annex-as-monitor \
zdharma-continuum/zinit-annex-bin-gem-node \
zdharma-continuum/zinit-annex-patch-dl \
zdharma-continuum/zinit-annex-rust
zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-syntax-highlighting
### End of Zinit's installer chunk
iTermを最初に起動したときに常に日本語入力がONになってしまうのを英数キーをスクリプト入力して防ぐ。環境設定のprofile/Send text at startに以下のスクリプトを入れる
osascript -e 'tell application "System Events" to key code 102'
■karabinerElement
ダウンロードして導入 設定はcaps lock -> 左ctrl サイトからテンプレートを導入してctrl+{ -> ESC
■symantec norton
ライセンスを拡張更新(無料)して、インストール safariのpluginも導入した
■fire fox
firefoxが好きだったのだが、BigSurにアップしてからブラウザを使っているときに度々ハングアップするようになったので、safariに切り替えようと思う その後FFもアップして安定したので、また戻した fire foxの画面スクロールなどの操作をvim風にキーで行えるプラグイン「Vimium」を導入。長いドキュメントの最後に移動するときなどが楽になった
j : 下に1行スクロール
k : 上に1行スクロール
d : 下に半ページスクロール
u : 上に半ページスクロール
G : 一番下にスクロール
gg : 一番上にスクロール
■ terminal fontの選択
- コーディングやpassword、Keyを入力する際にどうしても「l」「I」「1」「0」「O」の区別がつきにくく、間違えてしまう。
- 視認性を高める等長フォントを導入して使う。自分はCicaを選択している
- https://github.com/miiton/Cica
■ranger
sourceからinstall
git clone https://github.com/ranger/ranger.git
.zshrcに設定を入れる
PROMPT="%B%F{051}%n > %f%b"
[ -n "$RANGER_LEVEL" ] && PROMPT="%B%F{red}R $PROMPT"
ranger() {
if [ -z "$RANGER_LEVEL" ]; then
/usr/local/bin/ranger "$@"
fi
}
alias rng=ranger
alias ls ='ls -G'
bindkey -v
bindkey '^P' history-beginning-search-backward
bindkey '^N' history-beginning-search-forward
if which plenv > /dev/null; then evel "$(plenv init - zsh)"; fi
- rangerで予めEditorに紐付いていない拡張子のファイルは設定に追加することができる ~/.confing/ranger/rifle.confがない場合は、以下のコマンドを打つと、defaultの設定ファイルがコピーされるので、エントリを追記する
ranger --copy-config=rifle
- 設定は上の方の記述が優先されるので、「# Define the editor for non-text files + pager as last action」より上に、期待する設定を追加
ext mod = $EDITOR --"$@"
rangerはpythonのプログラムだが、macOSのpythonは2.7, developer toolをインストールすることでv3.xが別ディレクトリに導入される rangerの起動スクリプト(/usr/local/bin/ranger)は developer toolの3.xを直接冒頭で指定して実行する形になっているが、ranger本体のライブラリの場所はdevelopper toolとことなっているため、import rangerでエラーが発生する python3.8がどこをライブラリのimportパスに指定しているか調べて、ranger本体のディレクトリのsimbolic linkをそこに作成する
#!/Library/Developer/CommandLineTools/usr/bin/phthon3
import sys
print(sys.version)
print(sys.path)
#このスクリプトで表示されるpathのsite-packagesディレクトリの下にlinkを作成
#ranger本体の場所
/usr/local/lib/python3.8/site-packages/ranger
- あるいはrangerの起動スクリプトが指定しているpython3のパスにlinkを作成する
//error message
ranger:2: /usr/local/bin/ranger: bad interpreter: /Library/Developer/CommandLineTools/usr/bin/python3: no such file or directory
sudo ln -s /Library/Frameworks/Python.framework/Version/3.9/bin/python3 /Library/Developer/CommandLineTools/usr/bin/python3
- または別の対応法として、環境変数PYTHONPATHにrangerがインストールされているPATHを追加する
#macOSに導入されているpytho3を判定して、通常はこのディレクトリにインストールされる
/usr/local/lib/python3.8/site-packages/ranger
#.zshrcにエントリを追加
export PYTHONPATH=/usr/local/lib/python3.8/site-packages:$PYTHONPATH
- macOS montereyからrangerを最初に起動する際にxcodeによるbuildが行われ、数十秒待たされるようになった。そのあたりの仕組の変化はよくわかっていない。
//python3.9のlinkの場所は以下のようになっている
/usr/local/bin/ranger
-> /Applications/Xcode.app/Contents/Developer/usr/bin/python3
-> /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3
python3
-> /usr/bin/python3 : 物理ファイル
ごちゃごちゃしてきてあれだが、
- rangerの起動スクリプトはdeveloper toolの下のpython3を指定
- rangerのライブラリの格納場所をPYTHONPATH環境変数で指定 で一旦はゆくことにする。
■ yazi
- rustで開発されたrangerライクなCI File Manager。さすがネイティブ実行ファイル。非常に高速
- https://yazi-rs.github.io/
- brewでインストールするが、付帯パッケージのいくつかは自分の用途から省いた。ドキュメントにfileコマンドが必要とあるが、unix系OSではあらかじめあるので気にしなくて良い
- 設定についてzennのこの記事が非常に参考になった https://zenn.dev/kabec_dev/articles/9deed65b6b6519
- 導入したプラグインは full-border, smart-enter https://github.com/yazi-rs/plugins
- 更に"o"コマンドに対してもsmart-enterを割り当てる
//~/.conf/yazi/keymap.tomlに追加
[mgr.prepend_keymap](/foolmacky/DevelopDocs/wiki/mgr.prepend_keymap)
on = [ "o" ]
run = "plugin smart-enter"
desc = "Enter the child directory, or open the file"
- flavorとしてカプチーノモカを選択、導入 https://github.com/yazi-rs/flavors
- .zshrcへの追加設定
[ -n "$YAZI_LEVEL" ] && PROMPT="%B%F{red}Y $PROMPT"
yazi() {
if [ -z "$YAZI_LEVEL" ]; then
/opt/homebrew/bin/yazi "$@"
fi
}
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
- pythonのゴニョゴニョから開放されるのが嬉しい
- 最終的にyazi内からでもyaziを起動できるようにして、vim の:termコマンドからyaziを起動し、ファイルを辿れるようにした
- flavor機能を使って色指定する場合、theme.tomlには[flavor]の項目以外は記載してはいけない形になったようで、yaziをupdateした際にデフォルトの色設定に戻ってしまった。なので、theme.tomlの[flavor]以降の記述をすべてコメントアウトした
- cappuccinはyazi以外にも同じ雰囲気で様々なツールの色指定をするプロジェクト https://github.com/catppuccin/yazi/tree/main yaコマンドで導入するのではなく、手動で設定するともっと細かく色指定を選べそうだ
■ rectangle
インストール、keyバインディング設定
- cmd+1 - 4, 0(center), l(fullscreen)
■mac os big surの導入されているappとの互換性
karabinar-element ver13で対応済み shiftitは現行バージョンで動作するようだ
■golang
- brewでもインストールできるが、公式のpkgでインストールした。
- 導入される場所がbrew版と異なる
- uninstallするには /usr/local/go ディレクトリと、/etc/paths.d/go ファイルを削除する
■LibreOffice for mac install
■node.js install
macの場合複数のnode.jsをnodebrewを使って管理することができます。
typescript-language-server をlanguage server としてinstallする
R foolmacky > npm install -g typescript typescript-language-server
/Users/foolmacky/.nodebrew/node/v14.5.0/bin/tsserver -> /Users/foolmacky/.nodebrew/node/v14.5.0/lib/node_modules/typescript/bin/tsserver
/Users/foolmacky/.nodebrew/node/v14.5.0/bin/tsc -> /Users/foolmacky/.nodebrew/node/v14.5.0/lib/node_modules/typescript/bin/tsc
/Users/foolmacky/.nodebrew/node/v14.5.0/bin/typescript-language-server -> /Users/foolmacky/.nodebrew/node/v14.5.0/lib/node_modules/typescript-language-server/lib/cli.js
+ [email protected]
+ [email protected]
added 19 packages from 11 contributors in 4.407s
vimrcに設定を入れる https://blog.micheam.com/2019/05/21/vim-lsp-setting-for-typescript/
■rangerの設定にrust source fileをvimでopenする設定を入れる
.config/ranger/rifile.conf
# Define the "editor" for text files as first action
mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
mime ^text, label pager = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php|rs = ${VISUAL:-$EDITOR} -- "$@"
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php|rs = "$PAGER" -- "$@"
■rust関連
https://github.com/rust-lang/rls
Rustfmt fomatter
racer コード補完
rlsはracerをstaticに使っているので、直接racerをinstallする必要はない https://github.com/racer-rust/racer https://github.com/racer-rust/vim-racer Racer is used as a static library in RLS ということなのでRLSで使われていると思う
- 基本的な手順はこの流れ https://rls.booyaa.wtf/#vim8 https://rls.booyaa.wtf/install/ https://github.com/racer-rust/racer#configuration
- rustのpath設定を環境変数に設定しないと、動作しない
rls
rustのsource codeをダウンロード rustup component add rls rust-analysis rust-src 非同期でのソースチェックなどは、ソース配置がcargoコマンドで設定したプロジェクトになっていないと、動作しない 適当なディレクトリにsourceをかいてrustcでビルドできるが、その状態の場合、vimの構文チェックなどは、動作しない
RUSTI
debugging for rust https://rustc-dev-guide.rust-lang.org/compiler-debugging.html
■ダウンロードしたプログラムなどを実行しようとすると、アラートダイアログが出て実行できない
- すべてのプログラムの実行を許可するオプションは、「セキュリティーとプライバシー」設定に出ていないが、以下のコマンドを打つことで、設定できる
sudo spctl --master-disable
このコマンドを打つことで、オプションの選択肢が追加される
■Xcode Developer Tool
- インストールにやたら時間がかかることがある。気長に放置すれば導入される。
- Xcodeはinstallしたときのapple IDと紐付いてしまうため、導入後にmacのappleIDを変更すると、XCodeだけ以前のAppleIDにログインしないとUpdateできなくなったりする その際、画面上は「iTune Storeにログインしろ」というポップアップが出て、いくら現在の正しいAppleIDとパスワードを入力してログインしても、ポップアップは消えない。
- そうなってしまったら、一旦XCodeは完全に削除して、インストールし直したほうが良い。そのためには以下のコマンドでディレクトリ・ファイルを削除する
■macOS Monterey UPDATE
- 2021.12.5 updated.当初は最悪文鎮化する不具合があったようだが、apple側で対処が完了したので、導入した。時間的には30min程度
- アップデート後、Google日本語入力が正常に起動せず、再度インストールする必要があった。nortonを含めて、それ以外のプログラムはまだ異常は遭遇していない。
- すでにHigh Sierraのときから、rangerが正しく起動できな状態になっていたが、python3がそもそも導入パスが変わったのか起動できなくなった
- Montereyからネットワークの応答性をチェックするコマンドが標準でインストールされる
> networkQuality
==== SUMMARY ====
Upload capacity: 76.907 Mbps
Download capacity: 78.544 Mbps
Upload flows: 16
Download flows: 12
Responsiveness: High (1616 RPM)
■macOS Sonoma UPDATE
- 個人的に嬉しかったのは、FEPのモードが変わるときに、入力箇所に小さなバルーンが表示されることだ。すごく細かいことだけど、嬉しい。
■その他
- nortonのアップデートとかを実行すると、ネットワークが何故か不安定になる。再起動しないと解消されない
- 他にも、特にnortonのアップデートが実施されたあとでvpnのプロセスがやたらCPUを食った状態になってファンが強烈に回ったりする。
- アクティビティモニタでprocessをkillするか、macを再起動すれば状況は解消される
- 何故かnortonのプロセスがCPUを浪費する状況が改善されないので、こちらの手順から再インストールを実施
- その後一旦nortonはシステムから削除した