Rust 使用Vim 建置開發環境

閱讀時間約 4 分鐘
近期已經進去了一個看完語法,進去實作的階段,自然需要去挑選一個適合的環境來開發了。
原本使用的VS code,基本的使用上沒什麼問題,只是每當我要裝一些套件時就會報錯,相信花點時間,這些錯都可以解決,但我突然轉念一想,不如換個環境來寫寫看吧。於是就把矛頭轉向系統內建的Vim了。
如果電腦沒內建的話,需要另外裝,不過相信不會太難。
網路上研究了一下使建製Rust開發環境的套件,大部分都有跟Vim兼容,平常看Vim的顏色很死寂,這次就順便來裝飾一下吧。以下是我的成果。
除了色彩繽紛還有其他功能
我個人是對這樣的成果還滿滿意的,畢竟原生的Vim就是一片死寂的顏色
為了達到上述的效果,我們需要以下的套件:
//套件管理工具
1. vundle
//Rust 官方提供的Vim套件
2. Rust.vim
//讓Vim充滿色彩的關鍵,裝這個前還需要裝Node.js
3. coc.nvim
4. coc-snippets
//它提供了Rust完成和轉到定義等功能,
5. rust-analyizer
在這之前會需要一個vim的vimrc檔 ,我個人是建置在
$HOME/.vim/vimrc
這裡可以先在裡面新增 Rust.vim建議的指令,
syntax enable
filetype indent on
  1. 安裝Vundle
//github
https://github.com/VundleVim/Vundle.vim

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

在這之後你需要照個github內的教學去配置.vimrc文件。
2. 裝置coc.nvim
//github
https://github.com/neoclide/coc.nvim


//在.vimrc 加入Plugin 'neoclide/coc.nvim', {'branch': 'release'}後,輸入指令
//:PluginInstall
//這期間你需要先裝node.js
curl -sL install-node.vercel.app/lts | bash
//也會需要裝yarn
// 要在coc.nvim底下的資料夾
//~/.vim/plugged/coc.nvim/
npm install -g yarn
yarn install

//在安裝後你可以做一些基本的vim配置,可以在https://github.com/neoclide/coc.nvim 上看到基本的範例
3. 裝置Rust.vim 這裡提供兩種方式
//github
https://github.com/rust-lang/rust.vim

//直接裝在vim上
git clone https://github.com/rust-lang/rust.vim ~/.vim/pack/plugins/start/rust.vim
//透過Vundle安裝
Plugin 'rust-lang/rust.vim'
4. 安裝coc.snippt
//github
https://github.com/neoclide/coc-snippets

開啟vim後 輸入:CocInstall coc-snippets
5. 最後一步 安裝Rust
//github 
https://github.com/rust-lang/rust-analyzer


:CocInstall coc-rust-analyzer
到這裡基本上已經大功告成,剩下的就是coc.nvim的客製化,這是非常個人化的事情,我個人有另外設定:
  1. Pmenu
  2. PmenuSel
  3. CocFloating
