標籤:

環境與工具2:建立高效的mac環境

你的工作與生活離不開電腦,電腦是一個工具,也是一個環境。環境是不是綠水青山,是不是得心應手,這是很重要的事情。小程平時使用macbook來學習跟娛樂,最近重裝了系統,很多環境與工具都需要重新組建。

那麼重裝系統後,或者對於一個全新的macos系統,需要配置什麼樣的軟體環境或者設置後,才能做到得心應手,指哪打哪呢?

小程從實用的角度出發,介紹如何組建一個高效順心的開發與娛樂環境。

(1)輸入法

小程覺得,打字是基本的需求,讀者應該選擇一個適合自己的輸入法。可以打開Safari(mac系統自帶的瀏覽器),搜索「mac輸入法」,選擇一個適合自己的輸入法。

如果讀者用的是五筆輸入法,那應該選擇一個拼音與五筆可以混合輸入(或者可以設置)的輸入法,比如搜狗五筆輸入法。之所以選擇拼音與五筆混合,是因為經常使用五筆的人,也有可能想不起字是怎麼寫的,但卻知道怎麼讀,那這個時候就可以用拼音來補救了。

比如:

(2)斷點續傳軟體

在配置軟體環境時,經常有下載的需求,為了避免幾天都下載不了一個軟體的情況,選擇一個支持斷點續傳而且速度快的下載軟體,是有必要的,比如迅雷是一個不錯的選擇。

(2)git環境

git最大的一個作用是版本控制,但對於小程來說,它最大的一個好處是可以快速提交小程的個人資料以及任何的修改。有了它,不再需要U盤,也不用擔心在家或在公司的修改會導致衝突的問題。當然,使用git的前提,是有一個git的伺服器。

一般來說,bitbucket,一個能夠以git管理資料的伺服器,可能就是讀者想要的,因為它是工作或學習的移動存儲空間,而且提供免費的私有項目(相對而言,github的私有項目是要收錢的)。

對於git的客戶端,在mac系統自帶的terminal上,打下git命令並回車後,mac系統會提示安裝Xcode(集成了git的集成開發環境)或者它的Command Line Tools,讀者可以在AppStroe中安裝Xcode(然後在Xcode的偏好設置,下載入口,再安裝command line tools),也可以簡單地,安裝command line tools就好,只需要跟著系統的提示來弄即可。

當然,客戶端上,也可以使用圖形化的git管理工具,比如sourcetree等。

具備git伺服器,以及git客戶端後,就可以提交或獲取重要的資料了。但前提是,讀者要在需要的時候,「記得」這個git項目的url與密碼,對於這個信息,小程覺得可以存在手機裡面吧。

但也請留意,公司的項目不應該提交到私人的git項目,除非公司授權或默認許可。

(3)雲盤

讀者可能有很多常用的軟體安裝包,或者常用的設置文件,把這些資料都放在git項目中是不恰當的,因為一個安裝包就可能幾百兆。這個時候,一些免費的或收費的雲盤就發揮作用了,比如百度網盤。

下載雲盤客戶端,然後從中取出需要的安裝包、學習視頻等資料,平時不常用的資料也可以移到雲盤,以節省本地磁碟空間的佔用。

比如小程使用的百度網盤的一個截圖(是的,本文所有具體軟體都有打廣告之嫌):

(4)alfred

alfred是mac電腦上的一大利器,小程強烈推薦。

alfred是哪方面的利器呢,這個要看它能做什麼事情,這裡列舉一些alfred能做的事情,有一些是alfred藉助插件擴展的事情。

注意,alfred的啟用都以「alt+空格」來觸發。

根據名字快速定位本地資源(文件夾或文件)

查找包括特定字元串的文件

默認已經設置好了,你也可以再設置一下,請參考下面的截圖說明:

快速切換、打開、關閉軟體

