国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux工具【1】(編輯器vim、編譯器gcc與g++)

這篇具有很好參考價(jià)值的文章主要介紹了Linux工具【1】(編輯器vim、編譯器gcc與g++)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

引言

vim(vi improved)編輯器是從 vi 發(fā)展出來的一個(gè)文本編輯器。 代碼補(bǔ)全、編譯及錯誤跳轉(zhuǎn)、語法高亮等方便編程的功能特別豐富,在程序員中被廣泛使用。
vim 可以說是程序開發(fā)者的一項(xiàng)很好用的工具,它更是一個(gè)程序開發(fā)工具而不只是文字處理軟件。

Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim
在vim中編輯代碼可以使程序員的手指集中在鍵盤中央,從而提高效率。

在vim中編輯代碼后,要執(zhí)行代碼就需要編譯器,在Linux中使用gccg++編譯C與C++代碼

vim

為方便演示,我們touch一個(gè)test_vim.c文件,并使用vim 文件名以vim方式打開這個(gè)文件
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

Vim的三種模式及模式切換

vim編輯器有許多模式,在這里只介紹三種常用的模式:命令(普通)模式Normal mode、底行模式Last line mode、插入模式Insert mode

Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim
命令模式(Normal mode)
控制屏幕光標(biāo)的移動,字符、字或行的刪除,移動復(fù)制某區(qū)段及進(jìn)入到Insert mode或者到 last line mode下:

使用vim 文件名 打開后的狀態(tài)就是命令(正常)模式:
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

插入模式(Insert mode)
只有在Insert mode下,才可以做文字輸入,是使用的最頻繁的編輯模式。在命令模式下按i即可進(jìn)入該模式,按Esc鍵可回到命令行模式:
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim
這個(gè)模式中可以正常編輯代碼,就不贅述了。

末行模式(last line mode)
文件保存或退出,也可以進(jìn)行文件替換,找字符串,列出行號等操作。 在命令模式下按: 即可進(jìn)入該模式,按Esc鍵可回到普通模式:
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

普通模式下操作

由于空文件下無法觀察普通模式的操作,所以先使用插入模式在test_vim.c文件中輸入一些內(nèi)容
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

常用命令:

  1. 移動光標(biāo)
    小寫英文字母h、jk、l,分別控制光標(biāo)左、下、上、右移一格:
    G:移動到文章的最后
    $ :移動到光標(biāo)所在行的“行尾”
    ^:移動到光標(biāo)所在行的“行首”
    w:光標(biāo)跳到下個(gè)字的開頭
    e:光標(biāo)跳到下個(gè)字的字尾
    b:光標(biāo)回到上個(gè)字的開頭
    #l:光標(biāo)移到該行的第#個(gè)位置
    gg:進(jìn)入到文本開始
    ctrl + b:屏幕向后移動一頁
    ctrl + f:屏幕向前移動一頁
    ctrl + u:屏幕向后移動半頁
    ctrl + d:屏幕向前移動半頁
    (移動光標(biāo)的命令就不舉例使用了)

  2. 刪除文字
    x:每按一次,刪除光標(biāo)所在位置的一個(gè)字符
    #x:表示刪除光標(biāo)所在位置的后(包含自己在內(nèi))#個(gè)字符
    X:每按一次,刪除光標(biāo)所在位置的前一個(gè)字符
    #X:表示刪除光標(biāo)所在位置的前#個(gè)字符
    dd:刪除光標(biāo)所在行
    #dd:從光標(biāo)所在行開始刪除#行
    Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

  3. 復(fù)制
    yw:將光標(biāo)所在之處到字尾的字符復(fù)制到緩沖區(qū)中
    #yw:復(fù)制#個(gè)字到緩沖區(qū)
    yy:復(fù)制光標(biāo)所在行到緩沖區(qū)。
    #yy:表示拷貝從光標(biāo)所在行向下#行文字
    p:將緩沖區(qū)內(nèi)的字符貼到光標(biāo)所在位置
    需要注意的是:所有與y有關(guān)的復(fù)制命令都必須與p配合才能完成復(fù)制與粘貼功能
    Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

  4. 替換
    r:替換光標(biāo)所在處的字符。
    R:替換光標(biāo)所到之處的字符,直到按下Esc鍵為止。
    Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

  5. 撤銷上一次操作
    u:回到上一個(gè)操作,按多次可以執(zhí)行多次回復(fù)
    ctrl + r: 撤銷的恢復(fù)

  6. 更改
    cw:更改光標(biāo)所在處的字到字尾處
    c#w:表示更改#個(gè)字符

  7. 跳至指定的行
    ctrl+g: 列出光標(biāo)所在行的行號
    #G:表示移動光標(biāo)至文章的第#行行首

