色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中如何用vim做golang開發(fā)環(huán)境

馬哥Linux運(yùn)維 ? 來源:CSDN博客 ? 作者:少年已不再年少年 ? 2021-10-08 17:20 ? 次閱讀

vim 做 golang 開發(fā)環(huán)境,多么炫酷!還沒嘗試過用 vim 做開發(fā)環(huán)境的同學(xué)可以跟著這篇文檔把環(huán)境搭建起來了!

準(zhǔn)備條件,是已經(jīng)安裝好 golang 環(huán)境,還需要把 golang 的環(huán)境變量配置好,這里配置如下

[root@localhost bundle]# vim /etc/profile

在這個文件最后加上,GOPATH、GOBIN、GOROOT、PATH 的環(huán)境變量

export GOPATH=“/root/go”export GOBIN=“$GOPATH/bin”export GOROOT=“/usr/local/go”export PATH=“$PATH:/usr/local/go/bin”export PATH=“$PATH:/root/go/bin”

[root@localhost bundle]# source /etc/profile

安裝 git

[root@localhost ~]# yum install -y git

安裝 Vundle.vim

mkdir ~/.vim/bundle

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

安裝 vim-go

git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go

修改~/.vimrc,如果沒有就創(chuàng)建。vimrc 文件

[root@localhost bundle]# vim ~/.vimrcset nocompatible “ be iMproved, required

filetype off ” required

“ set the runtime path to include Vundle and initialize

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

” let Vundle manage Vundle, required

Plugin ‘gmarik/Vundle.vim’

Plugin ‘fatih/vim-go’“ All of your Plugins must be added before the following line

call vundle#end() ” required

filetype plugin indent on “ required

let g:go_version_warning = 0

如果覺得高亮的地方太少,可在~/.vimrc 下多添加如下配置

let g:go_highlight_functions = 1

let g:go_highlight_methods = 1

let g:go_highlight_structs = 1

let g:go_highlight_operators = 1

let g:go_highlight_build_constraints = 1

創(chuàng)建一個測試文件 test.go,將發(fā)現(xiàn)可以高亮了

[root@localhost bundle]# vim 。/test.go

下載 nerdtree 和 nerdtree-git-plugin

[root@localhost bundle]# git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree

[root@localhost bundle]# git clone https://github.com/Xuyuanp/nerdtree-git-plugin.git ~/.vim/bundle/nerdtree-git-plugin

修改~/.vimrc

set nocompatible ” be iMproved, required

filetype off “ required

” set the runtime path to include Vundle and initialize

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

“ let Vundle manage Vundle, required

Plugin ‘gmarik/Vundle.vim’

Plugin ‘fatih/vim-go’

Plugin ‘git://github.com/scrooloose/nerdtree.git’

Plugin ‘git://github.com/Xuyuanp/nerdtree-git-plugin.git’” All of your Plugins must be added before the following line

call vundle#end() “ required

filetype plugin indent on ” required

let g:go_version_warning = 0

“ NERDTree config

map 《F7》 :NERDTreeToggle《CR》 ”快捷鍵 F7,可以收放目錄樹的視圖

autocmd bufenter * if (winnr(“$”) == 1 && exists(“b:NERDTreeType”) &&b:NERDTreeType == “primary”) | q | endif

autocmd vimenter * NERDTree

nerdtree 的使用,這里不講解,大家可使用?命令來自己了解,如下

[root@localhost bundle]# vim ~/.vimrc

注意:使用 nerdtree 的命令,需要光標(biāo)在目錄樹的窗口下才可以,如上圖,此時直接敲?即可

安裝 neocomplete

這個智能的提示功能需要很多限制條件,想要安裝成功請先閱讀這個網(wǎng)址:

https://blog.csdn.net/pei2215015/article/details/79813522

根據(jù)官網(wǎng) https://github.com/shougo/neosnippet.vim 的提示安裝,修改~/.vimrc

[root@localhost bundle]# vim ~/.vimrc

在如上位置添加 3 個插件 Plugin

在~/.vimrc 文件的最后添加

let g:neocomplete#enable_at_startup = 1

:wq 保存退出

打開 vim,執(zhí)行:PluginInstall

[root@localhost .vim]# vim

:PluginInstall

出現(xiàn) Done 即安裝成功

安裝 ctags、gotags 和 tarbar

[root@localhost bundle]# yum install -y ctags

如上面第 9 個步驟一樣,在~/.vimrc 中添加插件

Plugin ‘jstemmer/gotags’

Plugin ‘majutsushi/tagbar’

保存之后,打開 vim,執(zhí)行:PluginInstall,如下

[root@localhost .vim]# vim

:PluginInstall

出現(xiàn) Done 即安裝成功

在~/.vimrc文件最后加入以下內(nèi)容:

let g:tagbar_type_go = {

‘ctagstype’ : ‘go’,

‘kinds’ : [

‘p:package’,

‘i1’,

‘c:constants’,

‘v:variables’,

‘t:types’,

‘n:interfaces’,

‘w:fields’,

‘e:embedded’,

‘m:methods’,

‘r:constructor’,

‘f:functions’

],

‘sro’ : ‘。’,

‘kind2scope’ : {

‘t’ : ‘ctype’,

‘n’ : ‘ntype’

},

‘scope2kind’ : {

‘ctype’ : ‘t’,

‘ntype’ : ‘n’

},

‘ctagsbin’ : ‘gotags’,

‘ctagsargs’ : ‘-sort -silent’

}

安裝 mark.vim

地址:https://www.vim.org/scripts/script.php?script_id=2666,我這里演示中下載的是

直接使用 vim 打開

[root@localhost bundle]# vim 。/mark-3.0.0.vmb.gz

在 vim 的命令模式下輸入

:so %

即安裝成功

在~/.vimrc 中添加

nmap ml 《Plug》MarkSet #高亮或反高亮一個單詞

nmap md 《Plug》MarkClear

nmap mn 《Plug》MarkSearchAnyNext #跳轉(zhuǎn)到任一下一個高亮單詞

nmap mp 《Plug》MarkSearchAnyPrev

nmap mf 《Plug》MarkSearchCurrentNext #跳轉(zhuǎn)到當(dāng)前高亮的下一個單詞

nmap mb 《Plug》MarkSearchCurrentPrev

安裝 goimports

[root@localhost src]# cd /root/go/src

[root@localhost src]# mkdir golang.org

[root@localhost golang.org]# mkdir x

[root@localhost golang.org]# cd 。/x

[root@localhost x]# git clone https://github.com/golang/tools.git

[root@localhost x]# cd 。/tools/cmd/goimports/

[root@localhost goimports]# go install

使用方法:在 vim 的命令模式下輸入:GoImports

注意:在 tools/cmd 下還有很多命令工具,可以使用同樣的方法安裝

安裝 golint,對 go 代碼進(jìn)行 lint 檢查

[root@localhost golang.org]# cd /root/go/src/golang.org/x/

[root@localhost x]# git clone https://github.com/golang/lint

[root@localhost x]# cd 。/lint/

[root@localhost golint]# go install

使用方法:在 vim 的命令模式下輸入:GoLint

讓 vim 支持 gocode

[root@localhost vim]# cd /root/go/src/github.com/gocode/vim

[root@localhost vim]# 。/update.sh

如果還需要安裝其他的第三方庫,請按照下面地址去學(xué)習(xí)

https://www.golangtc.com/download/package

這里就不一一演示了,所有操作和上面的都是一樣的了

最后的~/.vimrc 的文件是這樣子的

set nocompatible “ be iMproved, required

filetype off ” required

“ set the runtime path to include Vundle and initialize

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

” let Vundle manage Vundle, required

Plugin ‘gmarik/Vundle.vim’

Plugin ‘fatih/vim-go’

Plugin ‘git://github.com/scrooloose/nerdtree.git’

Plugin ‘git://github.com/Xuyuanp/nerdtree-git-plugin.git’

Plugin ‘Shougo/neocomplete’

Plugin ‘Shougo/neosnippet’

Plugin ‘Shougo/neosnippet-snippets’

Plugin ‘jstemmer/gotags’

Plugin ‘majutsushi/tagbar’

“ All of your Plugins must be added before the following line

call vundle#end() ” required

filetype plugin indent on “ required

let g:go_version_warning = 0

let g:go_highlight_functions = 1

let g:go_highlight_methods = 1

let g:neocomplete#enable_at_startup = 1

” NERDTree config

map 《F7》 :NERDTreeToggle《CR》

autocmd bufenter * if (winnr(“$”) == 1 && exists(“b:NERDTreeType”) && b:NERDTreeType == “primary”) | q | endif

autocmd vimenter * NERDTree

“ mark config

nmap ml 《Plug》MarkSet

nmap md 《Plug》MarkClear

nmap mn 《Plug》MarkSearchAnyNex

nmap mp 《Plug》MarkSearchAnyPrev

nmap mf 《Plug》MarkSearchCurrentNext

nmap mb 《Plug》MarkSearchCurrentPrev

nmap 《F8》 :TagbarToggle《CR》

let g:tagbar_type_go = {

‘ctagstype’ : ‘go’,

‘kinds’ : [

‘p:package’,

‘i1’,

‘c:constants’,

‘v:variables’,

‘t:types’,

‘n:interfaces’,

‘w:fields’,

‘e:embedded’,

‘m:methods’,

‘r:constructor’,

‘f:functions’

],

‘sro’ : ‘。’,

‘kind2scope’ : {

‘t’ : ‘ctype’,

‘n’ : ‘ntype’

},

‘scope2kind’ : {

‘ctype’ : ‘t’,

‘ntype’ : ‘n’

},

‘ctagsbin’ : ‘gotags’,

‘ctagsargs’ : ‘-sort -silent’

}