切換或打開一個軟體,只需要輸入這個軟體的關鍵字再回車即可,小程很多時候用這個來替換「cmd+tab」按鍵,更加不會用到滑鼠。

對於關閉軟體,需要自己實現workflow,當然也可以直接下載別人分享的workflow,比如這個:

說到這裡,讀者應該可以猜測到,alfred強大的地方,在於它支持workflow(工作流程),而workflow是可以自己寫的,而且有大量實用的workflow已經被分享出來。

讀者可以在這個地址,找到自己想要的workflow,包括現在提到的「關閉軟體」功能的workflow: alfredworkflow.com/

當然,讀者也可以在網上搜索一些有趣的workflow。

在本地查找api介面(c/c++/ios/android/git等)

對於程序員來說,查看某個sdk的介面,是經常要做的事情。

你需要先安裝dash(在百度搜索「mac dash」下載安裝包),然後再安裝使用dash的workflow(在上面介紹的網址可以找到):

即時翻譯單詞並拷貝翻譯結果

比如你可以下載「有道翻譯」的workflow,再使用:

md5計算

定位到文件後,直接用sublime打開

查找地圖、ip、書籍、電影、天氣、快遞信息等

在stackOverflow上搜索關鍵詞

中/英翻譯大段文字

新聞、bbs閱讀

數學計算

autojump

以上這些功能,小程不一一演示了,你如果需要幫助,也可以關注「廣州小程」微信公眾號並留言,在能力範圍內的,小程會給予幫助。

因為alfred提供了workflow的腳本支持,所以想要實現什麼功能,只需要寫一個workflow就可以了,所以定製自己的智能化的程序是很方便的。

有了alfred(再加上其它軟體),小程基本上不用動滑鼠(截圖除外)。

那麼,怎麼寫一個workflow呢?

在這裡作一個示例,用alfred來實現「文字轉圖片」的功能。

先演示一下,使用的效果:

你可以選擇適合自己的腳本語言來寫程序,這裡選擇python來實現,這是alfred支持的一種語言。

有兩個程序要寫。

一個是創建圖片,並且設置圖片的背景顏色與字體的顏色,再把輸入的文字寫到圖片。

另一個程序,是打開圖片,把文字顯示出來。

馬上開工,先是創建文字圖片(保存為text_to_image.py):

# -*- coding: utf-8 -*-
from PIL import Image,ImageDraw,ImageFont
from bs4 import BeautifulSoup
import sys

g_temppng=tempclip.png

def cal_text_length(text):
en_text_length=13
zh_text_length=18
zh_text_size=3
offset=8
if BeautifulSoup(text, "html.parser").originalEncoding==utf-8:
w=zh_text_length*text.__len__()/zh_text_size+offset
else:
w=en_text_length*text.__len__()
return w

def generate_image(text,background_color,fill_color):
height=128
font_size=18
w=cal_text_length(text)
width_=w+50
img=Image.new(RGB,(width,height),background_color)
draw=ImageDraw.Draw(img)
text_to_draw=unicode(text,utf-8)
font = ImageFont.truetype(/Library/Fonts/YaHei.Consolas.ttf, font_size)
draw.text(((width - w) / 2, (height - font_size) / 2), text_to_draw, font=font, fill=fill_color)
del draw
img.save(g_temppng)