底行模式下操作

常用命令:

  1. 列出行號
    set nu: 在文件中的每一行前面列出行號。
    (我使用的vim環(huán)境已經(jīng)是配置過的,所以會默認(rèn)顯示行號)

  2. 跳到文件中的某一行
    #:跳到第#行

  3. 查找字符
    /關(guān)鍵字: 先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按n往后尋找
    ?關(guān)鍵字:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按n往前尋找

  4. 保存與退出
    w: 可以將文件保存起來,使用!強(qiáng)制保存
    q:退出vim,后加!強(qiáng)制離開vim
    wq:保存并退出

gcc與g++

在之前的C語言部分,我們知道我們所寫的C代碼要經(jīng)過一系列處理為可執(zhí)行程序后才能被系統(tǒng)執(zhí)行,其中包括預(yù)編譯、編譯、匯編、鏈接

在Windows環(huán)境下我們經(jīng)常使用Visual Studio、DevC、VC等開發(fā)環(huán)境環(huán)境進(jìn)行代碼的編寫、編譯與運(yùn)行。而在Linux下我們使用vim編寫代碼后,就使用gccg++編譯C與C++代碼

gcc的使用(g++類似)

首先創(chuàng)建一個(gè)test_gcc.c文件,并使用vim在其中編輯一段代碼:
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

預(yù)編譯

在預(yù)編譯中會進(jìn)行頭文件包含、宏替換、注釋刪除、條件編譯等,在Linux中執(zhí)行完預(yù)編譯后會生成一個(gè).i文件

使用 gcc -E 依賴文件 -o 目標(biāo).i文件 就可以實(shí)現(xiàn)將原文件只處理到預(yù)編譯結(jié)束,生成.i文件為止
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

我們可以使用vim打開這個(gè)test_gcc.i文件查看預(yù)編譯后的代碼:
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim
可以看到,與之前的代碼對比,將stdio.h文件拷貝到這里,并刪除了注釋,將M替換為100。

編譯

編譯即將預(yù)編譯后的文件轉(zhuǎn)化為匯編代碼,在這之前還需要做詞法分析、語法分析、語義分析、代碼優(yōu)化等的行為,在這過程中將會檢查代碼中的錯誤(即編譯錯誤)。編譯結(jié)束后會生成一個(gè).s文件

使用gcc -S 原文件 -o 目標(biāo).s文件 就可以實(shí)現(xiàn)將原文件只處理到編譯結(jié)束,生成.s文件中止,(原文件可以為.c文件,也可以是已經(jīng)預(yù)編譯后的.i文件)
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim
當(dāng)然我們也可以使用vim查看這個(gè).s文件:
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

匯編

匯編即將之前生成的匯編代碼生成目標(biāo)代碼(在這里就是機(jī)器可識別的二進(jìn)制代碼),這其中還要進(jìn)行符號表的生成等(符號與其地址),之后會生成一個(gè).o文件

使用 gcc -c 原文件 -o 目標(biāo).o文件 就可以將原文件處理到匯編結(jié)束,生成.o文件為止(原文件可以為之前的任意狀態(tài)的文件)
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim
我們當(dāng)然也可以通過vim查看這個(gè).o文件(但這并沒有什么意義,因?yàn)橥耆床欢?,這里就不展示了)

鏈接

在進(jìn)行完之前的處理后,就需要將我們寫的文件與庫,或者與我們寫的其他文件鏈接起來,最終生成一個(gè)可執(zhí)行程序。這個(gè)過程中會重新定位符表
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim
使用 gcc 原文件 -o 可執(zhí)行文件 就可以實(shí)現(xiàn)將之前任一狀態(tài)的文件處理后進(jìn)行鏈接從而生成一個(gè)可執(zhí)行程序
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim
./打開這個(gè)可執(zhí)行程序就可以運(yùn)行了:
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

