天天看點

vim編輯器、gcc編譯器、gdb調試器

1 vim基本概念

vim三種主要模式

  • 正常/普通/指令模式
控制螢幕光标的移動,字元、字或行的删除,移動或複制某行
  • 插入模式
編輯模式,在此模式下做文字輸入
  • 末行模式
檔案儲存或退出,也可以進行檔案替換,找字元串,列出行号等操作

2 vim基本操作

輸入vim  檔案名稱後進入vim編輯畫面,進入後處于正常模式。

三種模式間的切換

  • 【正常模式】切換至【插入模式】
  1. 輸入 i (從光标目前位置開始輸入)
  2. 輸入 a (從光标所在位置的下一個位置開始輸入)
  3. 輸入 o (插入新的一行,從行首輸入)
  • 【插入模式】切換至【正常模式】
按一下[Esc]鍵
  • 【正常模式】切換至【末行模式】
按下shift鍵和;(就是輸入:)

進入末行模式的操作

:w(儲存目前檔案)

:wq(儲存并退出)

:q!(不儲存強制退出)

3 vim正常模式指令集

3.1 移動光标

  • h、j、k、l控制光标左、下、上、右移動
  • G:移動到文字最後
  • $:移動到光标所在行的行首
  • crtl+b:螢幕向後移動一頁
  • ctrl+f:螢幕向前移動一頁

3.2 删除文字

  • x:每按一次,删除光标所在位置的一個字元
  • ?x:删除光标所在位置包括自己?個字元
  • X:大寫X,删除光标所在位置前面的一個字元
  • dd:删除光标所在行
  • ?dd:從光标所在位置開始删除?行

3.3 複制

  • yy:複制光标所在行到緩沖區
  • ?yy:複制光标所在行下面往下數?行
  • p:将緩沖區的字元粘貼到光标所在位置

3.4 替換

  • r:替換光标所在處的字元
  • R:替換光标所到之處的字元

3.5 撤銷上一步操作

  • u:誤執行一個指令,可以馬上按下u,回到上一個操作
  • ctrl+r:撤銷的恢複

3.6 更改

  • ctrl+g:列出光标所在行的行号
  • ?G:移動光标至文章的第?行行首

4 vim末行模式指令集

  • 列出行号
set nu:在檔案中的每一行前面列出行号
  • 查找字元

/+關鍵字:按 / 鍵,再輸入想查找的字元,如果第一次查找的關鍵字不是您想要的,可以一直按n會一直往後尋找

?+關鍵字:同上

gcc編譯器

預處理(進行宏替換)

  • 預處理功能主要包括宏定義,檔案包含,條件編譯,去注釋等。
  • 預處理指令是以#号開頭的代碼行。
  • 執行個體 gcc -E hello.c -o hello.i
  • -E選項:gcc在預處理結束後停止編譯過程
  • -o選項:是指目标檔案,“.i”檔案為已經過預處理的C原始程式

編譯(生成彙編)

  • 檢查代碼的規範性、是否有文法錯誤等
  • 執行個體:gcc -S hello.i -o hello.s

彙編(生成機器可識别代碼)

  • 彙編階段是把編譯階段生成的“.s”檔案轉成目标檔案
  • 執行個體:gcc -c hello.s -o hello.o

連接配接(生成可執行檔案或庫檔案)

  • 執行個體:gcc hello.o -o hello

gdb調試器

gdb 源檔案名稱

使用gdb調試,要在源代碼生成二進制程式的時候,加上-g選項

  • list/l 行号:顯示源檔案代碼,接着上次的位置往下列,每次列10行
  • list/l 函數名:列出某個函數的源代碼
  • r/run:運作程式
  • n/next:單條執行
  • s/step:進入函數調用
  • break(b) 行号:在某一行設定斷點
  • break 函數名:在某個函數開頭設定斷點
  • info break:檢視斷點資訊
  • print(p):列印表達式的值
  • set var:修改變量的值
  • delete breakpoints:删除 所有斷點
  • quit:退出gdb

繼續閱讀