將Vim設(shè)置為Rust IDE
Vim 編輯器是很好的 Rust 應(yīng)用開發(fā)環(huán)境。
Rust 語言旨在以 C++ 開發(fā)人員熟悉的方式實(shí)現(xiàn)具有安全并發(fā)性和高內(nèi)存性能的系統(tǒng)編程。它也是 Stack Overflow 的 2019 年開發(fā)人員調(diào)查中最受歡迎的編程語言之一。
文本編輯器和集成開發(fā)環(huán)境(IDE)工具使編寫 Rust 代碼更加輕松快捷。有很多編輯器可供選擇,但是我相信 Vim 編輯器非常適合作為 Rust IDE。在本文中,我將說明如何為 Rust 應(yīng)用開發(fā)設(shè)置 Vim。
安裝 Vim
Vim 是 Linux 和 Unix 中最常用的命令行文本編輯器之一。最新版本(在編寫本文時(shí))是 8.2,它在使用方式上提供了前所未有的靈活性。
Vim 的下載頁面提供了多種二進(jìn)制或軟件包形式安裝。例如,如果使用 macOS,那么可以安裝 MacVim 項(xiàng)目,然后通過安裝 Vim 插件 擴(kuò)展 Vim 的功能。
要設(shè)置 Rust 進(jìn)行開發(fā),請(qǐng)下載 Rustup,這是一個(gè)方便的 Rust 安裝器工具,并在你的終端上運(yùn)行以下命令(如果你使用 macOS、Linux 或任何其他類 Unix 系統(tǒng)):
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
在提示中選擇安裝選項(xiàng)。然后,你將看到如下輸出:
stable installed - rustc 1.43.1 (8d69840ab 2020-05-04)
Rust is installed now. Great!
To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH
environment variable. Next time you log in this will be done
automatically.
To configure your current shell run source $HOME/.cargo/env
語法高亮
Vim 能讓你通過 .vimrc
文件配置你的運(yùn)行時(shí)環(huán)境。要啟用語法高亮,請(qǐng)打開 .vimrc
文件(如果不存在就創(chuàng)建一個(gè)):
$ vim ~/.vimrc
在 .vimrc
中添加以下內(nèi)容并保存:
filetype plugin indent on
syntax on
第一行同時(shí)打開檢測(cè)、插件和縮進(jìn)配置。第二行啟用語法高亮。這些功能將幫助你在 Rust 中管理開發(fā)流程。在 Vim 的幫助文件中了解更多信息。
在 Vim 中創(chuàng)建一個(gè) Rust 應(yīng)用
要使用 Vim 創(chuàng)建一個(gè)新的 Rust HelloWorld 應(yīng)用(hello.rs
),請(qǐng)輸入:
$ vim hello.rs
輸入以下 Rust 代碼在控制臺(tái)中打印 Hello World!
:
fn main() {
println!("Hello World");
}
它看起來應(yīng)該像這樣:
Rust code with syntax highlighting
沒有語法高亮的樣子如下:
Rust code without syntax highlighting
你是否注意到 Vim 自動(dòng)縮進(jìn)和組織代碼?那是因?yàn)槟阍?nbsp;.vimrc
文件中輸入了第一行。
很好!接下來,你將使用 Rust 的包管理器 Cargo 構(gòu)建此應(yīng)用。
Cargo 集成
Cargo 使創(chuàng)建應(yīng)用更加容易。要查看操作方法,請(qǐng)創(chuàng)建一個(gè)基于 Cargo 的 HelloWorld 應(yīng)用。如果你尚未在 Linux 或 macOS 系統(tǒng)上安裝 Cargo,請(qǐng)輸入:
$ curl https://sh.rustup.rs -sSf | sh
然后使用 Cargo 創(chuàng)建包:
$ cargo new my_hello_world
如果查看目錄結(jié)構(gòu),你會(huì)看到 Cargo 自動(dòng)生成一些源碼和目錄。如果你安裝了 tree
,請(qǐng)運(yùn)行它查看目錄結(jié)構(gòu):
$ tree my_hello_world
my_hello_world
├── Cargo.toml
└── src
└── main.rs
1 directory, 2 files
在 Vim 中打開 main.rs
源碼文件:
$ vim my_hello_world/src/main.rs
它與你在上面手動(dòng)創(chuàng)建的 HelloWorld 示例中的代碼相同。用 Rust with Vim
代替 World
:
fn main() {
println!("Hello, Rust with Vim");
}
使用 :wq
保存更改并退出 Vim。
編譯你的應(yīng)用
現(xiàn)在你可以使用 cargo build
編譯你的第一個(gè) Rust 應(yīng)用:
$ cd my_hello_world
$ cargo build
你的終端輸出將類似于以下內(nèi)容:
Compiling my_hello_world v0.1.0 (/Users/danieloh/cloud-native-app-dev/rust/my_hello_world)
Finished dev [unoptimized + debuginfo] target(s) in 0.60s
你可能會(huì)看到一條警告消息,因?yàn)槟阒赜昧耸纠?nbsp;my_hello_world
,但現(xiàn)在可以忽略它。
運(yùn)行應(yīng)用:
$ target/debug/my_hello_world
Hello, Rust with Vim!
你也可以使用 cargo run
一次構(gòu)建和運(yùn)行應(yīng)用:
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Running `target/debug/my_hello_world`
Hello, Rust with Vim!!
恭喜!你在本地的 Vim 編輯器中設(shè)置了 Rust IDE,開發(fā)了第一個(gè) Rust 應(yīng)用,并使用 Cargo 包管理器工具構(gòu)建、測(cè)試和運(yùn)行了它。如果你想學(xué)習(xí)其他 Cargo 命令,請(qǐng)運(yùn)行 cargo help
。