其他都沒變,如果大家有什麼實用的設定都歡迎分享。
avatar-img
2會員
8內容數
目前主要是是學習Rust,Rust是一種程式語言,用途頗廣泛,在很多大公司的軟體內部都可見Rust的身影,這個專題,主要紀錄我學習Rust的遇見的事,跟一些小作品。如果對軟體設計相關沒興趣的,基本上不用點開了。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
rex chen的沙龍 的其他內容
承接上一段,接下來到了一段Rust比較新奇的部分也是控制記憶體的部分AKA所有權。 Rust 程式設計語言 所有權是在Rust處理記憶體的機制,記憶體由所有權系統管理,且編譯器會在編譯時加上一些規則檢查。 在這之前需要知道的部分 每個變數有一個所有者(owner) 同時間只能有一個所有者 只要擁有者
最開始學習一個語言肯定是從基礎語法開始,Rust還算滿幸運的有基礎語法的翻譯,這翻譯是在官方網站下推薦的,初步看起來沒什麼問題,在開發環境中我選擇visual studio code,基本的安裝,如果有問題的話,我相信網路上都找得到答案 第二章節就即開始基礎的Rust用法,非常有C語言的感覺,就是讓
第一篇文章就先說說我的背景,並做一些開始接著寫文章前的介紹。
承接上一段,接下來到了一段Rust比較新奇的部分也是控制記憶體的部分AKA所有權。 Rust 程式設計語言 所有權是在Rust處理記憶體的機制,記憶體由所有權系統管理,且編譯器會在編譯時加上一些規則檢查。 在這之前需要知道的部分 每個變數有一個所有者(owner) 同時間只能有一個所有者 只要擁有者
最開始學習一個語言肯定是從基礎語法開始,Rust還算滿幸運的有基礎語法的翻譯,這翻譯是在官方網站下推薦的,初步看起來沒什麼問題,在開發環境中我選擇visual studio code,基本的安裝,如果有問題的話,我相信網路上都找得到答案 第二章節就即開始基礎的Rust用法,非常有C語言的感覺,就是讓
第一篇文章就先說說我的背景,並做一些開始接著寫文章前的介紹。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
本文介紹了作者使用 Rust 重寫的一個專案,目的是為了在樹梅派上取得 LAN IP,並透過 Telegram 機器人發送訊息。作者首先提到在樹梅派上使用 Python 版本時遇到的問題,之後才開始討論為什麼選擇了 Rust 重寫的理由。
Thumbnail
非同步程式設計(Asynchronous programming) 或是簡單的稱之為 async,它是一種並發程式模型(concurrent programming model),其目的就是讓多個任務能同時在作業系統的執行緒上執行,並透過 async/.await 保留同步。
Thumbnail
先須知識: 了解什麼是變數 作用域scope 在Rust中,變數預設是不可變的 let name = "Zoe"; // 預設變數不可變 也就同於Javascript中的const,若想讓變數可變則需要在let後面加上mut關鍵字: let mut name = "Vicky"; nam
在開發 Rust 或是使用 Rust 編寫的 CLI 工具時,常會看見類似下方的錯誤訊息: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace 簡單寫一下該怎麼做。
Thumbnail
對於剛學習 Rust 的人來說,最一開始不是看 Youtube 的影片或是跟著 Rust 官方手冊 The Book 學習,這邊來推薦一個練習 Rust 的專案,名為 rustlings。 rustlings 包含著一些簡單的題目,來讓你更習慣閱讀或編寫 Rust 程式碼。該專案會在每道題目上給予
Thumbnail
Rustic AnyMal項目介紹和白名單贈送~
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
本文介紹了作者使用 Rust 重寫的一個專案,目的是為了在樹梅派上取得 LAN IP,並透過 Telegram 機器人發送訊息。作者首先提到在樹梅派上使用 Python 版本時遇到的問題,之後才開始討論為什麼選擇了 Rust 重寫的理由。
Thumbnail
非同步程式設計(Asynchronous programming) 或是簡單的稱之為 async,它是一種並發程式模型(concurrent programming model),其目的就是讓多個任務能同時在作業系統的執行緒上執行,並透過 async/.await 保留同步。
Thumbnail
先須知識: 了解什麼是變數 作用域scope 在Rust中,變數預設是不可變的 let name = "Zoe"; // 預設變數不可變 也就同於Javascript中的const,若想讓變數可變則需要在let後面加上mut關鍵字: let mut name = "Vicky"; nam
在開發 Rust 或是使用 Rust 編寫的 CLI 工具時,常會看見類似下方的錯誤訊息: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace 簡單寫一下該怎麼做。
Thumbnail
對於剛學習 Rust 的人來說,最一開始不是看 Youtube 的影片或是跟著 Rust 官方手冊 The Book 學習,這邊來推薦一個練習 Rust 的專案,名為 rustlings。 rustlings 包含著一些簡單的題目,來讓你更習慣閱讀或編寫 Rust 程式碼。該專案會在每道題目上給予
Thumbnail
Rustic AnyMal項目介紹和白名單贈送~