vim-ide,

來源:互聯網
上載者:User

vim-ide,

用vim打造適合自己的編輯器

一、vimrc是vim的設定檔,可以修改兩個位置

1.etc/vim/vimrc        //一般設定檔都帶有rc的尾碼

2.~/.vimrc     //在使用者目錄下存在的,/home/使用者名稱

~/.vimrc優先順序高

進入etc/vim/vimrc 

 

 vimrc配置   http://www.cnblogs.com/wangj08/archive/2013/03/13/2957309.html

 

二、vim --v  查看自己的vim版本並下載相應的vim-ide的軟體包

1.tar zxvf vim-ide.tar.gz  -C ~/  //解壓;

2.解包到目前使用者目錄下,得到.vim隱藏檔案

3.將裡邊的vimrc拷貝到使用者當前的設定檔中

 ln -s .vim/vimrc  .vimrc

4.拷貝出.vim/.ycm_extra_conf.py到使用者目錄

cp ~/.vim/.ycm_extra_conf.py~/

//注意:tags檔案記錄每個函數裝在什麼位置

 

三、vim-ide的捷徑

,dd  在函數開頭產生函數說明

,da  在檔案開頭組建檔案說明

,dl   產生採用發布協議

,jd 跳轉到函數定義或標頭檔所在地

,f 在標頭檔和源檔案之間跳轉,建立對應名字的標頭檔

,ta  開啟函數列表,在右側

,o  關閉多窗檯,只儲存當前視窗

,bf 顯示已經開啟的檔案清單

,nn開啟或關閉檔案清單

,nl 取消搜尋後的高亮顯示

backspace 關閉tab buffer

,tab 在tab標籤移動

C-t 建立新標籤tab

:ta fun 跳到指定函數定義

V  選中函數

,zc摺疊當前函數

,zr開啟當前函數

,8在目前的目錄下產生tags檔案

C-] 跳轉到函數定義,利用Ctags

C-o返回

 

四.樣本

注意:比如括弧這種成對的,成對的打出,按esc鍵,再進入插入模式進行插入操作。

編輯好後運行程式

gcc test.c -o test;

 

五.gcc

GCC 的意思也只是 GNU C Compiler 而已。經過了這麼多年的發展,GCC 已經不僅僅能支援 C 語言;它現在還支援 Ada 語言、C++ 語言、Java 語言、Objective C 語言、Pascal 語言、COBOL語言,以及支援函數式編程和邏輯編程的 Mercury 語言,等等。而 GCC 也不再單只是 GNU C 語言編譯器的意思了,而是變成了 GNU Compiler Collection 也即是 GNU 編譯器家族的意思了。另一方面,說到 GCC 對於作業系統平台及硬體平台支援,概括起來就是一句話:無所不在。

gcc test.c -o test

實質上,上述編譯過程是分為四個階段進行的,即預先處理(也稱先行編譯,Preprocessing)、編譯(Compilation)、彙編 (Assembly)和串連(Linking)。

gcc選項概述
man gcc                 查看更多選項資訊
gcc [options] [filename]
    -x language
    -c                    只對檔案進行編譯和彙編,不連結
    -S                    只對檔案進行編譯,不彙編和連結
    -E                    只對檔案進行預先處理
    -o [file] file2     
    -lname  (小寫L)用來指定所使用的庫檔案  例:-lm 使用libm.a (m就是庫的名稱)

 -Idirname         將dirname所指出的目錄加入到程式標頭檔目錄列表中

                      例:gcc foo.c -I /home/include -o foo                     
    -Ldirname       將dirname所指出的目錄加到庫檔案的目錄列表中。

                      例:gcc foo.c -L /home/lib -lfoo -o foo

  -static      靜態連結(將庫的內容加入程式中,形成完整的可執行程式)
    -w                    禁止產生警告資訊
    -Wall                顯示附加的警告資訊

  -Dmacro    定義MACRO宏,等效於在程式中使用#define MACRO  

                      例:gcc -DDEBUG hello.c -o hello  

                        gcc -DNUM=2 hello.c -o hello

  -pedantic         嚴格要求符合ANSI標準
    -g                     添加調試資訊
    -p                     產生prof所需的資訊
    -pg                    產生gpof所使用的資訊
    -O(-O1)             對編譯出的代碼進行最佳化
    -O2                 進行比-O高一級的最佳化
    -O3                 產生更進階別的最佳化
    -v                    查看gcc版本資訊

    -m***                根據不同的微處理器進行最佳化

   -I 指定標頭檔目錄,注意-I和之前沒有空格,<>和“”

   -g 包好調試資訊,可以用哪個gdb list 單步調試

   -On  n=0~3  編譯最佳化,n越大最佳化越好 

   -Wall 提示更多警告資訊

   -D編譯時間定義宏,注意-D和之間沒有空格(可以用來在編譯階段指定一個宏,再程式裡用)

   -E產生預先處理檔案

   -M產生.c檔案與標頭檔依賴關係以用於Makefile,包含系統庫的標頭檔

   -MM產生.c檔案與標頭檔依賴關係以用於Makefile,不包括系統庫的標頭檔

六.toolchain

binutils一組用於編譯、連結、彙編和其他調試目的的程式,包括ar,as,ld,nm,objcopy,objdump等

https://linux.cn/lfs/LFS-BOOK-7.7-systemd/chapter06/binutils.html

安裝的程式:addr2line, ar, as, c++filt, elfedit, gprof, ld, ld.bfd, nm, objcopy, objdump, ranlib, readelf, size, strings, 和 strip 安裝的庫:libbfd.{a,so} 和 libopcodes.{a,so} 安裝目錄:/usr/lib/ldscripts簡要介紹

addr2line

轉換程式地址為檔案名稱和行號;給定一個地址和可執行檔的名稱,它使用可執行檔中的調試資訊來判斷與該地址關聯的源檔案以及行號。

ar

建立、更改以及抽取歸檔檔案。

as

一個將 gcc 的輸出彙編到目標檔案的彙編器。

c++filt

連結器用來過濾 C++ 和 Java 符號以及防止重載函數衝突。

elfedit

更新 ELF 檔案的 ELF 檔案頭

gprof

顯示呼叫歷程圖配置資料

ld

一個將多個目標檔案和歸檔檔案合并為單一檔案,重定位元據及綁定符號引用的連結器。

ld.bfd

到 ld 的永久連結。

nm

列出指定目標檔案中出現的符號

objcopy

轉換某種類型的目標檔案到另一種類型

objdump

顯示給定目標檔案的資訊,用選項可以控制顯示特定資訊;顯示的資訊對於使用編譯工具的程式員非常有用。有機器碼,彙編碼,還有c碼

objdump -dSsx  a.out >file

ranlib

產生歸檔檔案內容的索引並儲存到歸檔檔案;索引列出了所有歸檔檔案成員——可重定位的目標檔案定義的符號。

readelf

顯示 ELF 類型的二進位檔案的資訊

size

列出所給目標檔案各部分大小和總的大小

strings

對每個給定檔案,輸出不低於指定長度(預設是4)的可列印字元序列;對於目標檔案,它預設只列印初始化和引導部分的字串,而對於其它類型的檔案掃描整個檔案。

strip

從目標檔案中去除符號

libbfd

二進位檔案描述庫

libopcodes

用於處理作業碼—處理器指令的“可讀文本”版本 的庫;用於構建類似 objdump 的工具

    

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.