在linux下從事c程式設計時,需要使用4種基本的工具,分別是編輯器、編譯器、偵錯程式、makefile。
編輯器用於原始檔的編寫,在當前的linux中存在很多的編輯器,有視覺化工具,如kde,也有經典的非視覺化工具,如vi,vim。
編譯器一般採用gcc,偵錯程式採用gdb,而針對工程中數量眾多的原始檔的編譯,一般採用make指令碼,如果能夠熟練應用這些工具,將會大幅度提公升軟體的開發能力。
vi的介紹及使用
1、vi介紹
vi是linux系統中一款著名的編輯軟體,也是linux系統中第一款全螢幕編輯軟體,vi從誕生至今,為廣大linux使用者熟悉,幾乎是應用linux系統必備的一項基本技能。
由於vi是基於命令互動的方式,對於使用慣了視覺化工具的使用者來說,在開始會很不適應,但相信經過慢慢的學習以及實踐,你應該會喜歡上這款工具。
2、vi的啟動
vi的啟動很簡單,只需要在linux終端輸入vi即可,
如果啟動時沒有指定名字或者指定的檔名不存在,則vi將開啟乙個新的緩衝區域來進行編輯,如果在開啟時指定了乙個已有的檔案,則vi會將該檔案的整個內容讀取到已準備進行編輯的緩衝區當中。
3、vi的三種模式
vi編輯器有三種基本的工作模式,分別是命令模式、插入模式、末行模式,在使用的時候,一般將末行模式也算是命令模式。
命令列模式----控制螢幕游標的移動、字元、字或者行的刪除,移動,複製某區域
插入模式----用於文字的編輯,在這種模式下,使用者可以進行輸入、查詢等基本的文字操作
末行模式----將文字儲存或退出編輯器,也可以設定編輯環境,如查詢字串,列出行號等。
4、vi的基本操作
4.1命令列模式操作
①進入插入模式
●i:從游標當前位置開始輸入檔案
●i:在游標所在行的行首插入
●a:從目前游標所在位置的下乙個位置開始輸入文字
●a:在游標所在行的行末插入
●o:插入新的一行,從行首開始輸入文字
●o:在游標所在的行的下面插入一行
●s:刪除游標後的乙個字元,然後進入插入模式
●s:刪除游標所在的行,然後進入插入模式
②從插入模式切換為命令列模式
③移動游標
vi可以直接用鍵盤上的游標來上下左右移動,但正規的vi是用小寫字母k、j、 h、l分別控制游標的上下左右。
●ctrl+b:螢幕往後移動一頁
●ctrl+f:螢幕往前移動一頁
●ctrl+u:螢幕往後移動半頁
●ctrl+d:螢幕往前移動半頁
●gg:移動到文字開頭
●g:移動到文字最後
●$:移動到游標所在行的行尾
●^:移動到游標所在行的行首
●w:游標跳到下個字的開頭
●e:游標跳到下個字的字尾
●b:游標回到上個字的開頭
●nl:游標移到該行的第n個位置
④刪除文字
●x:每按一次,刪除游標所在位置的後面乙個字元
●nx:刪除游標所在位置後面的n個字元
●x:每按一次,刪除游標所在位置的前面乙個字元
●nx:刪除游標所在位置的前面n個字元
●dd:刪除游標所在行
●ndd:從游標所在行開始刪除n行
⑤複製●yw:將游標所在之處到字尾的字元複製到緩衝區中
●nyw:複製n個字元到緩衝區中
●yy:複製游標所在行到緩衝區中
●nyy:複製從游標所在行開始的n個字元
●p:將緩衝區內的字元寫到游標所在的位置
⑥替換●r:替換游標所在處的字元
●r:替換游標所到處的字元,直到按下esc鍵為止
⑦撤銷上一次操作
●u:如果誤執行乙個命令,可以馬上按下u,回到上乙個操作,按多次u可以執行多次撤銷操作
⑧更改●cw:更改游標所在處的字到字尾處
●cnw:更改n個字
⑨跳至指定的行
●ctrl+g:列出游標所在行的行號
●ng:移動游標至該文字的第n行行首
⑩退出●zz:存檔退出
●zq:不儲存退出
4.2末行模式操作
在使用末行模式之前,請記住先按下esc鍵,確定已處於命令列模式後,在輸入冒號:,即可進入末行模式。
列出行號
●set nu
②取消行號
●set nonu
③搜尋時忽略大小寫
●set ic
④取消搜尋時忽略大小寫
●set noic
⑤跳到檔案中的某一行
●n⑥查詢字元
●/關鍵字:
●?關鍵字
⑦執行shell命令
●!cmd:執行shell命令cmd
⑧替換字元
●s/search/replace/g
●%s/search/replace
●n1,n2 s/search/replace/g
⑨儲存檔案
●w⑩退出vi
●q:退出vi,如果無法退出,可以在q後面跟上乙個!,強制退出vi。
●qw:退出時儲存檔案
Linux編輯工具使用
底線命令模式 在命令模式下按下 英文冒號 就進入了底線命令模式。n space 那個n表示 數字 按下數字後再按空格鍵,游標會向右移動這一行的n個字元。例如20則游標會向後面移動20個字元距離 0這是數字 0 移動到這一行的最前面字元處 n enter n為數字 游標向下移動n行 word 向游標之...
linux下unifdef工具使用
為了閱讀 的方便,通常有兩種需求 1 只閱讀定義了某種巨集的 2 只閱讀沒有定義某個巨集的 linux下面提供了unifdef工具.具體安裝和使用如下 sudo apt getinstall unifdef a 獲取定義了a的 unifdef da test.c modi.c ifdef a 去除 ...
linux監控工具vmstat使用
vmstat是乙個檢視虛擬記憶體 virtual memory 使用狀況的工具,使用vmstat命令可以得到關於程序 記憶體 記憶體分頁 堵塞io traps及cpu活動的資訊。本文介紹了虛擬記憶體的執行原理,繼而介紹了vmstat的用法和使用範例。一 虛擬記憶體執行原理 在系統中執行的每個程序都需...