導航:首頁 > 源碼編譯 > vi編輯器編譯c程序注意

vi編輯器編譯c程序注意

發布時間:2022-10-02 22:31:43

⑴ 如何用vim寫C++工程

Vi是Unix下最常用的文本編輯器。VIM(Vi IMproved)則是它的增強版。有人常常拿VIM和emacs比較,VIM盡管不象emacs那樣有那麼多的功能,但是比emacs更方便、好用。用過emacs的人肯定會為emacs的一些快捷鍵感到煩惱,有時候用真希望自己有八隻手。VIM的學習曲線也不象emacs那麼長,只要看看VIM自帶的vitutor,大約只要20分鍾就能掌握VIM的用法。對於Unix下的C/C++的程序員,我推薦你們使用VIM+Ctags的組合來寫程序。其中原因聽我慢慢道來。(下面對VIM的介紹主要是針對5.6以後的版本)
VIM支持語法制導和自動縮進
VIM會根據文件的後綴名,如:*.c、*.cpp、*.cc,等,自動設置語法制導(Syntax Highlighting)。C/C++中的一些保留字,如:if、for、include,等等,就會有不同的顏色,這樣就會減少程序員犯錯的可能,閱讀程序的時候相對來說也輕松很多。用下面這些命令在VIM中查看有關語法制導的幫助:「:h syntax」、「:h syn-qstart」、「:h syntax-printing」。
VIM也支持根據GNU的風格自動縮進,這樣程序員編寫出來的代碼就更易閱讀,而且也有利於培養好的編程風格。用下面這些命令在VIM中查看有關自動縮進的幫助:「:h cindent」、「:h cinoptions」、「:h cinoptions-values」、「:h cinkeys」、「:h cinwords」。
使用Ctags
VIM中已經帶了Ctags這個程序。盡管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。Ctags可以幫助程序員很容易地瀏覽源代碼。用下面的命令可以在源代碼的根目錄下創建「tags」文件:
[/home/brimmer/src]$ ctags -R
「-R」表示遞歸創建,也就包括源代碼根目錄下的所有子目錄下的源程序。「tags」文件中包括這些對象的列表:
l 用#define定義的宏
l 枚舉型變數的值
l 函數的定義、原型和聲明
l 名字空間(namespace)
l 類型定義(typedefs)
l 變數(包括定義和聲明)
l 類(class)、結構(struct)、枚舉類型(enum)和聯合(union)
l 類、結構和聯合中成員變數或函數
VIM用這個「tags」文件來定位上面這些做了標記的對象,下面介紹一下定位這些對象的方法:
1) 用命令行。在運行vim的時候加上「-t」參數,例如:
[/home/brimmer/src]$ vim -t foo_bar
這個命令將打開定義「foo_bar」(變數或函數或其它)的文件,並把游標定位到這一行。
2) 在vim編輯器內用「:ta」命令,例如:
:ta foo_bar
3) 最方便的方法是把游標移到變數名或函數名上,然後按下「Ctrl-]」。用「Ctrl-o」退回原來的地方。
注意:運行vim的時候,必須在「tags」文件所在的目錄下運行。否則,運行vim的時候還要用「:set tags=」命令設定「tags」文件的路徑,這樣vim才能找到「tags」文件。
快速改正錯誤
在VIM編輯器的環境下用「:make」就可以編譯程序,當然其前提是在當前目錄下有Makefile文件。運行完「:make」之後,如果程序中有錯誤,就會顯示出來。這時候,游標會自動指向第一個出現錯誤的地方,而且你還可以看到錯誤的提示。然後,你就可以改正錯誤,而不用手工找到出錯的那一行。記住下面幾個有用的命令:
l 「:cl」列出錯誤
l 「:cn」讓游標指向下一個錯誤
l 「:cp」讓游標指向上一個錯誤
l 「:cnew」從頭開始
你甚至可以讓VIM識別出其它編譯器而不是gcc的錯誤提示。這對一些開發嵌入式系統的程序員這很有用,因為他們很可能用的不是gcc而是其它編譯器。通過設置「errorformat」的值,可以讓VIM識別出編譯器的出錯提示。因為不同的編譯器的出錯提示是不同的,所以如果用的不是gcc就要重新設置。
「errorformat」的值是一個字元串,它的格式和C語言的scanf的字元串格式相識。
gcc的「errorformat」的值為:%f:%l:/%m。其中「%f」表示文件名,「%l」表示行號,「%m」表示出錯信息。
用「:h errorformat」查看詳細的幫助信息。
用「:h quickfix」、「:h make」、「:h makeprg」、「:h errorfile」查看其它的信息。
有用的快捷鍵
下面的這些快捷鍵對程序員很有幫助:
在函數中移動游標
[[ 轉到上一個位於第一列的「{」
]] 轉到下一個位於第一列的「{」
{ 轉到上一個空行
} 轉到下一個空行
gd 轉到當前游標所指的局部變數的定義
* 轉到當前游標所指的單詞下一次出現的地方
# 轉到當前游標所指的單詞上一次出現的地方
括弧的匹配
% 用來進行小括弧、中括弧和大括弧的匹配。這要看當前游標指向的是什麼符號了。
其它
VIM的配置文件是「.vimrc」,用這個文件可以配置VIM。VIM的圖形界面的版本叫gvim。VIM也有用於Windows平台的版本。

⑵ 用vim編輯器編寫c程序,該程序模擬數據檢索功能

您好,這樣的:
首先進入SHELL命令界面,輸入"vi main.c" 這樣就進入了一個vi編譯器的界面。
輸入i就進入編輯狀態,可以輸入源程序如下:

#include<stdio.h>
int main(void)
{
printf("Hello,world!/n");
return 0;
}

已 經編輯完成,可以輸入Esc,然後輸入冒號(:),最後輸入"wq"退出編輯狀態,這樣就又重新進入了SHELL提示符狀態下,如果發現源程序有錯誤,可 以輸入vi main.c重新進入編輯狀態,按i命令再次編輯源文件直至無錯為止.
如果已經確認源文件無錯,而且也退出到了SHELL命令提示符 下,就可以編譯源文件了。
輸入命令gcc main.c並回車,如果有錯誤的話就再次編輯直至語法錯誤全部清除為止。
生成的可執行文件默 認為a.out,如果想要自己指定輸出的可執行文件的文件名(比如說main.out),可以輸入gcc main.c -o main.out
如 果沒有錯誤提示的話,就表明編譯成功了。那麼接下來就是運行程序了。
如果你用的是gcc main.c編譯的文件,那麼輸入命令./a.out並回車,就可以看到運行效果了。
如果你用的是gcc main.c -o main.out,那麼輸入./main.out就可以看到同樣的運行結果了

(也可直接在 主文件夾(./)中創建一個新文檔,改名為xxx.c 。在xxx.c中寫上源代碼,然後到終端中輸入:gcc xxx.c進行編譯(如果把xxx.c創建在其他位置,比如桌面,就要輸入:gcc ./桌面/xxx.c),有錯誤再打開xxx.c文檔修改,直到錯誤全部清除
主文件夾中會生成a.out。最後在終端輸入:./a.out 便可看到運行結果。)

⑶ 到底怎麼在linux里編寫c程序啊

在linux下通常使用gedit或vim直接編寫.c程序,然後通過gcc指令編譯。以Ubuntu系統為例,詳細過程如下:

1、進入桌面Temp文件夾

⑷ 怎麼在linux下用vim編寫一個C程序

一樓的回答很好,在編譯的時候,其實可以不用退出VIM的,按ESC退出插入模式,在正常模式下輸入:w保存,然後輸入:!gcc /path/to/your/file.c就可以編譯文件了,如果有錯誤,直接就在VIM中修改,要不然為什麼VIM會被稱為神器級的編輯器呢!

⑸ 怎麼在linux下用vim編寫一個C程序

先在終端中輸入

vim
test.c

回車進入vim編輯器,再按一下a鍵,進入編輯狀態,然後輸入如下C語言語句:
#include<stdio.h>
int
main()
{

printf("hello
world!\n");
}
到此,按esc鍵退出編輯狀態,再輸入一個冒號(shift
+
冒號分號那個鍵),緊跟著輸入
wq
,即
輸入

:wq

按回車,即推出vim編輯器回到終端命令窗口(類似xp的命令提示符),
之後輸入

gcc
test.c
,這步是編譯

./a.out

這是執行,將會輸出
hello
world!
到此結束,前提是你已經安裝gcc

⑹ 在VIM裡面是怎樣編譯C語言的文件

VIM只是文本編輯,不能編譯,你需要調用外部命令來編譯,如果你的path里有gcc的話在vim里輸
:!gcc -otest 你的c文件名

⑺ c語言vi編輯器

GCC對C語言標準的遵循程度VC++高的多,一些不標準的C程序雖然可以在對C語言標准支持不佳的VC上編譯通過,但是卻過不了GCC這一關。修改如下(通過GCC+FEDORA測試):

//---------------------------------------------------------------------------

#include<stdio.h>

struct cj
{
int yuwen;
int shuxue;
int yingyu;
}cj[3]={ {80,90,100},{70,71,72},{60,61,62} };

struct stu
{
int num;
char name[20];
struct cj score;
}stu1[3]={ /*注意這里,C語言中初始化器中只能用常量*/
{1,"one",80,90,100},
{2,"two",70,71,72},
{3,"three",60,61,62}
};

void print(struct stu *s,int i); /*注意這里,聲明應該放在這里,因為struct stu的定義必須先於這個聲明出現*/

int main(void)
{
int i;
printf("輸入一個學生號碼\n");
scanf("%d",&i);
print(&stu1[0],i);
return 0;
}
void print(struct stu *s,int i)
{
s+=i;
printf("%d,%s,%d,%d,%d\n",s->num,s->name,cj[i].yuwen,cj[i].shuxue,cj[i].yingyu);
}
//---------------------------------------------------------------------------

⑻ ubuntu使用vim編輯C程序的問題

樓主可以man一下vim,看看使用幫助。也可以按照以下方法設置vim語法高亮顯示和自動縮進。

1、配置文件的位置
在目錄 /etc/ 下面,有個名為vimrc的文件,這是系統中公共的vim配置文件,對所有用戶都有效。而在每個用戶的主目錄下,都可以自己建立私有的配置文件,命名為:「.vimrc」。例如,/root目錄下,通常已經存在一個.vimrc文件。
2、設置語法高亮顯示
1) 打開vimrc,添加以下語句來使得語法高亮顯示:
syntax on
2) 如果此時語法還是沒有高亮顯示,那麼在/etc目錄下的profile文件中添加以下語句:
export TERM=xterm-color

3、設置Windows風格的C/C++自動縮進(添加以下set語句到vimrc中)
1)設置(軟)製表符寬度為4:
set tabstop=4
set softtabstop=4
2)設置縮進的空格數為4
set shiftwidth=4
3)設置自動縮進:即每行的縮進值與上一行相等;使用 noautoindent 取消設置:
set autoindent
4)設置使用 C/C++ 語言的自動縮進方式:
set cindent
5)設置C/C++語言的具體縮進方式(以我的windows風格為例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
6)如果想在左側顯示文本的行號,可以用以下語句:
set nu
7)最後,如果沒有下列語句,就加上吧:
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif

