編輯器vim與編譯器gcc

2021-08-21 14:22:03 字數 2061 閱讀 9422

學習內容:編輯器vim,編譯器gcc,makefile的編寫方式。

得益於班級群裡同學的分享,我完整地了解了linux的幾個萬用字元「*」,「?」,「」,「^」,「{}」 的用法,糾正了自己昨天做的乙個題目的答案,這個題目是這樣的,「刪除所有符合d開頭、t結尾、且中間包含乙個字母的檔案。」,我寫的答案是「find / -name 「d[a-z]t」 -delete」,實際上應該是「find / -name 「d[a-za-z]t」 -delete」。

在和我和同學討論中,我知道了命令grep的正確用法,例如在搜尋哪些檔案包含某個字串的時候,應該在grep後加個選項-r表示遞迴,即在遇到目錄時進入再返回。而選項-a

編輯器vim有三種模式,插入,命令,底行模式。

命令模式下

刪除乙個字元  <3x>刪除3個字元

刪除一行  <3dd>刪除3行

在游標下一行貼上 

複製一行  <3yy>複製3行

撤銷儲存並退出

底行模式下

:w 儲存 :q 退出 :wq 儲存並退出

:q!放棄修改強制退出  :e! 放棄修改並過載當前檔案

:3 游標調到第3行   (在終端中編輯檔案時輸入vim x.xx +3有同樣效果)

:%s 替換   %s/char/int/g 把所有的插入替換為int

:sp xx.xx 在vim裡開啟其他檔案xx.xx    ctrl+w 切換當前的操作檔案

vim的配置

vim的系統配置檔案在/etc/vimrc,常用配置如下,

set auroindent 自動縮排

set shift width=4 自動縮排的寬度

set tabstop=4 tab的寬度

set number 或 set nu 設定行號   set nonu 取消行號

syntax on 語法高亮

編譯器gcc

gcc的基本格式為

gcc [option] [filename] 

#include 標頭檔案展開(複製替換)

#if 0   條件編譯,注釋(這一部分**不編譯)

#define 巨集替換

命令 gcc -e hello.c -o hello.i  (hello.i是乙個文字檔案)

2.編譯:語法檢查、把c**翻譯成彙編**

命令 gcc -s hello.i -o hello.s  (hello.s是乙個文字檔案)

3.彙編:把組合語言編譯成二進位制檔案。

命令 gcc -c hello.s -o hello.o  (hello.o是乙個二進位制檔案)

命令 gcc hello.o -o hello  (hello是乙個可執行檔案)

前三個階段都只能操作乙個檔案,第四個階段能操作多個檔案

在編譯多個.c檔案時可以這樣 gcc hello.c print.c -o hello

在使用make時 優先搜尋makefile而後搜尋makefile 

makefile的基本格式

target:dependency

(tab)command

初級版:

hello:hello.c

gcc hello.c -o hello

定義變數表示

target=hello

object=hello.c

$(target):$(object)

gcc $(object) -o $(target)

隱含規則例項

target =hello

object =hello.o print.o

$(target):$(object)

gcc $(object) -o $(target)

(隱)hello.o:hello.c

gcc -c hello.c -o hello.o

print.o:print.c

gcc -c print.c -o print.o

.phony:clean//將clean設定成乙個偽目標,避免目錄下有檔案clean導致報錯。

clean:

rm *.o hello

vim編輯器跟gcc編譯器的使用

因為vim中無法使用滑鼠,因此就沒有相關滑鼠能夠完成的操作,所以vim中針對不同的操作有不同的模式 vim模式 12種模式,6種基本模式,6種條件模式 常用的有三種模式 插入模式 輸入資料 普通模式 完成各種移動游標,複製貼上 底行模式 完成儲存 退出 從普通模式切換到插入模式 i 進入插入模式,並...

vim編輯器 gcc編譯器 gdb偵錯程式

vim三種主要模式 控制螢幕游標的移動,字元 字或行的刪除,移動或複製某行 編輯模式,在此模式下做文字輸入 檔案儲存或退出,也可以進行檔案替換,找字串,列出行號等操作 輸入vim 檔名稱後進入vim編輯畫面,進入後處於正常模式。三種模式間的切換 輸入 i 從游標當前位置開始輸入 輸入 a 從游標所在...

編輯器 編譯器 IDE

之前一直分不清這些概念,今天心血來潮搜了一下,雖然還是不太懂 程式編輯器是指用來進行編輯程式的軟體程式,能把存在計算機中的源程式顯示在螢幕上,然後根據需要進行增加 刪除 替換和聯結等操作。例如 notepad vim sublime text 簡單講,編譯器就是將 一種語言 通常為高階語言 翻譯為 ...