版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、LINUX系統(tǒng)工具Vim的使用1、三種模式相互轉(zhuǎn)換末行模式輸入模式命令行模式用戶輸入vi輸入i或o或a輸入shift+;輸入ESC輸入ESC1、解壓縮包gz格式:(管理員下)tar xvzf vim_文件名.orig.tar.gzBz2格式:(管理員下) tar xvjf vim_文件名.orig.tar.gz用make 測試(管理員下)make test2、vi命令i、o、a插入(append、insert、open):q退出:help version當前版本:set nocp恢復默認的程序:help在線幫助信息hjkl左移、下移、上移、右移Ctrl+D將光標向下移動半個窗口Ctrl+U將光
2、標向上移動半個窗口!強制執(zhí)行help 命令顯示相關的命令幫助3.31、命令行模式如果不是合法命令,就會發(fā)出報警聲。I切換到輸入模式,在i命令之后輸入的內(nèi)容都插在光標位置之前,光標后的文本相應的向右移動。如按enter鍵,就插入新的一行或者換行。o切換到輸入模式,且從首行開始插入新的一行。a切換到輸入模式,在該命令之后的字符都插入到光標之后:末行模式,最后行出現(xiàn)冒號,光標在冒號后閃爍0光標移到本行開頭h光標左移一格l光標右移一格j光標上移一格k光標下移一格$光標移到本行行尾n光標下移n行nG光標移到第n行X刪除光標所在位置的前一個字符x刪除光標所在位置的字符nx刪除光標所在位置及其后的n 個字符
3、nX刪除光標所在位置及前n個字符dd刪除光標所在行ndd刪除光標之后n行R修改光標所在位置的字符,可以一直替換,直到按下Esc鍵r修改光標所在字符/name查找光標之后name的字符串,系統(tǒng)會自動查找,并突出顯示所有找到的字符串,并轉(zhuǎn)到第一個找到的字符串;如果要繼續(xù)向下查找,可以按n鍵;向上查找按N鍵?name查找光標之后name的字符串,與“/”類似,但它是向上查找name字符串查找“”,并將光標移到“”處yy復制所在行nyy復制光標之后n行P將復制的內(nèi)容粘貼到光標所在位置u撤銷最近一次操作,并恢復操作結(jié)果,可多次使用u來恢復已經(jīng)進行了多步的操作U撤銷當前進行的所有的操作(文件自上次保存到現(xiàn)
4、在的操作)3.32.末行模式w寫文件,將編輯的內(nèi)容保存到文件系統(tǒng)w!如果是只讀文件,強制寫入文件q!退出vi,但是文件內(nèi)容有修改的話,并不保存修改wq!保存內(nèi)容并退出vi/查找匹配的字符串,在編輯時,要查找包含某個字符串,可以使用“/字符串”,會查找所有的,轉(zhuǎn)到第一個字符n加載新文件,e創(chuàng)建新文件3.41.編輯多個文件vi文件1文件2 文件N:n(next)進入下一個文件:rew進入首文件:args當前緩沖區(qū)所存的文件的文件名3.42.分割窗口:split上下分割(可加文件名):vsplit左右分割(可加文件名):ctrl+w光標到下一個窗口:close:quit關閉窗口3.43用戶命令模式V
5、imdiff 文件名 文件名 左右分割vi -r 文件名斷電恢復3.44.定義新命令:ab字符一字符串一:imap快捷鍵需要替換的字符串3.4.5.文本整體移動默認為8,用set進行設置n,n 右n,n 左:nmkn,原目的行;m,(move)移動;k,第k行下方:n,nmkn,n,原目的行;m,(move)移動;k,第k行下方3.5高級使用Vi環(huán)境(m):set功能選項(輸入全拼)首先使用.bash_profile文件,每個文件可以有自己的.exrc配置文件。aiautoindent選項把每一行縮排為與其上一行的行首對齊,默認為offapautoprint默認為onsmshowmatch在輸
6、入右圓括號時,顯示匹配的左括號。默認為offnmnumber顯示行號。默認為offWm=nwrapmargin定義右邊距。n為整數(shù)。默認為0reportreport編輯操作改變的次數(shù),導致信息出現(xiàn)在狀態(tài)行。默認為5smdshowmode給出相關命令時,顯示“插入”。默認為offwsWord search在查找期間遇到結(jié)束符時,繞道開頭繼續(xù)查找。默認為oneberrorbells命令錯誤會報警。默認為offredaw發(fā)生變化時刷新。默認為onwarn修改緩沖區(qū)內(nèi)容后未保存,顯示警告信息。默認為onfl輸入無效命令,發(fā)出聲音;flash不再發(fā)出;noflash發(fā)出。默認onlistvi中的Tab用
7、“1”表示,用“$”表示每行結(jié)束。icignorecase區(qū)分大小寫搜索,noignorecase不區(qū)分大小寫。默認為offwarp較長行。wrap后自動換行,nowrap不自動換行。默認為On3.5.2語法高亮顯示/root/.vimrc對文件進行高亮設置的配置文件。exportTERM=xterm-color3.5.3.正則表達式斜杠/定界符,表示表達式的開始和結(jié)束句點.匹配任意單個字符,該字符可以代替其后任何單個字符。/s.d/,點代表任意字符;/.ping/,代表任意字符。方括號用來表示匹配括號中的任意一個字符,其中需要指出的是,在括號中出現(xiàn)“-”表示一段范圍,如a-z表示可以匹配到所
8、有小寫字母,a-zA-Z可以匹配小寫和大寫,0-9可以匹配0-9的任意數(shù)字。除外,表示匹配除括號中字符的所有字符,取括號中字符的補集。例如,/taeoik/可以匹配到tak、tik、tek等字符;/bookpu.k/可以匹配到boook、bokek、boulk等字符;/pa-z.s/可以匹配到paus、pkks、pu7s、prss等字符;/715ui9h/匹配到71h/7uh/7ih;/k0-9k/匹配到k9k、k7k、k3k等字符;/ka-zj/匹配到kZj、kSj、k%j、k6j等字符。唯獨不能匹配到中間字符是小寫字母的字符串。星號*匹配0個或多個字符,如,/ab*c/匹配到abc、abb
9、bbbc、akloic、a*95c等字符;/a-z*/匹配任意以小寫字母開頭的句子、單詞或字符串;/t*ing/匹配到tkling、tping、t56ing。反斜杠轉(zhuǎn)義字符,把緊跟其后的第一個原字符當做普通文字對待,除第一個以外都保持其原來的含義。/sound*/可匹配到包含sound*的行;/ba-zk/匹配含有b-a-zk/;/s*aa-z*ing/匹配到s*aissing、s*akddssding、s*ajkoplling等。匹配所有括號中的單詞,不僅表示每行包含該文字符即可,而要包含單詞。表示所有行中包含單詞wth的行;表示所有行中包含sun的行。匹配一行的開始。/f/表示匹配所有以f
10、作為開頭的行;“#/a-z/”表示匹配所有以#作為一行開頭。并且第二個字符為小寫的行。$符號$匹配一行的結(jié)束,其使用格式是在指定的字符后面加$行。如,/wth$/,表示所有以wth字符結(jié)尾的行;/A-Z$/表示匹配所有以大寫字母結(jié)尾的行。由于正則表達式必須與定位命令、全局命令一塊兒使用,才能顯示其強大。3.5.4行號和范圍確定光標。指明行號。末行模式下。n1,n2n1行到n2行.光標所在行%最后一行$全選。第一行到最后一行+n相對當前行,“.,.+10”向后的10行-n相對當前行,“.,. - 5”向前的5行3.5.5全局命令1.addr g /字符串/ 命令讓系統(tǒng)在指定的行中進行搜索字符串所
11、在行,使用命令操作。g:全局,對包含字符串的指定行進行相應的命令操作,通常有:p(顯示)、g(替換)、d(刪除)格式中的g表示進行對選定的行進行操作;末行的g表示替換。2. 替換addr s /源字符串/目的字符串/ 選項S:表示替換工作。選項表示對字符串操作的類型,當省略選項時,對每行第一個匹配串進行替換。有:g:對全局的字符串替換、c:對全局要替換的字符進行確認、p:將替換的結(jié)果逐行顯示(ctrl+L可恢復)。命令操作說明g/字符串/p顯示所有帶有“字符串”的行g!/字符串/p顯示所有不帶有“字符串”的行n1,n2g/字符串/p顯示從n1到n2中,所有帶“字符串”行g/字符串/d刪除所有帶
12、有“字符串”的行g!/字符串/d刪除所有不帶有“字符串”的行g/字符串 1/s/字符串2/用“字符串2”全文替換“字符串1”,但每行只替換第一個“字符串1”g/字符串 1/s/字符串 2/g用“字符串2”全文替換“字符串1”s/字符串1/字符串2用“字符串2”替換當前行第一個“字符串1”s/字符串1/字符串2/g用“字符串2”替換當前行所有“字符串1”%s/字符串1/字符串2/用“字符串2”全文替換“字符串1”%s/字符串1/字符串2/g用“字符串2”全文替換“字符串1”g/字符串1/s/字符串2/字符串3/g表示在所有包含“字符串1”的行中,把“字符串2”用“字符串3”代替3.5.6.執(zhí)行s
13、hell命令 使用vi時,執(zhí)行shell程序的方法通常有3種:返回式、退出式、執(zhí)行式。1、 返回式。末行模式sh輸入shell命令exit(退出shell)。2、 退出式。末行模式!command回車輸入shell命令(加?。┗剀嚕ㄍ顺鰏hell)。3、 執(zhí)行式。末行模式r輸入shell命令回車回車。軟件開發(fā)工具GCC7.4.編譯基礎流程和選項 四個步驟:預處理(pre-processing)、編譯(compiling)、匯編(assembling)、連接(linking)。鏈接C、C+等源程序生成可執(zhí)行文件編譯編譯后生成的代碼(.s、.S等)匯編生成的目標文件.o匯編預編譯后生成文件(.i、
14、.ii等)預編譯在處理過程中,C預編譯器首先擴展宏定義和相應的頭文件,在編譯階段根據(jù)源文件的指令創(chuàng)建匯編語言代碼;然后使用匯編器創(chuàng)建計算機可讀的目標文件代碼,每個源文件代碼都會創(chuàng)建一個目標代碼;在編譯最后一個階段,連接器搜索指定的函數(shù)庫,找到程序中使用的函數(shù),并將這些函數(shù)的目標代碼和所有的源文件目標代碼合并在一起。編譯過程中,使用合適的編譯選項,可以控制編譯過程,最后生成可執(zhí)行。GCC支持的編譯源文件的后綴及解釋:后綴名對應的語言種類后期可能進行的操作.cC語言源程序預處理、編譯、匯編、鏈接.C / .cc / .cxxC+語言源程序預處理、編譯、匯編、鏈接.mObjective-C語言源程序
15、預處理、編譯、匯編、鏈接.i預處理后的C文件編譯、匯編、鏈接.ii預處理后的C+文件編譯、匯編、鏈接.s / .S匯編語言源程序匯編、鏈接.o目標文件程序鏈接.a / .so編譯后的庫文件.h預處理所需的文件GCC編譯器使用的主要格式為:GCC選項 要編譯的文件 選項目標文件如:GCC -E hellogcc.c-o hellogcc.i7.4.1.預處理過程就是要對源程序中出現(xiàn)的偽指令(以#開頭;宏定義、條件編譯、頭文件包含、特殊符號)和特殊字符進行處理的過程。其具體過程就是把包含“#”的文件插入原文中,將宏展開,根據(jù)條件編譯命令選擇要使用的代碼,把源文件變?yōu)橐粋€沒有宏定義、沒有條件編譯指令
16、、沒有特殊字符的文件,最后將代碼生成一個 .i 的文件中,等待下一步處理過程。如程序hellogcc.c:gcc -E hellogcc.c -o hellogcc.i7.4.2.程序編譯過程主要目標是用預處理過程產(chǎn)生的指令生成匯編語言代碼。新文件中只包含常量、變量以及關鍵字的信息。GCC編譯器首先檢查代碼的規(guī)范性、可讀性以及是否存在錯誤,檢查無誤后,把C/C+代碼或者 .i 文件翻譯成匯編代碼。如程序hellogcc.i:gcc -S hellogcc.i -o hellogcc.s7.4.3.匯編過程把匯編代碼翻譯成格式正確的機器代碼。在匯編語言中,用助記符代替操作碼,用地址符號代替地址碼
17、,因此,使用匯編語言編寫的程序,機器不能直接識別,要由一種程序?qū)R編語言翻譯成機器語言,這種程序叫匯編程序,GCC是系統(tǒng)軟件中可以進行匯編處理的系統(tǒng)軟件。如程序hellogcc.s:gcc -c hellogcc.s -o hellogcc.o7.4.4.鏈接過程將上步生成的一個或多個 .o 目標文件盒函數(shù)庫文件結(jié)合起來,最終生成在特定平臺上的可執(zhí)行文件。函數(shù)庫:靜態(tài)庫和動態(tài)庫。函數(shù)庫文件可執(zhí)行文件鏈接器目標文件.o目標文件.o目標文件.o如程序hellogcc.o:gcc -o hellogcc hellogcc.c7.5GCC編譯高級操作及選項7.5.1.常規(guī)操作選項選項解釋-X lang
18、uage輸入文件的語言language-E只進行預處理-S只進行編譯-c只進行匯編-o file輸出的文件指定到file中,可以輸出匯編文件、目標文件、可執(zhí)行文件-v打印出編譯器內(nèi)部編譯各個過程的命令行信息和編譯器版本7.5.2.警告提示功能對程序結(jié)構(gòu)的診斷信息,不一定有錯誤,而是存在風險,可能存在錯誤。選項解釋-fsyntax-only檢查語法錯誤,不產(chǎn)生輸出信息-w禁止所有警告信息-Wunused如果某個局部變量除了聲明就沒再使用,或者聲明了靜態(tài)函數(shù)但是沒喲定義,或者某條語句的運算結(jié)果顯然沒有使用,編譯器就發(fā)出警告-Wmain把main函數(shù)聲明或定義成奇怪的類型-Werror視警告為錯誤,
19、出現(xiàn)任何警告就放棄編譯-Wredundant-decls同一個可見域定義多次聲明-Wall允許GCC提供所有有用的報警信息-pedantic-error允許發(fā)出ANSI C標準所列出的全部信息如程序hellogcc.c:gcc -Wall -o hellogcc hellogcc.c7.5.3.代碼調(diào)試產(chǎn)生調(diào)試信息,方便后面gdb和gprof工具的調(diào)試和執(zhí)行。選項說明-g產(chǎn)生調(diào)試信息,GDB能夠使用這些調(diào)試信息對程序進行排錯-pg產(chǎn)生額外代碼,輸出profile信息,供分析程序gprof使用-gdwarflevel n生成調(diào)試信息,同時用level指出需要多少信息,默認的level值是2,le
20、vel 1輸出最少量的信息,僅包括函數(shù)和外部變量的描述,沒有局部變量和行號信息。Level3包含更多的信息,出現(xiàn)的所有宏定義,支持宏擴展。7.5.5.鏈接功能-llibrary搜索library的庫文件,連接器在標準搜索目錄中尋找這個庫文件,庫文件的真正名字是library.a,連接器會把它當做文件名準確引用這個文件。但是即使不使用這個選項,GCC也把默認的一些庫鏈接進去。搜索目錄除了一些系統(tǒng)標準目錄外,還包括用戶以“-L”選項指定的路徑-nostartfiles不連接系統(tǒng)標準啟動文件,而標準庫文件仍然正常使用-object-file-name如果某些文件沒有特別明確的后綴,GCC就認為他們生
21、成的是目標文件或庫文件-nostdilb不連接系統(tǒng)標準啟動文件盒標準庫文件,只把指定的文件傳遞給連接器-static在動態(tài)連接時,阻止連接共享庫-shared生成一個共享目標文件,它可以和其它目標文件連接產(chǎn)生可執(zhí)行文件。只有部分系統(tǒng)支持該選項-I 目錄表示在頭文件搜索路徑中添加用戶自定義的搜索目錄。由于Linux中頭文件都默認放到“/usr/include”目錄下,當用戶希望添加其他位置的頭文件時,就可以通過“-I dir”選項指定。這個選項在編譯多個不在同一個目錄下的文件時非常有用-L 目錄在庫文件的搜索路徑中添加用戶自定義的搜索的目錄名,例如一個程序在連接時需要使用在目錄“/home/wth”下libwth.so 的庫,用戶只需要在gcc命令中加入“-L/home/wth/libwth.so”如程序hellogcc.c,/home/wth目錄下的wenjian2.h。把wenjian2.h在前,hellogcc.c 在后:gcc -I /home/wth -o hellogcc hellogcc.c. / hellogcc7.6.1.程序性能測試gprof(與GCC協(xié)同工作)執(zhí)行完畢后,在當前目錄下生成gmon.out文件,gprof通過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025校園公交站亭建設合同
- 2025生產(chǎn)企業(yè)承包合同范本
- 高校教學改革效果的評估與改進
- 2024年版基礎設施PPP項目特許經(jīng)營協(xié)議版B版
- 2024年離婚合同書簽署與實際離婚程序詳解版B版
- 2024年燈具出口代理合同
- 2024年簡單餐廳服務員雇傭協(xié)議
- 代理售樓分成合同范例
- 商洛職業(yè)技術學院《能量轉(zhuǎn)換材料與器件》2023-2024學年第一學期期末試卷
- 汕尾職業(yè)技術學院《編校軟件應用》2023-2024學年第一學期期末試卷
- 數(shù)字媒體藝術史全冊完整教學課件
- 全冊知識點梳理-2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 2024年高考英語讀后續(xù)寫15種情景高分句式仿寫素材積累(講義背誦版)
- 湖南省長沙市2024年中考化學真題【附真題答案】
- 五年級蘇教版數(shù)學上冊《解決問題的策略一一列舉》說課稿
- 2024年駕駛證資格考試科目一必刷題庫及答案(共520題)
- 2024-2030年中國空氣消毒凈化器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 國債資金管理辦法
- 二年級數(shù)學應用題50道附參考答案(綜合題)
- 光纜項目創(chuàng)業(yè)計劃書
- 昂立教育擬資產(chǎn)租賃所涉及的位于徐匯區(qū)龍耀路175號部分辦公房地產(chǎn)年租金市場價值資產(chǎn)評估報告
評論
0/150
提交評論