偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

用一些超酷的功能使Vim變得更強大

系統(tǒng) Linux
Vim是每個Linux發(fā)行版]中不可或缺的一部分,也是Linux用戶最常用的工具。人們可能會在利用什么工具進行程序設計更好方面產(chǎn)生爭議,的確Vim可能不是一個好的選擇,因為有很多不同的 IDE 或其它類似于Sublime Text 3,Atom等使程序設計變得更加容易的成熟的文本編輯器。

[[220326]]

Vim 是每個 Linux 發(fā)行版]中不可或缺的一部分,也是 Linux 用戶最常用的工具(當然是基于終端的)。至少,這個說法對我來說是成立的。人們可能會在利用什么工具進行程序設計更好方面產(chǎn)生爭議,的確 Vim 可能不是一個好的選擇,因為有很多不同的 IDE 或其它類似于 Sublime Text 3,Atom 等使程序設計變得更加容易的成熟的文本編輯器。

 

我的感想

但我認為,Vim 應該從一開始就以我們想要的方式運作,而其它編輯器讓我們按照已經(jīng)設計好的方式工作,實際上不是我們想要的工作方式。我不會過多地談論其它編輯器,因為我沒有過多地使用過它們(我對 Vim 情有獨鐘)。

不管怎樣,讓我們用 Vim 來做一些事情吧,它完全可以勝任。

 

利用 Vim 進行程序設計

 

執(zhí)行代碼

考慮一個場景,當我們使用 Vim 設計 C++ 代碼并需要編譯和運行它時,該怎么做呢。

(a). 我們通過 Ctrl + Z 返回到終端,或者利用 :wq 保存并退出。

(b). 但是任務還沒有結束,接下來需要在終端上輸入類似于 g++ fileName.cxx 的命令進行編譯。

(c). 接下來需要鍵入 ./a.out 執(zhí)行它。

為了讓我們的 C++ 代碼在 shell 中運行,需要做很多事情。但這似乎并不是利用 Vim 操作的方法( Vim 總是傾向于把幾乎所有操作方法利用一兩個按鍵實現(xiàn))。那么,做這些事情的 Vim 的方式究竟是什么?

 

Vim 方式

Vim 不僅僅是一個文本編輯器,它是一種編輯文本的編程語言。這種幫助我們擴展 Vim 功能的編程語言是 “VimScript”(LCTT 譯注: Vim 腳本)。

因此,在 VimScript 的幫助下,我們可以只需一個按鍵輕松地將編譯和運行代碼的任務自動化。

create functions in vim .vimrc

create functions in vim .vimrc

以上是在我的 .vimrc 配置文件里創(chuàng)建的一個名為 CPP() 函數(shù)的片段。

 

利用 VimScript 創(chuàng)建函數(shù)

在 VimScript 中創(chuàng)建函數(shù)的語法非常簡單。它以關鍵字 func 開頭,然后是函數(shù)名(在 VimScript 中函數(shù)名必須以大寫字母開頭,否則 Vim 將提示錯誤)。在函數(shù)的結尾用關鍵詞 endfunc。

在函數(shù)的主體中,可以看到 exec 語句,無論您在 exec 關鍵字之后寫什么,都會在 Vim 的命令模式上執(zhí)行(記住,就是在 Vim 窗口的底部以 : 開始的命令)?,F(xiàn)在,傳遞給 exec 的字符串是(LCTT 譯注::!clear && g++ % && ./a.out) -

vim functions commands & symbols

vim functions commands & symbols

當這個函數(shù)被調(diào)用時,它首先清除終端屏幕,因此只能看到輸出,接著執(zhí)行 g++ 處理你工作的文件,然后運行由前一步編譯而形成的 a.out 文件。

 

將 ctrl+r 映射為運行 C++ 代碼

我將語句 call CPP() 映射到鍵組合 Ctrl+r,以便我現(xiàn)在可以按 Ctrl+r 來執(zhí)行我的 C++ 代碼,無需手動輸入 :call CPP(),然后按 Enter 鍵。

 

最終結果

我們終于找到了 Vim 方式的操作方法。現(xiàn)在,你只需按一個(組合)鍵,你編寫的 C++ 代碼就輸出在你的屏幕上,你不需要鍵入所有冗長的命令了。這也節(jié)省了你的時間。

我們也可以為其他語言實現(xiàn)這類功能。

create function in vim for python

create function in vim for python

對于Python:您可以按下 Ctrl+e 解釋執(zhí)行您的代碼。

create function in vim for java

create function in vim for java

對于Java:您現(xiàn)在可以按下 Ctrl+j,它將首先編譯您的 Java 代碼,然后執(zhí)行您的 Java 類文件并顯示輸出。

 

進一步提高

所以,這就是如何在 Vim 中操作的方法。現(xiàn)在,我們來看看如何在 Vim 中實現(xiàn)所有這些。我們可以直接在 Vim 中使用這些代碼片段,而另一種方法是使用 Vim 中的自動命令 autocmd。autocmd 的優(yōu)點是這些命令無需用戶調(diào)用,它們在用戶所提供的任何特定條件下自動執(zhí)行。

我想用 autocmd 實現(xiàn)這個,而不是對每種語言使用不同的映射,執(zhí)行不同程序設計語言編譯出的代碼。

autocmd in vimrc

autocmd in vimrc

在這里做的是,為所有的定義了執(zhí)行相應文件類型代碼的函數(shù)編寫了自動命令。

會發(fā)生什么?當我打開任何上述提到的文件類型的緩沖區(qū), Vim 會自動將 Ctrl + r 映射到函數(shù)調(diào)用,而 <CR> 表示回車鍵,這樣就不需要每完成一個獨立的任務就按一次回車鍵了。

為了實現(xiàn)這個功能,您只需將函數(shù)片段添加到 .vimrc 文件中,然后將所有這些 autocmd 也一并添加進去。這樣,當您下一次打開 Vim 時,Vim 將擁有所有相應的功能來執(zhí)行所有具有相同綁定鍵的代碼。

 

總結

就這些了。希望這些能讓你更愛 Vim 。我目前正在探究 Vim 中的一些內(nèi)容,正閱讀文檔,補充 .vimrc 文件,當我研究出一些成果后我會再次與你分享。

如果你想看一下我現(xiàn)在的 .vimrc 文件,這是我的 Github 賬戶的鏈接: MyVimrc。

期待你的好評。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2009-09-10 16:01:26

介紹LINQ

2018-07-27 14:37:35

SD-WAN云計算網(wǎng)絡

2017-03-13 13:32:39

LinuxVim技巧

2019-06-23 18:00:29

5G標準網(wǎng)絡

2010-03-04 09:41:39

Ubuntu Joli

2014-11-04 10:05:54

Docker

2009-04-08 08:41:42

Iphone移動OS

2022-08-28 23:51:04

編輯器vim代碼

2020-09-22 15:29:03

UnixC++C

2020-08-23 08:56:52

Vue Router 前端Vue

2017-05-10 15:30:30

skynet崩潰程序

2020-09-27 14:43:37

開發(fā)工具技術

2020-09-28 18:01:43

開發(fā)彩色代碼

2011-01-18 16:42:35

美信云網(wǎng)管云計算

2010-07-27 09:55:52

Flex4

2023-04-26 14:17:22

人工智能

2017-08-23 09:26:16

Chromelive 狀態(tài)代碼

2018-12-13 08:00:00

邊緣計算芯片類神經(jīng)器件

2023-09-01 14:07:00

ChatGPTGPT數(shù)據(jù)分析

2021-07-21 08:59:10

requestsPython協(xié)程
點贊
收藏

51CTO技術棧公眾號