新買Mac可能會不熟悉快捷鍵操作,故記錄一些常用的指令
# 基本功能篇
* 全螢幕截圖:Command+Shift+3
* 指定區域截圖:Command+Shift+4
* Touch Bar截圖:Command+Shift+6
* 有陰影效果的視窗截圖:Command+Shift+4,放開後按空白鍵,將相機圖示移動想截取的視窗後按左鍵
* 視窗截圖:Command+Shift+4,4放開後按空白鍵,按住Option鍵後將相機圖示移動想截取的視窗後按左鍵
* 關閉程式:Command+Q
* 切換程式視窗:Command+Tab
* 同一程式切換視窗: Command + ~
* 刪除檔案: Command + Backspace
* 剪下檔案與貼上:Command+C **Command+Option+V**
* 強制結束程式:Control+Option+esc
* 切到桌面:fn + F11
* 看見隱藏檔案:Command + Shift + .
* 微調音量:Shift + Option + 音量鍵
* 讓視窗滿版面(非全螢幕):Option + 左上角的綠色全螢幕鍵
* 讓瀏覽器滿版:fn + F
* 快速捲動瀏覽頁面:fn + 方向的上下鍵
## 通用編輯篇
* 複製:Command+C
* Delete(向後刪除): Fn + Backspace
* 貼上:Command+V
* 去除格式後貼上:Shift+Option+Command+V
* 剪下:Command+X
* 回復上一步:Command+Z
* 全選:Command+A
* 超連結:Command+K
* 全大寫輸入:按住大寫鍵直到燈亮
* 粗體字: Command+B
* 跳字:Option + 左右
* 跳到最左右邊:Command(fn也可) + 左右
* 反引號`: 波浪線 ~ 直接按
## 瀏覽器使用
* 瀏覽器重新整理:Command+R
* 瀏覽器開新分頁:Command+T
* 瀏覽器切換至指定分頁:Command+1、Command+2、Command+3(以此類推)
* 關閉瀏覽器一個視窗:Command + W
* 將關閉視窗還原:Shift + command + T
* 跳到最上、下面:Command+箭頭上下鍵
* 上/下一頁:Command + 左/右方向鍵
## PDF
* 新增文字:Control+Command+T
* 合併pdf:preview -> view -> 開啟thumbnails(縮覽圖)模式 -> edit -> insert 就可把數個pdf合併;
* 合併pdf(2):或是開啟多個視窗(都是thumbnails模式),把想要的頁數拖曳到被合併的pdf中;可插入在任意位置
* 從PDF匯出特定頁面:開啟thumbnails(縮覽圖)模式,選中你所需要匯出的頁面,將選中的PDF拖移或複製(Command + C, Command + v)到想要的位址即可
* 圖片檔轉pdf:在preview即可export成pdf檔
* 快速預覽圖片:框選所有圖片並且按下「空白鍵」
* 回復先前版本:file -> revert to -> browse all versions
## 注音輸入法下的快捷鍵
* ,=Shift + ,
* 。=Shift + .
* :=Shift + ;
* .=Option + .
* 、=、
* ;=Option + ;
* 《=Shift + Option + ,
* 》=Shift + Option + .
* Control+Command⌘+空白鍵: Emoji視窗
## 英文輸入法快捷鍵,數學符號
* ≥ = Option + .
* ≤ = Option + ,
* √ = Option + V
* ¬ = Option + L
* ∑ = Option + W
* π = Option + P
* ƒ = Option + F
* ∆ = Option + J
## 改預設編輯文件器
file右鍵 -> get info -> open with
## 生出 .txt
textedit -> format -> make plain text
https://www.wikihow.com/Create-a-TXT-File-on-Mac
# Mac Programming
## 終端機使用
### 終止程式
按control + c可以停止程式執行
### shell script
- 執行腳本
`$ bash file_name.sh`
### 創立、編輯文件
`$ vim file_name`
按`i`代表insert, 可以開始寫。按`esc`跳脫某個狀態。打`:wq`寫入後quit。
- 創建腳本、編輯
`$ vim file_name.sh`
## 自動排程工作
使用automator, 點application, utility, 然後選 run shell script, 使用zsh即可,然後在底下的內容打`python3 file_name.py` 就像是自己在終端機打指令一樣。
### 開機時執行工作
按system settings, 搜尋log in, 在log in item的地方加入我們上述的automator產生的app,開機的時候就會執行裡面的指令了。
## Python
安裝的時候如果使得在終端機無法使用`python`,因為發生command not found的問題時,可以利用zsh shell中`alias`的概念,設定python=python3,VScode也能正常靠按按鍵運行python了。
Open your terminal and run the command:
1. touch .zshrc
2. open ~/.zshrc
3. 在.zshrc中加入`alias python="python3"`
## C/C++
### MacOs 使用VScode與C++17
https://cse232-msu.github.io/CSE232/vscode_setup/macos.html
如果Mac上面有xcode就不用下載,
After installation, I recommend running the `clang --version` command again to see if you get the above output.
compile就用下面的command line
`g++ a.cpp -o a -std=c++17 -Wall`
`g++`相當於`clang++`,Mac上面沒有真正的`g++`
### MacOS VSCode配置c++17環境 (這個比較難用)
1. https://blog.csdn.net/fighting_Kitty/article/details/124774798
2. [visual studio](https://code.visualstudio.com/docs/cpp/config-clang-mac)
3. 不知道為什麼要再disable clang adaptor https://github.com/Microsoft/vscode-cpptools/issues/3005#issuecomment-455418331
- Run and Debug: 先去Terminal > Configure Default Build Task產生tasks.json,.vscode/tasks.json(.vscode跟cpp同位址但隱藏) 加這兩行`
"-std=c++17", "-stdlib=libc++",` ,此資料夾底下的cpp檔都可以用,不用再改東西
或是直接把tasks.json變成複製下面全部 [自製方便連結](https://hackmd.io/aEu9x5seRQmum7EXo35RqA)
```
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang++ build active file",
"command": "/usr/bin/clang++",
"args": [
"-std=c++17",
"-stdlib=libc++",
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
]
}
```
- BUG expected ';' at end of declaration
https://stackoverflow.com/questions/27924050/expected-at-end-of-declaration-vector-c
- 要用vscode開啟有.vscode的資料夾,才不會有bug
## Python
### Python Package
package 放在~/Library/Python Library被隱藏了
```
a_list = os.listdir(path) # 要sort過 不然沒有照順序
a_list.sort()
```
### Python 路徑 環境變數
[添加環境變數](https://aronhack.com/zh/python%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E6%88%96%E4%BF%AE%E6%94%B9mac%E4%B8%AD%E7%9A%84path%E7%92%B0%E5%A2%83%E8%AE%8A%E6%95%B8/)
`sudo nano /etc/paths`
在裡面添加terminal當初警告你要加入的路徑
## VSCode
### 常用指令
* Run Without Debugging: fn + Control + F5
* 中斷正在跑的程式:Control + Z
* VScode Terminal開啟虛擬環境: Control + Shift + ~
* 快速開啟github專案(去vscode):去github desktop按 Command + Shift + A
* 搜尋:Command + F
* 開啟Command Palette:Shift + Command + P
* VScode keyboard shortcuts https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
* vscode replace: Option + Command + F
### VScode Git/Github 操作
https://ithelp.ithome.com.tw/articles/10267030