if __name__ == __main__:
text="no input"
if len(sys.argv)>1:
text=sys.argv[1]
generate_image(text,#000000,#ffffff)

然後是打開圖片(保存為image_open.py):

# -*- coding: utf-8 -*-
from PIL import Image

g_temppng=tempclip.png
if __name__ == __main__:
img=Image.open(g_temppng)
img.show()

最後,為了能快速運行這兩個程序,alfred要上場了。

在alfred的Workflows頁面,創建一個workfolw並進行設置,參考下面的截圖:

這個workflow的目錄結構是這樣的:

然後就可以通過alfred快速地輸入關鍵字(ti),再輸入圖片文字了,比如:

再通過alfred快速輸入關鍵字(io),打開圖片,比如(敲入io後):

如果讀者想測試這個例子,那需要準備python的環境,比如安裝PIL庫:

pip install Pillow

小程這裡不展開了。

alfred的使用就介紹到這裡,而alfred的功能還有很多,這些功能值得你去探索。

(5)iTerm2

macos自帶的終端叫terminal,習慣使用命令行的你一定接觸過。小程這裡介紹另一個比terminal更大氣更好使的終端程序,叫iTerm。

http://www.iterm2.com,在這個地址下載最新版本的iTerm2,並安裝。

之所以說iTerm2大氣,是因為它有很多選項可以設置,而外觀上的設置,可以讓它變得很大氣。iTerm提供「主題」的概念,可以創建多個主題並且使用不同的設置。一般來說,為了美觀,文字與窗口大小是需要重新設置的,另外還可以設置背景圖等。這裡給了一個簡單的設置截圖:

你有可能會說:「我並不擅長配置顏色啊!」 那也沒有關係,因為已經有好心人分享了一系列的配色方案了,你只需要下載來使用即可。可以在github.com/mbadolato/iT下載,然後選擇配色,如下面的截圖:

介紹完外形後,就是iTerm的使用操作了,小程介紹一下iTerm常用的一些操作鍵,你可以選擇使用,請參考這個截圖:

(5)shell程序之omz

iTerm或terminal都是一個殼,真正使用的是腳本程序。默認的情況下,他們使用的是bash腳本程序,這是一個很常用的腳本程序,bash程序對應的配置文件是~/.bash_profile。

除了bash,還有什麼shell腳本程序嗎?你可以使用cat /etc/shells,來查看一下,比如下面的截圖:

小程要介紹的shell程序是zsh,zsh對應的配置文件是~/.zshrc。

先切換至zsh腳本程序:

chsh -s /bin/zsh # chsh -s 切換shell程序

source ~/.zshrc # 使當前窗口生效,也可以不執行這個,但需要重新打開一個窗口才能生效

相比於bash來說,zsh有什麼特別的地方嗎?一來zsh兼容了bash的功能,二來zsh有更多的功能,比如:

記憶功能:輸入關鍵字後按上下箭頭查看。

補全功能:輸入關鍵字後按一下或兩下tab鍵,按ctrl+n/p或者tab/shift+tab來選擇。

選擇zsh的另一個強大的原因是,基於zsh,有一個開源項目叫oh-my-zsh,簡稱omz,這個項目集成了各種主題(配色方案等)與及各種插件的支持,可以讓你的iTerm色彩豐富,而且功能變得更強大。

切換至zsh後,這樣安裝omz:

sh -c "$(curl -fsSL raw.githubusercontent.com)"

這個安裝需要使用到command line developer tools,如果還沒有安裝過,則點擊彈框的「繼續」安裝即可,但需要較長的時間。

安裝完omz後,就可以編輯配置文件:~/.zshrc,作一些主題的設置,並啟用一些自帶的插件了。比如,小程的主題設置這樣的:

再比如,小程使用的插件是這樣的:

上面的幾個插件中,git是在版本控制時經常使用的工具,你可以在~/.zshrc中加入下面這一句:

alias eg=vi ~/.oh-my-zsh/plugins/git/git.plugin.zsh

也就是加了一個命令的別名,之後只需要敲入eg就可以查看或設置git的各種快捷鍵了。

然後是autojump,使用這個插件前,除了像上面那樣啟用它之外,還要做一些操作:

brew install autojump

在.zshrc中加入一句:

[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh

讓配置生效後(使用source ~/.zshrc,或打開一個新的窗口),就可以使用autojump插件了:

d --這個命令返回最近進入的目錄

j xx --這個命令跳轉到xx目錄

只需要敲入j跟目錄名,就可以跳轉到目標目錄,而且目錄名支持模糊拼寫,甚至支持錯誤的拼寫,以後可以跟「cd」說byebye了(但前提是曾經有進入目標目錄)。

extract,這個插件,用於「萬能解壓」,只需要這樣就能解壓一個文件:

x aa.zip

最後再說一個web_search,這個插件,讓你可以在命令行中搜索關鍵字。可以看一下web_search的配置文件的內容(在~/.oh-my-zsh/plugins中找到web_search,裡面有它的配置文件):

也就是,可以類似這樣來搜索:

baidu hello

但最終還是打開默認的瀏覽器來顯示搜索內容,這樣的功能,小程更常用的辦法是使用alfred(上面有介紹到)。

至此,omz(基於zsh)腳本程序介紹完畢了。

(6)編輯軟體

作為程序員,最不爽的一件事是被親戚叫去修電腦。修電腦不是程序員的基本技能,而打字,卻是程序員的基本技能之一。

寫代碼、寫說明文檔、寫心得記錄等,打字都是必不可少。一個好的鍵盤是硬體上的需求,而一個好的編輯器則是軟體基礎的重要內容。

對於寫程序來說,用什麼編輯器,很多時候是很自然的結果。比如,如果是開發windows桌面軟體的,那自然就選擇微軟的集成開發環境即IDE了,諸如vc、vs之類;再比如xcode、android studio 之類的選擇,都跟開發平台直接相關。之所以選擇這些IDE,是因為它們不僅可以編輯代碼,而且還能編譯與調試程序,甚至可以直接運行程序到目標設備。集成而且靠譜,是IDE應該提供的特質。對於特定平台的大項目的開發,特別是團隊合作時,選擇一個統一而合適的IDE是必要的。

但是,如果是寫說明文檔,寫心得體會或文章編輯,用IDE就不是一個好的選擇,畢竟只用到了編輯的功能,沒有必要去啟動一個龐大的集成開發環境那麼笨拙而且操作緩慢。就算是要編譯調試,也是可以考慮用編輯器加編譯器或調試器的辦法來實現,而不使用IDE。

那麼,有什麼編輯器,是程序員可以選擇的呢?

小程這裡列舉一些:

notepad++

editplus

notepad2

ultraedit

vim

emacs

sublime ......

你現在使用的是哪個編輯器呢,歡迎留言告訴小程,並說說它的優勢。

以上選擇哪一個都可以,只要用得順手

當然,如果選擇一個跨平台的,有可能更好,因為換一個平台不必另擇新歡。

小程這裡只介紹sublimevim

(a)sublime text

sublime是一個容易上手而且能實實在在提高工作效率的工具,值得花時間去掌握,除非你已心有所屬。

原則上,在使用時,不要急著去操作,而是多想一想,是不是可以更省事地操作?是不是有更好用的插件等著我去用?

至於,具體如何使用sublime,搜索一下教程或經驗總結就好,實戰地用。

sublime的使用經驗不在這裡展開,但小程會介紹一個有趣的插件,即plantuml

有了plantuml,就可以寫代碼來繪圖。

安裝plantuml插件

在菜單tools中找到Command Palette(或者shift+cmd+p),輸入add repository並回車,輸入github.com/jvantuyl/sub並執行。

再次打開Command Palette(shift+cmd+p),輸入install package,選擇「Package control:install package」,執行完後,輸入diagram,再找到sublime_diagram_plugin並安裝。

重啟sublime,在Preferences -> Packages Setting,如果看到 Diagram,說明已經安裝成功。

安裝graphviz

plantuml需要繪圖工具庫graphviz的支持,安裝即可:

brew install graphviz

使用puml

新建一個file,開始寫代碼繪圖。按command+m,會顯示一個png圖,比如:

對於簡單的圖,puml是一個很好的選擇,但對於複雜的而且有方向指向的圖,別的工具很可能是更好的選擇。

(b)vim

vi,一個古老而聲名遠播的編輯器。它用鍵盤解決一切問題,可以讓人著迷。

vim的入門是有難度的。同樣,這裡不介紹它的學習,只是演示一下它的使用,你如果有興趣可以再深入了解。

macvim的演示

vim自帶的快捷操作,再加上各種插件的使用,可以讓寫代碼這件事變得很過癮。

(7)同步手機與電腦的軟體

在需要充分利用時間碎片的時代,在手機上寫文章或作記錄是經常的事。把電腦與手機的資料(筆記、圖片、電子書等)相互同步很可能是讀者提升能力的過程中需要滿足的需求。這時,需要選擇一個跨設備的同步軟體,比如百度網盤、有道雲筆記,等等。

小程曾經使用手機版的有道雲來寫文章(它支持md語法),然後再同步到mac電腦上。

(8)記錄任務的便利工具

這類型的工具有很多,小程使用的叫Pomotodo。這個工具可以做到番茄計時,還提供了統計等各種功能,如果能認真執行,相信是可以提高工作效率的。

但小程經常只使用到「記錄」這一個簡單的功能,比如下面示例:

(9)思維導圖

小程推薦的是xmind。

對於作計劃、方案分析、思路整理等等,xmind都是一個很好的選擇。

有時候,甚至可以說,xmind就是你的工作。

具體使用由讀者去探索,小程這裡只給出一個簡單的示例:

(10)畫圖工具

mac上的繪圖工具,小程這裡推薦幾個。

首先是draw.io,這個工具使用還是很簡單的,而且能滿足很大的需求,還能導成圖片。

然後是OmniGraffle,這個工具畫流程圖等是很專業的。

最後是startuml,從命名就能猜到是專畫uml圖的。

(11)截屏工具

相信你已經習慣用QQ或微信客戶端提供的截圖功能了,但是,如果小程不想啟動QQ或微信的話,那就不能使用它的功能了。其實,QQ有提供獨立的截圖工具,可以單獨下載下來使用,它的名字就叫「Jietu」,可以在這個網址下載:jietu.qq.com/

這個工具的功能已經足以應對讀者日常的截圖與編輯需要,可以說是功能比較強大,這時系統的快捷鍵截圖(比如shift+control+command+4,等等)已經弱爆了。

而且,這個載圖工具,還提供錄屏的功能,而且可以選擇窗口來錄屏(甚至可以支持滾屏錄製),而且還能保存成gif。不足的是,小程在選擇保存成mp4或mov格式時,都會崩潰,小程使用的是2.2.1版本。另外,在錄製前似乎不能設置採集的幀率,不過這個影響不大,不設置似乎更方便。

(12)錄屏工具

除了上面介紹的「Jietu」可以錄屏外,小程再推薦一個,叫licecap,可以設置一些屬性後再進行錄製。licecap直接保存為gif。

(13)gif工具

PicGIF,這個工具對視頻或批量圖片進行處理,最終生成gif。你也可以試下Gifski。

(14)vpn工具

對於某些資源,比如google的一些代碼庫等,需要用到代理才能下載到,所以選擇一個穩定的vpn也是一個基礎要求。

你可以使用chrome的插件sslspeedy,或全局的shadowsockX,如果你不差錢,也可以使用一些大牌子的vpn(當然是收費的),比如expressvpn等。

(15)word系列

在mac中,對於excel、word、ppt,小程還是建議使用回微軟的那一套。mac系統是可以安裝word系列的,比如:


至此,如何組建一個高效順心的開發與娛樂環境就介紹完畢了。

如果你覺得還有某些「必須」的工具想跟小程分享的話,歡迎留言,或許也能幫助到其它人。



推薦閱讀:

蘋果有哪些設計發布前大家覺得丑,發布後大家覺得美?
舍繁入簡致美無邊,聯想AIO 520C實測體驗
Mac 神兵利器(二) 極簡軟體清單
iOS 12 「捷徑」更新官方漢化了,分享一波規則
學習使用mac

TAG:Mac | 效率 |