日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux   vim配置,打造ide

發布時間:2025/6/15 linux 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux   vim配置,打造ide 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

windos到linux的適應

? ? ?Linux下編程一直被詬病的一點是: 沒有一個好用的IDE, 但是聽說Linux牛人, ***之類的也都不用IDE. 但是對我等從Windows平臺轉移過來的Coder來說, 一個好用的IDE是何等的重要啊, 估計很多人就是卡在這個門檻上了, "工欲。善其事, 必先利其器"嘛, 我想如果有一個很好用的IDE, 那些Linux牛人也會歡迎的. 這都是勞動人民的美好愿望罷了, 我今天教大家把gvim改裝成一個簡易IDE, 說它"簡易"是界面上看起來"簡易", 但功能絕對不比一個好的IDE差, 該有的功能都有, ?不該有的功能也有, 你就自己沒事偷著樂吧,總結起來就是“要什么配置什么”咯,下面我開始介紹今天的工作了:

1、我的初步配置界面:

2、今天的主要工作:

本文將教會

1.?vim編程常用命令

2.??語法高亮
3.??在程序中跳來跳去: Ctags 的使用
4.??教你高效地瀏覽源碼 -- 插件: TagList
5.??文件瀏覽器和窗口管理器 -- 插件: WinManager
6.?自動補全
本文不會教你:
1.? 如何使用vim. 本文不會從零開始教你如何使用vim, 如果你是第一次接觸vim,?
?? 建議你先看看其他的vim入門的教程, 或者在shell下輸入命令: vimtutor,?
?? 這是一個簡單的入門教程.
2.? 編程技巧.
3.? vim腳本的編寫.


提示: 首先,我的工作環境是centos 6.5,具體情況根據自己的環境來。

? ? ? ?其次,文中的一些路徑:

? ? ? ? ~/.vim/plugin
? ? ? ? ~/.vim/doc

? ? ? ? 如果沒有就在自己的工作目錄下創建(創建之前查看是否有該目錄)

