MacBookを1からセットアップすることにしたので、行った初期設定を書き殴ります。
システム環境設定
デスクトップとスクリーンセーバー
MissionControl
Spotlight
共有
アプリ初期設定
ターミナル
RosettaはLineを入れた時に許可したらダウンロードされたはず
せっかくのARMですが,必要になった時その都度勉強しようと思います。
icebergダウンロード
zip展開
読み込む >> ダウンロードしたIceberg.terminal を選択
垂直バー,点滅,テキスト色,カーソル色変更
テキスト色 #9BDACE
ボールドテキスト色 #D2D4DE
選択色 #272C42
カーソル #50D13B
prezt
% zsh
% git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
% setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
$ chsh -s /bin/zsh
テーマ一覧
$ prompt -p
#
# Prompt
#
# Set the prompt theme to load.
# Setting it to 'random' loads a random theme.
# Auto set to 'off' on dumb terminals.
zstyle ':prezto:module:prompt' theme '{テーマ名}'
今回はテーマ名「pure」を使用
zgen
% zgen load sobolevn/wakatime-zsh-plugin
% open ~/.zshrc
以下追加
# load zgen
source "${HOME}/.zgen/zgen.zsh"
Xcode
VSCode
・Japanese Language Pack for Visual Studio Code
(日本語化)
・LogFileHighlighter
(出力ログを色付けしてくれる)
・Swagger Viewer
(yamlファイルを見る)
・vscode-icons
(フォルダアイコンをよくしてくれる)
・zenkaku
(全角スペースを強調表示)
・Code Spell Checker
(英語スペルをチェック)
・BracketPairColorizer
(括弧を色付けしてくれる。ネストが深くなると便利に感じる)
・WakaTime
(作業時間を記録してくれる)
Fontをダウンロード
JetBrains
zip解凍後 JetBrainsMono >> fonts >> ttf を全選択し,ファイルを開く
フォントをインストール
settings.json
{
/*
ウィンドウ設定
*/
// 拡大率
"window.zoomLevel": -1,
// タイトルバーの文字
"window.title": "${dirty}${activeEditorShort} / ${rootName}",
"window.closeWhenEmpty": false,
// fnキーでメニューバーの表示切り替え
// "window.menuBarVisibility": "Shift",
/*
エディター設定
*/
//ソースコード上で変更履歴を確認できる機能(邪魔)
"editor.codeLens": false,
// 行の折り返し
"editor.wordWrap": "on",
// Tabキーで入力されるスペース数
"editor.tabSize": 2,
// タブサイズとインデントサイズを自動検出するか
"editor.detectIndentation": false,
// ミニマップスライダーを常に表示
"editor.minimap.showSlider": "always",
// スニペット予測の表示位置
"editor.snippetSuggestions": "top",
// ラインの高さ
"editor.lineHeight": 28,
// ホワイトスペースを視覚化
"editor.renderWhitespace": "all",
// 選択中の行を強調する
"editor.renderLineHighlight": "all",
// フォント
"editor.fontFamily": "SF Mono Regular",
// 行の左端に余白を作る
"editor.glyphMargin": true,
// 選択範囲の角を丸める
"editor.roundedSelection": true,
// コード整形
"editor.formatOnType": false,
// コード整形
"editor.formatOnPaste": false,
// コードの折りたたみを許可
"editor.folding": true,
// 文字の間隔を詰める
"editor.letterSpacing": -1,
// 行番号の表示
"editor.lineNumbers": "on",
// ミニマップの表示
"editor.minimap.enabled": true,
// ミニマップの幅
"editor.minimap.maxColumn": 40,
// 最終行よりも下へのスクロールを許可
"editor.scrollBeyondLastLine": true,
// 制御文字の表示
"editor.renderControlCharacters": true,
// Tabキーで半角スペースを入力
"editor.insertSpaces": true,
// インデントのガイドラインを表示
"editor.renderIndentGuides": true,
// ミニマップを簡略化
"editor.minimap.renderCharacters": false,
// ミニマップを右に表示
"editor.minimap.side": "right",
// オートインデント
"editor.autoIndent": "full",
// カーソルの形状
"editor.cursorStyle": "line-thin",
// カーソルの表示形式
"editor.cursorBlinking": "smooth",
// カーソル幅
"editor.cursorWidth": 5,
// 選択範囲無しでのコピーを許可
"editor.emptySelectionClipboard": true,
// リンクをクリック可能に
"editor.links": true,
// 対応する括弧の強調表示をオンに
"editor.matchBrackets": "always",
// マウスホイール回転の移動係数
"editor.mouseWheelScrollSensitivity": 0.7,
// Ctrl+マウスホイールによるズームを無効化
"editor.mouseWheelZoom": false,
// サジェストの文字サイズ
"editor.suggestFontSize": 24,
// サジェスト欄の行の高さ
"editor.suggestLineHeight": 24,
// 保存時フォーマットを統一
"editor.formatOnSave": false,
// 候補表示
"editor.suggestSelection": "first",
// 補完候補の自動表示
"editor.quickSuggestions": {
"comments": false, // コメント内では無効
"strings": true, // 文字列内では有効
"other": true // その他の場所で有効
},
/*
ターミナル
*/
// フォントサイズ
"terminal.integrated.fontSize": 22,
// フォントタイプ
"terminal.integrated.fontFamily": "JetBrains Mono",
// 文字の間隔を詰める
"terminal.integrated.letterSpacing": 0,
// コピペ許可
"terminal.integrated.copyOnSelection": true,
// カーソルの点滅
"terminal.integrated.cursorBlinking": true,
// カーソルタイプ
"terminal.integrated.cursorStyle": "line",
// PATH
"terminal.integrated.cwd": "/Users/akidon/program/",
"terminal.integrated.inheritEnv": false,
"terminal.external.osxExec": "Rosettaターミナル.app",
// ファイルのオートセーブ化 "off","afterDelay","onFocusChange","onWindowChange"
"files.autoSave": "afterDelay",
// 1000 ミリ秒後自動保存
"files.autoSaveDelay": 1000,
// 改行コードをLFに指定
"files.eol": "\n", // 改行コードをLF(Linux/OSX)にする
// ファイルの終端に空の行を追加
"files.insertFinalNewline": true,
// 文字コードを自動判別
"files.autoGuessEncoding": true,
// エクスプローラーから除外するファイルとフォルダ
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/bin": true,
//"**/*.exe": true,
"**/*.o": true,
"**/*.obj": true,
"**/*.ilk": true,
"**/*.pdb": true,
"**/*.tlog": true,
"**/*.idb": true,
"**/*.dll": true
// "**.vs": true,
},
/*
ワークベンチ設定
*/
// タブバー(上端)表示
"workbench.editor.showTabs": true,
// タブバーサイズ
"workbench.editor.tabSizing": "fit",
// サイドバー位置
"workbench.sideBar.location": "left",
//常に新しいタブで表示=false
"workbench.editor.enablePreview": true,
/*
クラッシュレポートを送信する
*/
"telemetry.enableCrashReporter": true,
"telemetry.enableTelemetry": true,
/*
拡張機能関連
*/
"extensions.autoUpdate": true, // 自動更新
"extensions.ignoreRecommendations": false,
/*
マークダウン
*/
"markdown.preview.breaks": true, // 改行を反映
"markdown.preview.fontSize": 22, // 文字サイズ
"markdown.preview.lineHeight": 1.1, // 行幅
"markdown.styles": [
"~/markdown_pdf.css",
],
"[json]": {
"editor.quickSuggestions": {
"strings": true
},
"editor.suggest.insertMode": "replace"
},
/*
Git
*/
"git.enableSmartCommit": true,
"git.autofetch": true,
/*
その他
*/
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.trimTrailingWhitespace": true,
"editor.fontSize": 15,
"workbench.preferredDarkColorTheme": "Default Light+",
"workbench.preferredHighContrastColorTheme": "Default High Contrast Light",
"window.autoDetectColorScheme": true,
"workbench.colorTheme": "Default Light+",
}
Sourcetree
gitignore設定
# Xcode (from gitignore.io)
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
R.generated.swift
# CocoaPod
Pods/*
Podfile.lock
# others
*.swp
!.gitkeep
*~
.DS_Store
*.lock
*.zip
*.exe
テキストエディット
Clippy
Line
Word
Excel
PowerPoint
#環境構築
Homebrew
Intel
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
M1チップ
$ echo 'export PATH=/opt/homebrew/bin:$PATH' >> .zshrc
#確認
$ open ~/.zshrc
$ cd /opt
$ sudo mkdir homebrew
$ sudo chown -R $USER /opt/homebrew
$ curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
MySQL
Intel
% brew install mysql
% brew info mysql
M1
% arch -arm64 brew install mysql
% brew info mysql
Cocoapods
% sudo gem install cocoapods
% pod setup
Python
% python --version
Python 2.7.16 ⇦Python3にする必要がある
% which python3
/usr/bin/python3
% ls -al /usr/bin/python*
lrwxr-xr-x 1 root wheel 75 1 1 2020 /usr/bin/python -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
lrwxr-xr-x 1 root wheel 82 1 1 2020 /usr/bin/python-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
lrwxr-xr-x 1 root wheel 75 1 1 2020 /usr/bin/python2 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
lrwxr-xr-x 1 root wheel 75 1 1 2020 /usr/bin/python2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
lrwxr-xr-x 1 root wheel 82 1 1 2020 /usr/bin/python2.7-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
-rwxr-xr-x 1 root wheel 137552 1 1 2020 /usr/bin/python3
lrwxr-xr-x 1 root wheel 76 1 1 2020 /usr/bin/pythonw -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7
lrwxr-xr-x 1 root wheel 76 1 1 2020 /usr/bin/pythonw2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7
python3はすでにインストールされており,/usr/binに実体があるので
% open ~/.zshrc
以下を追加記述
alias python=python3
# zshrcが作成されてなかったら
% touch ~/.zshrc
# で作成可
#ターミナル再起動
# python --version
Python 3.8.2
# pip install --upgrade pip
# もしくはpip3 install --upgrade --user pip
Django仮想環境構築
% cd /Users/akidon/program/venv
# pythonにpython3のエイリアスをつけてるのでこれで可
% python -m venv django
% source /Users/akidon/program/venv/django/bin/activate
% pip3 install django
C++ 競プロ環境構築
% which g++
/usr/bin/g++ ⇦Clang系は標準インストールされている
% /usr/bin/g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
#include <bits/stdc++.h> (標準ライブラリの集合体)
を使いたいのでgcc系を使う
gcc インストール
Intel
% brew install gcc
現段階ではmac上に2種のコンパイラ(clang, gcc)が同居している状態になる。
・/usr/bin/g++ (clang)
・/usr/local/bin/g++-10 (gccの実体)
そのため,シンボリックリンクを作成
(エイリアスとシンボリックの違いがよくわからない。。。シンボリックの方がPCがそのリンク先に実体があると勘違いするそう)
% ln -s /usr/local/bin/g++-10 /usr/local/bin/g++
続き
Visual studio codeで競プロ環境構築[mac OS]
Macでstdc++.hを用いてC++プログラムを実行したい!
M1チップ
% arch -arm64 brew install gcc
% open~/.zshrc
#以下を記述
alias gcc='gcc-10'
alias g++='g++-10'
% g++ --version
g++-10 (Homebrew GCC 10.2.0_4) 10.2.1 20201220
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
include はすでに入ってある
以降はこの記事を参考に
[Atcoder][競プロ]サンプルテストを自動化
Go
% echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.zshrc
#確認
% open ~/.zshrc
#ターミナル再起動
% go version
WakaTime
VSCode
Xcode
curl -fsSL https://raw.githubusercontent.com/wakatime/xcode-wakatime/master/install.sh | sh
しばらく待つ(5分ぐらい)
キーチェインからパスワードを要求されるので常に許可を選択
Xcodeの上バーから
File>WakaTimeAPIKey
が生成されている
生成されていない場合はXcodeを再起動
ターミナル
% zgen load sobolevn/wakatime-zsh-plugin
#豆知識
echo $PATH
% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
例えば
$ python
というコマンドを打ち込んだ時,上の結果より
/usr/local/bin/python
/usr/bin/python
/bin/python
/usr/sbin/python
/sbin/python
/Library/Apple/usr/bin/python
が順に実行される。
実際には/usr/bin/pythonにあるため,/bin/python以下は実行されない
zsh
% open ~/.zshrc
% open ~/.zsh_history