需要注意的是,當(dāng)編輯的代碼中含有C99標(biāo)準(zhǔn)及以后的語法時(shí),需要在編譯時(shí)加上 -std=c99 選項(xiàng)

靜態(tài)庫與動態(tài)庫

我們在文件中包含的stdio.h只是頭文件,即聲明。而這些函數(shù)的定義是在庫中的,這也就是為什么我們需要將我們寫的代碼與庫進(jìn)行鏈接后才能生成可執(zhí)行程序。 系統(tǒng)中有兩種類型的庫,即靜態(tài)庫與動態(tài)庫

靜態(tài)庫是指編譯鏈接時(shí),把庫文件的代碼全部加入到可執(zhí)行文件中。所以生成的文件比較大,但在運(yùn)行時(shí)也就不再需要庫文件了,其后綴名一般為.a
動態(tài)庫是在編譯鏈接時(shí)并沒有把庫文件的代碼加入到可執(zhí)行文件中,而是在程序執(zhí)行時(shí)由運(yùn)行時(shí)鏈接文件加載庫,這樣可以節(jié)省系統(tǒng)的開銷。動態(tài)庫一般后綴名為.so

gcc 在編譯時(shí)默認(rèn)使用動態(tài)庫(可以通過file查看):
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim
Linux工具【1】(編輯器vim、編譯器gcc與g++),Linux,linux,編輯器,vim

總結(jié)

到此,關(guān)于Linux工具中的編譯器vim與編譯器gcc/g++就介紹完了
在下一篇文章中將介紹其余的Linux工具,希望大家持續(xù)關(guān)注哦

如果大家認(rèn)為我對某一部分沒有介紹清楚或者某一部分出了問題,歡迎大家在評論區(qū)提出

如果本文對你有幫助,希望一鍵三連哦

希望與大家共同進(jìn)步哦文章來源地址http://www.zghlxwxcb.cn/news/detail-612793.html