這個網頁也介紹了關於vim的使用:
http://www-128.ibm.com/developerworks/cn/linux/l-tip-vim1/

另外,一些論壇之類的網頁,會自動過濾掉TAB鍵盤或者過多的空格,避免惡意刷屏。其中,空格可以用 & # 3 2 (把中間的空格去掉)代替。

⑼ 在VIM裡面是怎樣編譯C語言的文件

一、首先要會使用vim編寫一個c文件
1.在linux終端下輸入:
vi
test.c
表示生成了一個test.c的c語言文件
2.此時時命令模式,按"a"鍵或者"i"進入輸入模式,然後就是輸入C語言代碼
3.保存文件,再次回到命令模式,按"ESC「鍵,然後按":"鍵再輸入"wq」表示保存退出
二、然後在用gcc編譯test.c文件
直接輸入
gcc
-o
mytest
test.c即可
表示直接生成mytest執行文件

閱讀全文

與vi編輯器編譯c程序注意相關的資料

熱點內容
秀妍和楊偉發生車禍韓國電影 瀏覽:558
jipx 中文字幕 瀏覽:169
港版武則天電影2000版 瀏覽:311
美娜妍希韓國電影 瀏覽:783
四級大片名字 瀏覽:716
javapanel大小 瀏覽:929
程序員徵友平台 瀏覽:464
程序里添加編譯時間 瀏覽:47
BL視頻APP 瀏覽:492
蕭九作品集txt 瀏覽:361
反應剛剛解放時期諜戰片 瀏覽:970
和美女被困隧道的七天 瀏覽:802
午夜影院入口。 瀏覽:846
韓國李彩潭所有電影大全 瀏覽:447
高精定位演算法縮寫 瀏覽:856
解壓試頻 瀏覽:494
有關蛇女香港的電影 瀏覽:68
兄妹禁忌之戀 瀏覽:349
文娛小說主角姓蘇 瀏覽:212