當前位置:首頁 > 公眾號精選 > wenzi嵌入式軟件
[導讀]推薦理由:一個完全不需要借助鼠標就可以完成所有操作的編輯器 前言 筆者并不是 vim 高手,也只是最近在 github 發(fā)現(xiàn)的一個開箱即用的 vim 配置,所以在這里分享出來,所以本文并不會講解如何去配置一個專屬的 vim,對于長期使用 vim 的朋友來說,我這篇文章

推薦理由:一個完全不需要借助鼠標就可以完成所有操作的編輯器

前言

筆者并不是 vim 高手,也只是最近在 github 發(fā)現(xiàn)的一個開箱即用的 vim 配置,所以在這里分享出來,所以本文并不會講解如何去配置一個專屬的 vim,對于長期使用 vim 的朋友來說,我這篇文章過于簡單了。之所以決定寫這篇文章,也是因為自己在第一次聽說 vim 并了解到它的強大之后,畫了好些時間去研究如何配置一個屬于自己的 vim ,但是結果都不盡人意,不過這也是因為我太菜的原因哈哈,許多插件的配置比較復雜,對于很多初次使用 vim 的朋友,可能在配置 vim 的時候就感覺到不容易,所以也就放棄了,曾經的我也是這樣,直到我遇到了它:vimplus。vimplus 目前還不兼容 window,還不能在 windows 上進行安裝,但是如果想要在 windows 上進行使用的話可以在 windows10 上安裝 ubuntu 的子系統(tǒng),筆者已經試過可行。

效果圖

在講解如何使用之前,有必要貼兩張效果圖:如上圖所示,最左邊的是目錄樹,中間的是打開的文件,而最右邊是當前文件所包含的宏,函數列表以及該文件所定義的所有的變量。當然在寫代碼的時候,你也可以將左右兩邊的狀態(tài)欄關閉,如下圖所示:好了,廢話不多講,在接下來的步驟里教你如何一步一步地將 vim 用起來。

安裝

筆者的目前使用的操作系統(tǒng)版本是:ubuntu 18.04 vimplus 的 github 地址是:https://github.com/chxuan/vimplus,安裝方式很簡單,在這之前需要安裝 vim ,由于我們在使用的過程中經常需要將代碼里的內容拷貝出來,這里推薦安裝 vim-gnome,安裝方式如下:

   
  1. sudo apt-get install vim-gnome

  2. git clone https://github.com/chxuan/vimplus.git ~/.vimplus

  3. cd ~/.vimplus

  4. ./install.sh

在安裝的過程當中,會讓你選擇是用 Python3 還是Python2 來進行編譯,筆者在這里選擇 Python3 選擇編譯。在安裝好之后,為防止 vimplus 亂碼,必須設置 ubuntu 的終端字體為 Droid Sans Mono Nerd Font ,只需要在終端進行設置就好,無需下載字體,比較簡單,在這里不進行講解。

使用

頭文件問題

在安裝好了之后,就可以用 vim 打開一個工程了,在終端切換到當前要打開的工程目錄之后,采用如下的方式打開,vim 后面空一格加一個 . 表示打開當前目錄下的所有文件

   
  1. ~/rt-thread-3.1.3$ vim .

這里我們打開一個 rt_thread 的工程為例,初次打開時,會出現(xiàn)一部分頭文件找不到的情況,如下圖所示的紅色字體:出現(xiàn)這個問題的原因是頭文件的路徑沒有包含進去,解決辦法時需要 .vimplus 目錄下的一個文件拷貝到當前工程下,然后對拷貝過去的文件做修改,要拷貝的文件如下圖所示:現(xiàn)在我要打開的工程是 rt-thread-3.1.3 ,那么文件就拷貝到這個目錄下,然后在再在這個文件里加入頭文件路徑,因為當前工程下的 include 以及 include 中的 libc 里的頭文件沒有包含,所以加入的內容如下:加入路徑之后,就能找到了,這里要注意的是每一個路徑的前面必須加入 ‘-isystem’,否則路徑加入失敗,在加入路徑之后,這些標紅的頭文件也就消失了。

tags 文件

我們回顧在使用 keil 等集成開發(fā)環(huán)境的時候,在閱讀代碼的時候,需要在函數的調用和函數的實現(xiàn)實現(xiàn)跳轉,在 vim 里也是可以實現(xiàn)的,vim 里實現(xiàn)跳轉需要在當前工程目錄下具有 tags 文件,所以我們需要在終端生成 tags 文件,輸入以下命令在終端生成 tags 文件,

   
  1. ~/rt-thread-3.1.3$ ctags -R