到了這里,關(guān)于Linux工具【1】(編輯器vim、編譯器gcc與g++)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Linux工具篇】編輯器vim

    【Linux工具篇】編輯器vim

    目錄 vim的基本操作 進(jìn)入vim(正常模式)? 正常模式-插入模式 插入模式-正常模式 正常模式-底行模式 底行模式-正常模式 底行模式-退出vim vim正常模式命令集 vim末行模式命令集 Q1Linux底下多文件操作 Q2批量化注釋和去注釋 Q3ctrl+z和斷網(wǎng)的情況 Q4sudo提權(quán) Q5vim配置? 配置文件位置

    2024年01月24日
    瀏覽(27)
  • 【Linux環(huán)境基礎(chǔ)開發(fā)工具】編輯器-vim

    【Linux環(huán)境基礎(chǔ)開發(fā)工具】編輯器-vim

    vim是一個(gè)編輯器,是在Linux下編程的常用工具,如果要學(xué)習(xí)在Linux下的編程, 那學(xué)會使用vim是一個(gè)必修課,今天我就來講解如何使用vim編輯器。 目錄 寫在前面 什么是vim vim的常用命令 (1)gg:定位光標(biāo)到第一行第一個(gè)位置 (2)shift + g:定位光標(biāo)到最后一行 (3)n + shift + g:

    2024年02月07日
    瀏覽(32)
  • Linux基礎(chǔ)工具|文本編輯器Vim的使用

    Linux基礎(chǔ)工具|文本編輯器Vim的使用

    您好這里是limou3434的個(gè)人博客,感興趣可以看看我的其他內(nèi)容。 本次我給您帶來的是Linux下Vim文本編輯器的使用,關(guān)于vim,您只需要知道一些常用的指令和操作即可,快速上手的秘訣是實(shí)踐,并且是多次實(shí)踐。 安裝:在centos環(huán)境下安裝vim可以使用“sudo yum install vim”,其他環(huán)

    2024年02月11日
    瀏覽(40)
  • 【Linux】:Linux開發(fā)工具之Linux編輯器vim的使用

    【Linux】:Linux開發(fā)工具之Linux編輯器vim的使用

    ?? vi/vim的區(qū)別簡單點(diǎn)來說,它們都是多模式編輯器,不同的是vim是vi的升級版本,它不僅兼容vi的所有指令,而且還有一些新的特性在里面。例如語法加亮,可視化操作不僅可以在終端運(yùn)行,也可以運(yùn)行于x window、 mac os、windows我們統(tǒng)一按照vim來進(jìn)行講解 ??vim是一款多模式的

    2024年02月06日
    瀏覽(27)
  • 【Linux】開發(fā)工具——vim多模式編輯器的入土&&設(shè)置sudoers白名單

    【Linux】開發(fā)工具——vim多模式編輯器的入土&&設(shè)置sudoers白名單

    ========================================================================= 個(gè)人主頁點(diǎn)擊直達(dá): 小白不是程序媛 Linux系列專欄: Linux被操作記 ========================================================================= 目錄 前言: 基本概念 vim基本操作 [正常模式]切換至[插入模式] [插入模式]切換至[正常模式] [正

    2024年02月06日
    瀏覽(23)
  • Linux編譯器vim的使用

    Linux編譯器vim的使用

    vim是Linux下的一個(gè)多模式的編譯器 簡單來說就是寫代碼的工具 不提供編譯調(diào)試等功能 有語法高亮功能 可視化操作不僅可以在終端運(yùn)行 還可以運(yùn)行與x windows mac os windows 1、命令模式 控制光標(biāo)的移動 字符,字或行 的刪除 ,移動復(fù)制某區(qū)段 以及切換到插入模式和底行模式下

    2024年02月06日
    瀏覽(48)
  • 【Linux】Linux編譯器--vim的使用

    【Linux】Linux編譯器--vim的使用

    ??作者:日出等日落 ??專欄:Linux 當(dāng)你還不能對自己說今天學(xué)到了什么東西時(shí),你就不要去睡覺。? ? ? ? ? ? ? ? ——利希頓堡 目錄 vim是什么 vim安裝? vim的基本概念 vim的基本操作? vim正常模式命令集 vim末行模式命令集? ? ? vi/vim的區(qū)別簡單點(diǎn)來說,它們都是多模式編

    2024年02月05日
    瀏覽(27)
  • 5-Linux操作系統(tǒng) vi/vim編譯器

    5-Linux操作系統(tǒng) vi/vim編譯器

    一、vi編譯器介紹 ??Vi編輯器是所有Unix及Linux系統(tǒng)下標(biāo)準(zhǔn)的編輯器,類似于windows系統(tǒng)下的notepad(記事本)編輯器,由于在Unix及Linux系統(tǒng)的任何版本,Vi編輯器是完全相同的,因 此可以在其他任何介紹vi的地方都能進(jìn)一步了解它,Vi也是Linux中最基本的文本編輯器,學(xué)會它后,

    2024年02月08日
    瀏覽(31)
  • 【Linux系列P4】Linux需要什么?編輯器?軟件包?一文幫你了解掌握 [yum]&[vim]———基礎(chǔ)開發(fā)工具篇

    【Linux系列P4】Linux需要什么?編輯器?軟件包?一文幫你了解掌握 [yum]&[vim]———基礎(chǔ)開發(fā)工具篇

    前言 大家好吖,歡迎來到 YY 滴 Linux系列 ,熱烈歡迎! 本章主要內(nèi)容面向未接觸過Linux的老鐵,主要內(nèi)容含 歡迎訂閱 YY 滴Linux專欄!更多干貨持續(xù)更新!以下是傳送門!? 訂閱專欄閱讀: YY 的《Linux》系列 ????? 【Linux系列-P1】 Linux環(huán)境的搭建 【Linux系列-P2】Linux的基本

    2024年02月06日
    瀏覽(31)
  • Linux編輯器vim

    Linux編輯器vim

    目錄 一、vim的幾種模式 1、命令模式 2、編輯/插入模式 3、底行模式 ①增加行號 ②分屏操作 ③不退出vim執(zhí)行命令 4、替換模式 二、vim的常見命令 1、yy命令 2、p命令 3、dd命令 4、u命令 5、Ctrl + r命令 6、shirt+g命令 7、gg命令 8、shirt+6命令 9、shirt+4命令 10、w,b命令 11、h,j,k,

    2024年02月09日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包