? ? ? ? 文中說到的.vimrc文件都是指 ~/.vimrc(Vim本身的系統配置文件夾是在/usr/share/vim/ ? ? ? ? ? ? 和/etc/vim/兩個文件夾下。因為.vim是隱藏 文件,所以查看.vim 用命令:ls -a,一般情況下,我們不會去改變這兩個文件夾下的配置文件,而是在用戶文件夾/home/user(其中,user為用戶名,我的用戶名是mgys)下建立自己的配置件。使用 $cd ~ 切換到用戶文件夾,$touch .vimrc文件,在其中添加自己風格的配置

? ? ? ?最后,對于不清楚過程中的解壓命令什么的,自己查;

下面開始工作:

一、語法高亮(vim環境的基本配置)

首先查看自己的系統是否有vim,沒有再裝vim,裝好之后,接下來就是我們的工作,

(1)~$:vim ~/.vimrc

打開.vimrc文件,將下面文檔 復制(copy),粘貼(shift+insert),保存退出(wq);

"?This?line?should?not?be?removed?as?it?ensures?that?various?options?are??

"?properly?set?to?work?with?the?Vim-related?packages?available?in?Debian.??

?debian.vim??

??

"?Uncomment?the?next?line?to?make?Vim?more?Vi-compatible??

"?NOTE:?debian.vim?sets?'nocompatible'.?Setting?'compatible'?changes?numerous??

"?options,?so?any?other?options?should?be?set?AFTER?setting?'compatible'.??

set?nocompatible??

??

"?Vim5?and?later?versions?support?syntax?highlighting.?Uncommenting?the??

"?following?enables?syntax?highlighting?by?default.??

if?has("syntax")??

??syntax?on????????????"?語法高亮??

endif??

colorscheme?ron????????"?elflord?ron?peachpuff?default?設置配色方案,vim自帶的配色方案保存在/usr/share/vim/vim72/colors目錄下??

??

"?detect?file?type??

filetype?on??

filetype?plugin?on??

??

"?If?using?a?dark?background?within?the?editing?area?and?syntax?highlighting??

"?turn?on?this?option?as?well??

set?background=dark??

??

"?Uncomment?the?following?to?have?Vim?jump?to?the?last?position?when??

"?reopening?a?file??

if?has("autocmd")??

??au?BufReadPost?*?if?line("'\"")?>?1?&&?line("'\"")?<=?line("$")?|?exe?"normal!?g'\""?|?endif??

??"have?Vim?load?indentation?rules?and?plugins?according?to?the?detected?filetype??

??filetype?plugin?indent?on??

endif??

??

"?The?following?are?commented?out?as?they?cause?vim?to?behave?a?lot??

"?differently?from?regular?Vi.?They?are?highly?recommended?though.??

??

"set?ignorecase????????"?搜索模式里忽略大小寫??

"set?smartcase????????"?如果搜索模式包含大寫字符,不使用?'ignorecase'?選項。只有在輸入搜索模式并且打開?'ignorecase'?選項時才會使用。??

set?autowrite????????"?自動把內容寫回文件:?如果文件被修改過,在每個?:next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-]?和?CTRL-^命令時進行;用?:buffer、CTRL-O、CTRL-I、'{A-Z0-9}?或?`{A-Z0-9}?命令轉到別的文件時亦然。??

set?autoindent????????"?設置自動對齊(縮進):即每行的縮進值與上一行相等;使用?noautoindent?取消設置??

"set?smartindent????????"?智能對齊方式??

set?tabstop=4????????"?設置制表符(tab鍵)的寬度??

set?softtabstop=4?????"?設置軟制表符的寬度??????

set?shiftwidth=4????"?(自動)?縮進使用的4個空格??

set?cindent????????????"?使用?C/C++?語言的自動縮進方式??

set?cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s?????"設置C/C++語言的具體縮進方式??

"set?backspace=2????"?設置退格鍵可用??

set?showmatch????????"?設置匹配模式,顯示匹配的括號??

set?linebreak????????"?整詞換行??

set?whichwrap=b,s,<,>,[,]?"?光標從行首和行末時可以跳到另一行去??

"set?hidden?"?Hide?buffers?when?they?are?abandoned??

set?mouse=a????????????"?Enable?mouse?usage?(all?modes)????"使用鼠標??

set?number????????????"?Enable?line?number????"顯示行號??

"set?previewwindow????"?標識預覽窗口??

set?history=50????????"?set?command?history?to?50????"歷史記錄50條??

??

??

"--狀態行設置--??

set?laststatus=2?"?總顯示最后一個窗口的狀態行;設為1則窗口數多于一個的時候顯示最后一個窗口的狀態行;0不顯示最后一個窗口的狀態行??

set?ruler????????????"?標尺,用于顯示光標位置的行號和列號,逗號分隔。每個窗口都有自己的標尺。如果窗口有狀態行,標尺在那里顯示。否則,它顯示在屏幕的最后一行上。??

??

"--命令行設置--??

set?showcmd????????????"?命令行顯示輸入的命令??

set?showmode????????"?命令行顯示vim當前模式??

??

"--find?setting--??

set?incsearch????????"?輸入字符串就顯示匹配點??

set?hlsearch

注:配置文件中,以單個雙引號開頭的文字為注釋。
保存文件之后,啟動Vim。此時,Vim已經是這種效果了(語法高亮挺漂亮的)

(2)進入vim界面,便可發現如下界面:

在此之后沒有這種效果,可以再次打開.vimrc編輯添加下面命令:

?if filereadable("/etc/vim/vimrc.local")

? ?sourse /etc/vim/vimrc.local

?endif

set nu

set nobackup

set cursorline

set ruler

set tabstop=4

set autoindent

if has("syntax")

? syntax ?on

endif

保存退出重復上面過程。

二、在程序中跳來跳去: Ctags 的使用

ctags可以建立源碼樹的標簽索引(標簽就是一個標識符被定義的地方,如函數定義),使程序員在編程時能迅速定位函數、變量、宏定義等位置去查看原形,ctags其實就跟一棵樹一樣指引我們去某個路徑下找什么東西;

(1)下載并安裝壓縮包:

下 載ctags源碼ctags-5.8.tar.gz
http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz

(2)解壓并安裝
tar zxvf ctags-5.8.tar.gz
cd ctags-5.8
./configure && make && make install(切換root)

(3)建立索引
建立源碼索引,比如需要查看庫函數源代碼,而這些代碼放在/usr目錄下
那么在終端進入到該目錄后,輸入命令ctags -R ,你會發現多了一個tags文件,這個就是索引文件

建立索引之后就不要再移動ctags文件,否則查看原型時提示找不到ctags;查看自己建立的索引:


(4)添加索引tags的路徑

$ vim ~/.vimrc
在打開文件的最后添加如下內容(當然,具體路徑根據你自己的情況)

"--ctags setting--
" 按下F5重新生成tag文件,并更新taglist
map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
set tags=tags
set tags+=./tags "add current directory's generated tags file
set tags+=/usr/tags "add new tags file(剛剛生成tags的路徑,在ctags -R 生成tags文件后,不要將tags移動到別的目錄,否則ctrl+]時,會提示找不到源碼文件)

注:

set tags+=./tags表示在當前工作目錄下搜索tags文件
set tags+=/usr/tags表示在搜尋tags文件的時候,也要搜尋~/usr/文件夾下的tags文件。
然后保存并退出vi。這樣,你就可以用vim在任意地方查看有關庫函數原形

(5)查看原型

進入vim,不進insert,將光標放在printf函數上摁ctrl+w+]即可看到函數原型如下:


查看完了,按Ctrl+o(回到上一個標簽) 就回到原來的地方。

(6)tag命令用法:

Ctrl+]? 跳到當前光標下單詞的標簽
Ctrl+O? 返回上一個標簽
Ctrl+T? 返回上一個標簽
:tag TagName 跳到TagName標簽
以上命令是在當前窗口顯示標簽,當前窗口的文件替代為包標簽的文件,當前窗口光標跳到標簽位置。如果不希望在當前窗口顯示標簽,可以使用以下命令:
:stag TagName 新窗口顯示TagName標簽,光標跳到標簽處
Ctrl+W + ]? 新窗口顯示當前光標下單詞的標簽,光標跳到標簽處
:tselect TagName
輸入以上命令后,vim會為你展示一個選擇列表。然后你可以輸入要跳轉到的匹配代號 (在第一列)。其它列的信息可以讓你知道標簽在何處被定義過。
以下命令將在預覽窗口顯示標簽
:ptag TagName 預覽窗口顯示TagName標簽,光標跳到標簽處
Ctrl+W + }? 預覽窗口顯示當前光標下單詞的標簽,光標跳到標簽處
:pclose?? 關閉預覽窗口


三、教你高效地瀏覽源碼 -- 插件: TagList

?作用:Taglist用于列出了當前文件中的所有標簽(宏, 全局變量, 函數名等)

(1)下載taglist_xx.zip并解壓完成

將解壓出來的doc的內容放到(mv filename.zip 目標路徑)~/.vim/doc;?

將解壓出來的plugin下的內容拷貝到~/.vim/plugin。一般剛開始時工作目錄下是沒有.vim文件夾的;所以自己創建一個.vim就行了(有就不用了),方法跟windows下創建文件夾的方法一樣。

下載鏈接:
http://www.vim.org/scripts/script.php?script_id=273

(2)完成后在在.vimrc 中添加如下三條指令:

let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window=1

進入vim后用命令":Tlist"打開/關閉taglist窗口

完成如圖:

(3)taglist的常用使用命令:

<CR> ???????? 跳到光標下tag所定義的位置,用鼠標雙擊此tag功能也一樣
o???????????? 在一個新打開的窗口中顯示光標下tag
<Space> ????? 顯示光標下tag的原型定義
u???????????? 更新taglist窗口中的tag
s???????????? 更改排序方式,在按名字排序和按出現順序排序間切換
x???????????? taglist窗口放大和縮小,方便查看較長的tag
+???????????? 打開一個折疊,同zo
- ??????????? 將tag折疊起來,同zc
* ??????????? 打開所有的折疊,同zR
= ??????????? 將所有tag折疊起來,同zM
[[ ?????????? 跳到前一個文件
]] ?????????? 跳到后一個文件
q???????????? 關閉taglist窗口
<F1>????????? 顯示幫助

可以用“:TlistOpen”打開taglist窗口,用“:TlistClose”關閉taglist窗口。或者使用“:TlistToggle”在打開和關閉間切換。


四、文件瀏覽器和窗口管理器 -- 插件: WinManager


作用:WinManager用于管理文件瀏覽器和緩沖區(buffer)。2.0以上版本的WinManager還可以管理其他IDE類型插件,不過要用戶在插件中增加一些輔助變量和hook來支持WinManager(幫助文檔有相關說明)。Taglist 插件本身就提供了對WinManager的支持,不需要我們去修改它。這里,我們就用WinManager來管理文件瀏覽器netrw和標簽瀏覽器 Taglist。netrw是標準的vim插件, 已經隨vim一起安裝進系統里了, 不需要我們自行下載安裝。


(1)解壓winmanager.zip并解壓

將解壓出來的doc的內容放到~/.vim/doc;

將解壓出來的plugin下的內容拷貝到~/.vim/plugin;
下載鏈接:http://www.vim.org/scripts/script.php?script_id=95

(2)完成后在.vimrc 中添加下面兩行指令:

let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>

注意:wm與:WMToggle<cr>之間有個空格

(3)同樣,進入vim,效果如下:


(4)常用命令
:WMToggle 打開/關閉WinManage,不過我們在配置文件.vimrc中做了快捷鍵映射,所以直接按wm就可以打開/關閉WinManage
文件瀏覽器命令(在文件瀏覽器窗口中使用)
或雙擊 如果光標下是目錄, 則進入該目錄; 如果光標下文件, 則打開該文件
如果光標下是目錄, 則進入該目錄; 如果光標下文件, 則在新窗口打開該文件
刷新列表
- 返回上一層目錄
c 使瀏覽目錄成為vim當前工作目錄
d 創建目錄
D 刪除當前光標下的目錄或文件
i 切換顯示方式
R 文件或目錄重命名
s 選擇排序方式
r 反向排序列表
x 定制瀏覽方式, 使用你指定的程序打開該文件
winmanager幫助文檔
:help winmanager
netrw幫助文檔
:help netrw

五、實現括號的代碼補齊

~$ vim .vimrc

直接在.vimrc 中添加以下指令并保存

inoremap ( ()<ESC>i

inoremap [ []<ESC>i

inoremap { {}<ESC>i

inoremap < <><ESC>i]])) ??

完成后保存并退出查看效果。

? ?如果后期還需要什么想要的功能可以按照上面的方法再次對自己的vim進行配置完善,相信會更加便捷和完美。






轉載于:https://blog.51cto.com/10742272/1785878

總結

以上是生活随笔為你收集整理的linux   vim配置,打造ide的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。