有時間再補(bǔ)充下各個插件是怎么使用的吧。

安裝 ack,這里是新補(bǔ)充的

[root@localhost kingshard]# yum install -y ack

[root@localhost bundle]# git clone https://github.com/mileszs/ack.vim.git ~/.vim/bundle/ack

在~/.vimrc中添加插件位置添加 Ack 和在文件最后添加快捷鍵 F4

Plugin ‘mileszs/ack’

map 《F4》 :Ack

光標(biāo)停留在某函數(shù)或變量名上,按 F4 回車,即可全局搜索調(diào)用處

總結(jié):可能會經(jīng)常使用的快捷鍵

打開目錄窗口:F7

打開符號窗口:F8

各窗口間的相互跳轉(zhuǎn):ctr+w+w

跳轉(zhuǎn)到函數(shù)定義處:gd

向前:tab 鍵

向后:ctr+o

高亮光標(biāo)所在的單詞:ml

取消光標(biāo)所在單詞的高亮:md

下一個高亮的單詞:mf

上一個高亮的單詞:mp

轉(zhuǎn)自:blog.csdn.net/pei2215015/article/details/79802351

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11335

    瀏覽量

    210088
  • VIM
    VIM
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

    15316

原文標(biāo)題:Linux 下 golang 的 vim 環(huán)境配置

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Golang配置代理方法

    由于一些客觀原因的存在,我們開發(fā) Golang 項目的過程總會碰到無法下載某些依賴包的問題。這不是一個小問題,因為你的工作會被打斷,即便你使用各種神通解決了問題,很可能這時你的線程已經(jīng)切換到其他的事情上了(痛恨思路被打斷!)。所以最好是一開始我們就重視這個問題,并一勞永逸
    的頭像 發(fā)表于 11-11 11:17 ?363次閱讀
    <b class='flag-5'>Golang</b>配置代理方法

    【北京迅為】itop-龍芯2k1000開發(fā)指南Linux基礎(chǔ)入門vim 編輯器

    【北京迅為】itop-龍芯2k1000開發(fā)指南Linux基礎(chǔ)入門vim 編輯器
    的頭像 發(fā)表于 10-25 14:56 ?343次閱讀
    【北京迅為】itop-龍芯2k1000<b class='flag-5'>開發(fā)</b>指南<b class='flag-5'>Linux</b>基礎(chǔ)入門<b class='flag-5'>vim</b> 編輯器

    Linux環(huán)境變量配置方法

    Linux環(huán)境變量配置分為設(shè)置永久變量和臨時變量兩種。環(huán)境變量設(shè)置方法同時要考慮環(huán)境Shell類型,不同類型的SHELL設(shè)置臨時變量方法和設(shè)置永久變量對應(yīng)的配置文件不同。
    的頭像 發(fā)表于 10-23 13:39 ?201次閱讀

    【米爾NXP i.MX 93開發(fā)板試用評測】4、使用golang搭建Modbus 服務(wù)器

    Modbus是一種廣泛使用的串行通信協(xié)議,主要用于工業(yè)環(huán)境的電子設(shè)備之間的通信。Modbus服務(wù)器通常是指在Modbus通信網(wǎng)絡(luò)中提供數(shù)據(jù)和控制服務(wù)的設(shè)備或軟件。在Modbus協(xié)議,服務(wù)器通常
    發(fā)表于 09-21 22:51

    vim編輯器命令模式使用方法

    Vim編輯器是一款功能強(qiáng)大的文本編輯器,廣泛應(yīng)用于程序員和開發(fā)者的日常工作Vim編輯器擁有多種模式,其中命令模式(Command mode)是最基本的模式之一,它允許用戶執(zhí)行各種命
    的頭像 發(fā)表于 08-30 15:01 ?470次閱讀

    vim編輯器如何使用

    Vim編輯器是一個功能強(qiáng)大的文本編輯器,它基于Vi進(jìn)行改進(jìn),并增加了許多新特性。Vim編輯器的使用主要涉及其不同的工作模式及相應(yīng)操作。以下是Vim編輯器的基本使用方法: 一、Vim編輯
    的頭像 發(fā)表于 08-30 14:58 ?495次閱讀

    vim的三種工作模式是什么?如何切換

    Vim是一款功能強(qiáng)大的文本編輯器,它具有多種工作模式,以滿足不同用戶的需求。在Vim,主要有三種工作模式:普通模式、插入模式和命令行模式。 普通模式(Normal Mode) 普通模式是Vi
    的頭像 發(fā)表于 08-30 14:50 ?3117次閱讀

    Linux 驅(qū)動開發(fā)與應(yīng)用開發(fā),你知道多少?

    一、Linux驅(qū)動開發(fā)與應(yīng)用開發(fā)的區(qū)別開發(fā)層次不同:Linux驅(qū)動開發(fā)主要是針對硬件設(shè)備進(jìn)行編程
    的頭像 發(fā)表于 08-30 12:16 ?885次閱讀
    <b class='flag-5'>Linux</b> 驅(qū)動<b class='flag-5'>開發(fā)</b>與應(yīng)用<b class='flag-5'>開發(fā)</b>,你知道多少?

    Vim編輯器之Vim常用操作命令

    /example/hello$ vim hello.c +4使用vim打開文件后,默認(rèn)為一般模式。2)文件對比Vim的vimdiff對比工具可以很容易實現(xiàn)文件對比的功能,用法舉例如下
    發(fā)表于 08-23 09:21

    嵌入式學(xué)習(xí)-常用編輯器之Vim編輯器

    Vim常用的操作命令。在Linux環(huán)境下默認(rèn)會集成Vi編輯器,Vim是Vi編輯器的高階版本,更容易使用,Vi的命令幾乎全部可以在Vim上使用
    發(fā)表于 08-23 09:12

    常用編輯器之Vim編輯器

    Vim常用的操作命令。 在Linux環(huán)境下默認(rèn)會集成Vi編輯器,Vim是Vi編輯器的高階版本,更容易使用,Vi的命令幾乎全部可以在Vim上使
    發(fā)表于 08-22 09:48

    何用Arduino開發(fā)STM32G070?

    何用Arduino開發(fā)STM32G070,各位大神有相關(guān)教程嗎。我如何在Arduino的開發(fā)板管理器添加STM32G070開發(fā)板,如何把
    發(fā)表于 04-07 08:22

    RISC-V Linux開發(fā)環(huán)境腳本

    比較多的RISC-V SOC Linux開發(fā)環(huán)境使用CMake/Makefile,雖然也知道些怎么用,但有沒完整系統(tǒng)的這方面學(xué)習(xí)資料?如語法、腳本鏈接結(jié)構(gòu)等,可以分享下深入學(xué)習(xí)
    發(fā)表于 03-31 12:48

    【米爾-全志T113-i開發(fā)板試用】3、使用golang獲取系統(tǒng)信息

    獲取系統(tǒng)信息,我們可以使用Linux的Proc文件系統(tǒng),解析其中的文件來取得相應(yīng)的信息,但是那樣太麻煩了,需要找很多資料,寫挺多的代碼。 我們可以使用現(xiàn)成的工具gopsutil。gopsutil
    發(fā)表于 02-22 09:39

    Linux系統(tǒng)設(shè)置環(huán)境變量的方法和技巧

    Linux環(huán)境變量是一種保存有關(guān)系統(tǒng)環(huán)境配置的信息的對象。它們被廣泛用于存儲有關(guān)系統(tǒng)操作的信息比如路徑、文件名等。通過合理配置環(huán)境變量我們可以方便地訪問和執(zhí)行各種命令和程序。
    的頭像 發(fā)表于 02-01 11:09 ?1738次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>中</b>設(shè)置<b class='flag-5'>環(huán)境</b>變量的方法和技巧
    主站蜘蛛池模板: 国产h视频在线观看免费| 亚洲精品高清在线观看| 欧美午夜精品A片一区二区HD| 日日噜噜夜夜狠狠扒开双腿| 亚洲欧洲一级| 大陆女人内谢69XXXORG| 久久国产av偷拍在线| 少妇人妻偷人精品视蜜桃| 中文字幕乱码亚洲无线三区| 国产 亚洲 中文在线 字幕| 擼擼擼麻豆密臀AV| 亚洲精品无码一区二区三区四虎| 被强J高H纯肉公交车啊| 久久精品无码一区二区日韩av| 色戒西瓜视频| gayxxxxgay呻吟受日本| 老熟风间由美AV在线一区二区| 邪恶肉肉全彩色无遮盖| 成 人 网 站免费观看| 蜜臀久久99精品久久久久久做爰| 亚洲精品婷婷无码成人A片在线 | 美女议员被泄裸照| 亚洲国产在线2020最新| 国产成人免费视频| 青青青伊人| BL文高H强交| 免费黄色网址在线观看| 在线观看视频中文字幕| AV久久久囯产果冻传媒| 久久综合狠狠综合久久综合88| 天美传媒在线观看免费完整版| BLACKED太粗太长| 男女后进式猛烈xx00动态图片| 在线观看亚洲免费视频| 久草在线草a免费线看| 亚洲精品第二页| 国产一区91| 亚洲男人的天堂久久精品麻豆| 国产婷婷一区二区在线观看| 小萝ar视频网站| 国产亚洲精品线观看不卡|