Linux#
常用#
| 命令 | 功能 |
|---|---|
| ls | 列出文件 |
| cd - 或 1 | 返回上一次目錄 |
| gcc *.c (-o ...) | 編譯 C 源文件(指定輸出的可執行程序名稱為...) |
| g++ *.cpp | 編譯 C++ 源文件,也可以編譯 C 語言 |
| ./*.out | 運行 C 源文件編譯得到的可執行程序 |
| mkdir | 創建目錄 |
| rm 文件 | 刪除文件 |
| mv 舊路徑 新路徑 mv 舊文件名 新文件名 | 移動文件 重命名 |
| clear 或 ctrl + l | 清屏 |
附加#
| 命令 | 功能 |
|---|---|
| ld *.o | 將目標文件與庫鏈接為可執行文件或庫文件 有點類似於 g++ *.o,但需手動鏈接庫 |
| g++ -c *.cpp | 生成編譯後的對象文件(不鏈接) |
| g++ -I 頭文件路徑 *.cpp | 編譯時添加頭文件路徑到系統庫路徑下 |
| ./*.out > output | 標準輸出重定向 |
| ./*.out 2> output | 錯誤輸出重定向 |
| time ./*.out | 可顯示代碼執行時間 |
| ctrl + a | 光標移到行首 |
| ctrl + e | 光標移到行尾 |
| ctrl + r | 搜索之前打過的命令 |
| man 指令 | 查看指令說明 |
| touch makefile | 創建空白文檔 makefile |
Tips#
- 修改 zsh 控制台顯示:用戶名 hz@後面隱藏主機名字,節省屏幕
- 在~/.zshrc 中,找到該行

- 主要是刪去 % m,如下:
PROMPT="%{$fg[red]%}%n%{$reset_color%} : %{$fg[yellow]%}%1~ %{$reset_color%}%# "
- Man 手冊
Vim#
默認【普通模式】下
常用#
| 命令 | 功能 |
|---|---|
| esc * 1、2 | 切換到 普通模式、保存並檢查語法 [普通模式下] 注意: 一般切換到普通模式按 1 下 esc [如果按 2 下,在瞬間按方向鍵或滾動鼠標滾輪會有字符輸出] 在普通模式下按 2 下保存並檢查語法 [如果只按 1 下,同上] |
| i、I | 切換到 插入模式、並到行首 |
| a、A | 切換到 插入模式 到後一位、到行尾 |
| o、O | 切換到 插入模式 並向下開啟新行、向上開啟新行 |
| : | 切換到 命令行模式 |
| v、V | 切換到 visual、visual line 模式 後者適合快速操作整行 |
| ctrl + v | 切換到 visual block 模式 |
| u | 撤銷 undo |
| ctrl + r | 反撤銷 redo |
| d;dd [D]、ndd | 剪切、刪除(visual 模式下;普通模式下某 1、n 行) |
| y;yy、nyy | 複製(visual 模式下;普通模式下某 1、n 行) |
| ynG、dnG | 複製、剪切當前行到第 n 行的內容 |
| p | 粘貼(visual 模式下;普通模式下) |
| gg | 文件頭部 |
| G | 文件尾部 |
| $、0、^ | 行尾、行首、有效行首 |
| h、j、k、l | 控制光標左、下、上、右移一格 |
| :%s/old/new/gc | 全局替換字符串 old 為字符串 new [c 代表詢問] 範圍可變:% 全文,i, j 第 i~j 行 參考Vim 學習筆記 - 常用查找替換命令 |
| / 關鍵詞 enter n N | 搜索關鍵詞 enter 定位到關鍵詞 n 向後找 N 向前找 |
| 【跨文件拷貝】 、 . yy、dd ctrl + w p | 【跨文件拷貝】 切分窗口 橫向、縱向 打開另一文件 在某窗口進行拷貝、剪切操作 切換窗口 粘貼 |
| 【在某列快速插入相同字符】 ctrl + v 上下左右 I (大寫 i) 輸入字符 esc * 2 | 【在某列快速插入相同字符】 切換到 visual block 模式 選中要在前面插入字符的某列 切換到 插入模式,並到行首 輸入字符 生效 |
| 【快速縮進】 v / V / ctrl + v 上下 > / < (shift + , / .) | 【快速縮進】 切換到任意 visual 模式 選中要縮進的行 縮進 / 取消縮進 (還可以使用 2>> 快速縮進兩次) |
附加#
| 命令 | 功能 |
|---|---|
| paste、nopaste | 開啟、關閉粘貼模式 適合在插入 (粘貼) 模式下粘貼 [shift + insert] 來自 windows 的多行文本 |
| mouse=c | 可使用鼠標操作,複製和粘貼對應信息 |
| shift + k | 跳到標籤對應的 man 手冊 |
| ctrl + ] | 找到光標所在位置的標籤定義的地方 [ctags] |
| ctrl + o ctrl + i | 回到上一視圖 前往下一視圖 |
| ctrl + f [shift + ↓] | 下翻頁 |
| ctrl + b [shift + ↑] | 上翻頁 |
| f5 | 編譯 C、C++ |
| f6 | 代碼格式優化 |
| f8 | 調試 |
| ddkP 、 -2 | 將代碼向上移動一行 |
| ddp 或 +1 | 將代碼向下移動一行 |
| dnw | 剪切 n 個單詞 |
Tips#
- for 循環的‘{’後面不要加‘//’注釋,否則回車縮進會出錯
- 參考Learn-Vim-Github
- vimtutor 練習
- 練習一遍,vim 就會用得很 6
- 直接在終端輸入vimtutor進入