這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
2013-09-21 wcdj
1 golang簡介
Go is an open source programming environment that makes it easy to build simple, reliable, and efficient software.
golang的首頁:http://golang.org/
2 Mac OS X 10.8.4環境安裝
(1) 下載安裝包(詳細可參考:http://golang.org/doc/install)
在 http://code.google.com/p/go/downloads/list 連結中選擇安裝包:go1.2rc1.darwin-amd64-osx10.8.pkg
https://code.google.com/p/go/wiki/Downloads?tm=2 下載頁面
(2) 安裝
開啟下載好的pkg檔案,根據安裝嚮導完成安裝。預設的安裝路徑是:/usr/local/go。
mba:go gerryyang$ pwd/usr/local/gomba:go gerryyang$ lsAUTHORSPATENTSapidoclibrobots.txtCONTRIBUTORSREADMEbinfavicon.icomiscsrcLICENSEVERSIONblogincludepkgtest
(3) 設定環境變數
將/usr/local/go/bin添加到PATH環境變數中:
a. 在home目錄下開啟.bashrc檔案,並將添加:export PATH=$PATH:/usr/local/go/bin,然後儲存關閉;
b. 執行 . .bashrc 使環境變數生效;
在command line測試會顯示如下內容:
mba:~ gerryyang$ goGo is a tool for managing Go source code.Usage:go command [arguments]The commands are: build compile packages and dependencies clean remove object files env print Go environment information fix run go tool fix on packages fmt run gofmt on package sources get download and install packages and dependencies install compile and install packages and dependencies list list packages run compile and run Go program test test packages tool run specified go tool version print Go version vet run go tool vet on packagesUse "go help [command]" for more information about a command.Additional help topics: c calling between Go and C/C++ gopath GOPATH environment variable packages description of package lists remote remote import path syntax testflag description of testing flags testfunc description of testing functionsUse "go help [topic]" for more information about that topic.mba:~ gerryyang$
3 測試
下面使用MacVim編輯:
package mainimport "fmt"func main() { fmt.Printf("hello, golang!\n")}
If you see the "hello, world" message then your Go installation is working.
4 配置Sublime Text 2編輯環境
(1) 下載st2 http://www.sublimetext.com/
(2) 安裝gosublime外掛程式 http://my.oschina.net/Obahua/blog/110767
(3) st2個人化配置及入門使用(比如,更改表徵圖)
英文原文 http://net.tutsplus.com/tutorials/tools-and-tips/sublime-text-2-tips-and-tricks/
中文版 http://lucifr.com/2011/08/31/sublime-text-2-tricks-and-tips/
st2的一些優點:
(a) 快捷的命令選擇區 shift+command+p
(b) 即時的檔案切換 command+p
(c) 隨心所欲的跳轉 command+p @ (函數) #(搜尋) : (行數)
PS: 讓人叫絕的是,這些切換定位方法可以配合在一起使用。
(d) 多重選取 (這個功能確實爽,對於不熟悉正則匹配的人)
啟用多重選取的方法有幾種:
- 按住
Command
或 Alt
,然後在頁面中希望中現游標的位置點擊。
- 選擇數行文本,然後按下
Shift + Command + L
。
- 通過反覆按下
Control/Command + D
即可將全文中與游標當前所在位置的詞相同的詞逐一加入選擇,而直接按下 Alt+F3
(Windows) 或是 Ctrl+Command+G
(Mac) 即可一次性選擇所有相同的詞。
- 按下滑鼠中鍵(Mac上是option鍵)來進行垂直方向的縱列選擇,也可以進入多重編輯狀態。
(e) 代碼縮排顯示
縮排指示已經被整合進 Sublime Text 2 中,不需要安裝外掛程式了,之前需要安裝 IndentGuides 外掛程式。
(f) 安裝包控制
安裝 Package Control 的方法:
- 開啟 Sublime Text 2,按下
Control + `
調出 Console
將以下代碼粘貼進命令列中並斷行符號:
import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
Sublime Text 3 請使用以下代碼:
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
重啟 Sublime Text 2,如果在 Preferences -> Package Settings
中見到Package Control
這一項,就說明安裝成功了。
使用 Package Control 安裝 Package 的方法:
第一步:按下 Shift + Command + P
調出命令選擇區
第二步:輸入 install
調出 Package Control: Install Package
選項,按下斷行符號
第三步:在列表中找到 xxx外掛程式
,按下斷行符號進行安裝
第四步:重啟 Sublime Text 2 使之生效
PS: 詳細的package列表可以在 https://sublime.wbond.net/ 查詢。
(g) 對齊
在 Sublime Text 2 之中,一個 Sublime Alignment 外掛程式也可以輕鬆實現。
(h) Vim模式 (方便Vimer過度使用)
Sublime Text 2 dev 版已經支援 Vim 的編輯模式了,如果更喜歡 Vim 的編輯模式,可以通過以下方法來啟用 Vintage mode。
第一步:按下 Shift + Command + P
調出命令選擇區
第二步:輸入 settings user
調出 Preferences:Settings - User
,並按下斷行符號
(以上兩步等價於:command + , )
第三步:這時會開啟一個 Preferences.sublime-settings 的檔案,如果是第一次修改,它應該是個空檔案,把以下文本粘貼進去
{ "ignored_packages": []}
第四步:儲存這個檔案,這時按下 ESC 鍵,再按下一些你熟悉的 Vim命令。
說明:gd命令好像不能用,跳轉、查詢等是相同的,Vintage 模式本身就是通過 keybinding 實現的,可以參考修改: http://sublimetext.info/docs/en/reference/key_bindings.html
(i) 無幹擾模式(Distraction Free Mode)(自己還是習慣全螢幕模式 control + command + f)
在 Sublime Text 2 中,只要按下 Control + Shift + Command + F
或是在菜單 View
中選擇 Enter Distraction Free Mode
就可以進入這個 UI 最小化模式了。如果是在用 Mac OS X Lion 的話,Sublime Text 2 還同時支援 Lion 的原生全螢幕模式。
通過修改 “Preferences” -> “File Settings - More” -> “Distraction Free - User” 可以對防幹擾模式進行一些設定:
{ "line_numbers": false, //是否顯示行號 "gutter": false, //是否顯示邊列 "draw_centered": true, //是否置中顯示 "wrap_width": 80, //換行寬度(單位:字元) "word_wrap": true, //是否自動換行 "scroll_past_end": true //滾動能否超過結尾}
(j) 一些編輯顯示技巧
(1) 在左側欄顯示開啟的檔案清單
command + k; command + b 實現開啟和關閉之間的切換。
(2) 字型大小動態調整
command + = 調大
command + - 調小
(3) cmd + option + 數字
實現多個tab並行編輯和對比。
(4) 通過參考預設設定檔 Perferences.sublime-settings 中的參數,可進行個人化。
(k) 主題
這裡所講的主題不同於針對代碼的 Color Scheme,是指標對 Sublime 程式本身的主題,目前可以安裝的是 Ian Hill 的 Soda。
(l) 必備的擴充外掛程式
(a) ConvertToUTF8
ST2隻支援utf8編碼,該外掛程式可以顯示與編輯 GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS 等編碼的檔案。
https://sublime.wbond.net/packages/ConvertToUTF8
https://github.com/seanliang/ConvertToUTF8
(b) gosublime
GoSublime is a Golang plugin collection for the text editor SublimeText providing code completion and other IDE-like features. Both Sublime Text versions 2 and 3 are supported.
https://sublime.wbond.net/packages/GoSublime
(m) 文檔
Sublime Text Unofficial Documentation
http://www.sublimetext.com/docs/2/
(n) 把subl添加在命令列中
在 .bashrc 配置中添加如下別名:
# Sublime Text 2alias subl='/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl'
然後 . .bashrc 使配置生效。然後輸入 subl -h則顯示如下:
mba:bin gerryyang$ subl -hSublime Text 2 Build 2221Usage: subl [arguments] [files] edit the given files or: subl [arguments] [directories] open the given directories or: subl [arguments] - edit stdinArguments: --project <project>: Load the given project --command <command>: Run the given command -n or --new-window: Open a new window -a or --add: Add folders to the current window -w or --wait: Wait for the files to be closed before returning -b or --background: Don't activate the application -s or --stay: Keep the application activated after closing the file -h or --help: Show help (this message) and exit -v or --version: Show version and exit--wait is implied if reading from stdin. Use --stay to not switch backto the terminal when a file is closed (only relevant if waiting for a file).Filenames may be given a :line or :line:column suffix to open at a specificlocation.mba:bin gerryyang$ subl -vSublime Text 2 Build 2221mba:bin gerryyang$
在st2編寫golang的模樣:
5 進一步的使用
Start by taking A Tour of Go.
Build a web application by following the WikiTutorial.
Read Effective Go to learn about writingidiomatic Go code.
For the full story, consult Go's extensive documentation.
Subscribe to thegolang-announcemailing list to be notified when a new stable version of Go is released.
6 參考
[1] http://golang.org/
[2] https://github.com/Unknwon/go-fundamental-programming go編程基礎
[3] http://www.sublimetext.com/ st2首頁
[4] http://lucifr.com/2011/08/31/sublime-text-2-tricks-and-tips/ Sublime Text 2 入門及技巧
[5] http://lucifr.com/tags/sublime-text/ 更多st2的文章