有了 tags 文件之后,我們就可以在 vim 的左邊打開函數列表名、變量以及宏定義的列表,打開的方式是使用快捷鍵 <,> +<t>其中<>里的表示鍵盤的符號,+號表示的是兩者同時按下,如果再同時按下 <,> +<n>,那么將出現(xiàn)工程的目錄,也就是我在本篇文章里的第一張圖那樣子,在進行切換操作時,也可以完全不用鼠標就可以完成,使用 <Ctrl>+<w>+ 方向鍵就可以將光標移動至任何一個窗口,這里方向鍵分別是 hjkl,在這里比較簡單不做詳細介紹,可以上網了解如何使用方向鍵。要實現(xiàn)函數跳轉,還需要做一件事才行,在打開的 vim 工程里的命令行里輸入如下命令后回車:

   
  1. :set tags=/home/wenzi/rt-thread-3.1.3/tags

注意等號的左右兩邊不能存在空格,其中每次打開工程都需要輸入上述命令,等號右邊是當前工程下的 tags 文件的路徑,如果當前工程是需要經常打開的工程,也可以將上述命令直接加入到 vimplus 里的 .vimrc 文件里。這里如何進入 vim 的命令行,沒有用過 vim 的朋友可能不太了解,在進入 vim 后在英文輸入模式下輸入 :就可以實現(xiàn),vim 的命令行在 vim 的最底端,如下圖所示:在進行了上述命令行的輸入之后,就可以進行函數的跳轉了,將光標移動到要跳轉的函數處,用快捷鍵 <Ctrl>+ <]>("]"時方括號的一部分)就可以實現(xiàn)跳轉,如果要跳回來,用 <Ctrl>+<t>就可以跳回來。

開多個窗口

在有時候,我們在跳轉到函數實現(xiàn)的時候,又想看函數調用這邊的代碼怎么辦呢,可以開多個窗口的方法實現(xiàn),比如我先在當前頁面輸入 :vsp,將窗口分為豎著的兩個(也可以輸入 :sp,將窗口分為橫著的兩個)之后,再實現(xiàn)跳轉就可以了,效果如下圖所示:如果還想繼續(xù)往下跳,還可以再分出一個窗口,如下圖所示:總之,在能看清的條件下,窗口數任由你開,想要關閉窗口時,在 vim 的命令行里輸入 :q!就可以依次關閉窗口。

頭文件跳轉及搜索

在使用 keil 時,我們有時需要跳轉到頭文件里去看頭文件的代碼,vim 也是能夠實現(xiàn)的,將光標定位到需要跳轉的頭文件處,按下快捷鍵 <,> + o就可以完成跳轉,如果要跳回來,按下 <Ctrl>+ n或者 <Ctrl>+ p就可以跳回來。如何進行搜索呢,按下 <Ctrl>+ F后,在 vim 命令行會出現(xiàn)提示,在這里輸入要搜索的字符串即可,在這里要等待一下,因為它會跳轉到 ubuntu 的終端進行搜索完之后再跳回 vim,搜索結果如下圖所示:在下方的搜索結果選擇要查看的內容然后回車就可以查看,關閉的方法同樣時輸入 :q!

輸入

在這里筆者不講解輸入的基本操作,比較常規(guī),一些比較快捷的輸入方法筆者現(xiàn)在也還在慢慢地去掌握,還不熟練,但是常規(guī)的輸入還是比較簡單的,這里之所以要說,是因為最開始配置好的 vim 在普通模式和插入模式下光標都是一個小方塊,看著很不舒服,筆者在這里改動了一下,普通模式光標是小方塊,插入模式是豎線,修改的方法是在 .vimplus 文件夾下的 .vimrc 文件下的末尾加上這么一段代碼:

   
  1. let &t_SI.="\e[5 q" "SI = INSERT mode

  2. let &t_SR.="\e[4 q" "SR = REPLACE mode

  3. let &t_EI.="\e[1 q" "EI = NORMAL mode (ELSE)

自動補全

vimplus 所帶的 YoucompleteMe 插件的自動補全功能很強大,在補全出現(xiàn)時,可以通過按 <Ctrl>+ n來進行選擇要輸入的字符串,比如如下圖片:

總結

上述就是關于 vimplus 的基本使用,vim 的學問很深,也以學習曲線陡峭而著稱,筆者現(xiàn)在也只是初級水平,僅僅初級水平也能感受到 vim 的強大,用好 vim 是需要一個長期積累的過程,但是在學習 vim 的過程中,我也在提醒自己,”好的編輯器能提升效率,提高專注度,但是終歸只是編輯器,衡量一個程序員的水平仍舊是寫代碼的實力,而不是制造 bug 的速度“,最后,在使用 vimplus 遇到問題的時候,可以到 github 上給 vimplus 的作者提 issure ,作者很熱心,回復的很及時,并且?guī)椭臋n很詳細。

您的閱讀是對我最大的鼓勵,您的建議是對我最大的提升,歡迎點擊下方圖片進入小程序進行評論


免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