2017/12/30

第十一天:認識文字編輯器( 2018 iT邦幫忙鐵人賽-只要有心,人人都可以作卡米狗 )

markdown # 前言 其實我平常不會用記事本寫程式,就像設計師不會用小畫家工作一樣。 身為一個專業的碼農,各種工具當然都要摸過。一個軟體的功能越強大,介面就會越複雜。而介面複雜的軟體本來就比較難入門,教學時當然是從最簡單的開始教起。如果我一開始就教你 Photoshop,你可能會覺得太難而不願意學習,但你已經對記事本上手之後,開始感覺到記事本的功能性不足,就會想要使用更高級的工具。現階段你已經知道記事本的侷限,我們真的需要更高級的開發環境。 我了解,在你對一個東西不感興趣之前,我怎麼認真教你,你都不會願意吸收。所以我教的每個東西都會告訴你,為什麼你需要學這個。 # 認識文字編輯器 昨天說過,電腦儲存文字的方式是透過文字編碼的方式,用一堆位元來表示一個文字。如果一個檔案是以文字編碼的形式儲存的,稱為文字檔。 在電腦裡面,檔案被分為兩大類: - 文字檔:以文字編碼的形式儲存 - 二進位檔:其他編碼形式儲存 所有能夠編輯文字檔的程式都可以稱為文字編輯器,只是有些強大到你不會這麼稱呼他。不管啦,我就要叫他們為文字編輯器。 # 常見的文字編輯器 ![](https://4.bp.blogspot.com/-cCbaE3lO5JE/WkZpUBVWltI/AAAAAAAA_so/kjrnLNzDiNId5gN5A6GXGfi8a4at226dQCLcBGAs/s1600/Notepad.png) Notepad:Windows 內建的記事本,每個人的電腦裡都應該有。 ![](https://3.bp.blogspot.com/-qv6ORcP9rz8/WkZpjJeYXmI/AAAAAAAA_ss/7hoOOhL939UsR6rjXAXx1Y9LU7Ieqo_jwCLcBGAs/s1600/Notepad%252B%252B_Logo.png) Notepad++:這是我用的第一款文字編輯器,作者是台灣人,2003年發布第一版,印象中當年中文版的文字編輯器好像沒幾個。 ![](https://2.bp.blogspot.com/-y3WQhQka9Ko/WkZ2J4xruMI/AAAAAAAA_t4/O-gFxFkCUKQlQpzFEL3pKczbsFnhJELMwCLcBGAs/s1600/Sublime_Text_3_logo.png) Sublime_Text:2008年發布第一版,因為他是英文版的文字編輯器,所以我比較晚接觸。但是他功能確實強很多,主要是他有很多外掛可以安裝。 ![](https://3.bp.blogspot.com/-c-K4J1UBGt4/WkZ2fZkIqBI/AAAAAAAA_uE/KvkbaEpfv9s9uFbooKeb5lz0RgQAiwVaQCLcBGAs/s1600/Visual_Studio_Code_0.10.1_icon.png) Visual Studio Code:2015年發布第一版,由微軟開發的文字編輯器,我最近是用這款。 ![](https://1.bp.blogspot.com/-uL3M9Y-Fd4U/WkZ2RalRqLI/AAAAAAAA_t8/59TCfrOhhhIpJhkkw7e_WASHyjqrqB2cwCLcBGAs/s1600/Vim_gloss_128.png) Vim:1991年發布第一版,聽說神人都用這款。他的特徵是純文字介面,就是跟小黑框一樣的純文字介面。為什麼神人都用這款呢?因為他的客製化可以非常高,如果文字編輯器是工程師手上的武器,那麼他就是會隨著工程師的強度進化的武器。根據神人的說法:「只要用這款,我就不用浪費時間把手從鍵盤移動到滑鼠上囉。」 這邊附上神人的超簡明 Vim 操作介紹:[https://gitbook.tw/chapters/command-line/vim-introduction.html](https://gitbook.tw/chapters/command-line/vim-introduction.html)。 ![](https://4.bp.blogspot.com/-OcUWM0YMlZc/WkZ2Ywh2V7I/AAAAAAAA_uA/_EvzogAn07Y-pERrp0q79YoZOqSUqENkACLcBGAs/s1600/Atom_icon.png) Atom:2014年發布第一版,是由 Github 開發的文字編輯器,這款好像也蠻多人推的,但我還沒用所以不清楚。 ![](https://1.bp.blogspot.com/-PO6DL3wOnNs/WkaGWdRAhmI/AAAAAAAA_wI/oMQPOJqHG_ofxXcu-lVjpCnUISigsYpvACLcBGAs/s200/CvjNepWX.png) Cloud9 IDE:這是一款被 Amazon 買走的線上的文字編輯器,如果你用 Cloud9 IDE 做網站,你的電腦可以完全不用經歷我們前幾天講過的任何安裝流程,因為你的網頁檔是放在人家的主機裡,而他已經幫你安裝好開發環境,你只需要刷信用卡。若想試用這款,但你又沒有信用卡的朋友,請到這個地方填寫表單:[https://goo.gl/forms/JiKwS1ERpC8F7Yvn2](https://goo.gl/forms/JiKwS1ERpC8F7Yvn2)。 這些專門設計給碼農用的文字編輯器,功能都差不多就那幾樣,新手應該隨便撿一款都可以用得很爽。因為我接下來的文章會以 Sublime Text 做示範,所以今天先講怎麼安裝 Sublime Text。 # 安裝 Sublime Text 首先點開 [https://www.sublimetext.com/](https://www.sublimetext.com/)。 ![](https://4.bp.blogspot.com/-lxYEtinl68E/WkZzTtk6LrI/AAAAAAAA_tM/TUIECLydxiokiyF1kMVS11A1EaT2_IXXQCLcBGAs/s1600/1.jpg) 點 `DOWNLOAD FOR WINDOWS` 下載安裝檔,下載完成後點開安裝檔。 ![](https://2.bp.blogspot.com/-KR52hdHtk-c/WkZ0qLOmADI/AAAAAAAA_tY/ZsejthWnVJYpWSOH-cHDRhWnZaVaTKjRQCLcBGAs/s1600/2.jpg) 歡迎光臨,按 `Next`。 ![](https://2.bp.blogspot.com/--jIbe-nZzs0/WkZ0005rK8I/AAAAAAAA_tc/En-kS0rrPaA0bDHtrlkSfZOQtRRV-PfgACLcBGAs/s1600/3.jpg) 選擇安裝路徑,能不改就別改吧,按 `Next`。 ![](https://1.bp.blogspot.com/-0scia_lYKiY/WkZ1BM7BndI/AAAAAAAA_tk/43YobD-ajZAkEyLKtED80Hd9QTtTMHMLgCLcBGAs/s1600/4.jpg) 要不要加到右鍵選單上?這裡要打勾再按 `Next`。 ![](https://3.bp.blogspot.com/-ww87Fb0GObg/WkZ1Mpzb96I/AAAAAAAA_ts/9yDNY6omSwQNrh8_zzrYpMS8seYSuZY-QCLcBGAs/s1600/5.jpg) 確認點餐內容,按 `Install`。 ![](https://1.bp.blogspot.com/-cFePMsP-UNA/WkZ1bipojgI/AAAAAAAA_tw/KNpZuK7y4iQOkB9Bg86WSt0C8M9Ea18AQCLcBGAs/s1600/6.jpg) 安裝完成!馬上來試用看看。 # 開啟 Sublime Text 如果你在安裝的時候沒有切換目錄的話,他會在 `C:\Program Files\Sublime Text 3`。 ![](https://3.bp.blogspot.com/-pFguEHgLrF0/WkZ3aXdR90I/AAAAAAAA_uQ/eZiGCu-urYse0BNLlGJ8Ap46fT_mid9pgCLcBGAs/s1600/7.jpg) 點兩下 `sublime_text.exe` 就能開啟他了。 ![](https://2.bp.blogspot.com/-SQMGPHz5M_Y/WkZ372esDsI/AAAAAAAA_uY/QyZ15u4_170JRHdT7Skp6rMhHCXRPgq_QCLcBGAs/s1600/8.jpg) 這是開啟之後的畫面。 除了這樣開啟他之外,你也可以對想要編輯的檔案點右鍵: ![](https://2.bp.blogspot.com/-SSW_HhPu-Hk/WkZ4nxnK7sI/AAAAAAAA_uk/E5BO7tkivlIUjOR9dRG-OPQ-TquTnzejgCLcBGAs/s1600/9.jpg) 這是檔案總管,目前所在的目錄是:`C:\Ruby24-x64\lib\ruby\gems\2.4.0\gems\railties-5.1.4\lib\rails\templates\rails\welcome`,我正準備要編輯 index.html。 選單的第二項:`Open with Sublime Text`(用 Sublime Text 開啟),點下去。 ![](https://1.bp.blogspot.com/-g6yc1C4rR0g/WkZ5VBYacaI/AAAAAAAA_us/Og2FSw3rqWMHQsyVA1kUc45g4MfGFgfCQCLcBGAs/s1600/10.jpg) 喔喔!看到亂碼啦~這是因為我們使用了錯誤的文字編碼去解讀這個檔案。 # 介紹 Sublime Text ![](https://2.bp.blogspot.com/-8ov8M3Y8rFA/WkZ51UPs6SI/AAAAAAAA_uw/aGU6o34sAD8GfhOeCnIOZlxz-ihbvPc-gCLcBGAs/s1600/11.jpg) 左下角寫著 `UTF-8`,代表目前使用的文字編碼,我們可以把他換掉。 ![](https://2.bp.blogspot.com/-AXClU9F53Z8/WkZ6iGKXmPI/AAAAAAAA_vA/mjA28-tkFjANki0d6u1hHiD-yeSZA52AACLcBGAs/s1600/12.jpg) 點左上角的 `File`(檔案),然後選 `Reload with Encoding`(用文字編碼重新載入),再選 `Chinese Traditional(BIG5)`(繁體中文(BIG5))。 ![](https://3.bp.blogspot.com/-ZyHq2cCfXms/WkZ7F3YFuTI/AAAAAAAA_vI/HkMGp9u28Xo025lPWgP_2p7zx8hSaWh-gCLcBGAs/s1600/13.jpg) 看到「只要有心,人人都可以作卡米狗」了! 但是這是BIG5編碼下的結果,我們需要的是 UTF-8 下的「只要有心,人人都可以作卡米狗」,像這樣: ![](https://3.bp.blogspot.com/-uYTxy9AYYvI/WkZ8GZV452I/AAAAAAAA_vU/0qU81J7VRQYrf887m_lA3BX5mN4DBXVawCLcBGAs/s1600/14.jpg) 只要再次調整文字編碼就可以了。 ![](https://3.bp.blogspot.com/-rrnUOys-bXQ/WkZ9z_XPqQI/AAAAAAAA_vg/Fizb4tFr_aEhAkjLLgbp8tlXJIN_6cPcgCLcBGAs/s1600/15.jpg) 在後面多打一點字: ![](https://3.bp.blogspot.com/-6WzKivjFZRg/WkZ-1Nd7-MI/AAAAAAAA_vs/q_dQfM-rLNEM0Tjr5sQTMkVPVCtB-O8nACLcBGAs/s1600/16.jpg) 讓我們再次開啟網站伺服器,來檢查看看是不是成功修改。 # 開啟網頁伺服器 先開啟檔案總管(`Windows`+`E`),移動到 `D:\只要有心,人人都可以作卡米狗\ironman` 這個資料夾下。 ![](https://4.bp.blogspot.com/-0K2p1XKIVoo/WkUSutGw2tI/AAAAAAAA_qw/1n1_hO171uMh9PZZmjXtzAPTsaVzq34MQCLcBGAs/s1600/9.jpg) 然後在網址列輸入 `cmd` 開啟小黑框。 ``` D:\只要有心,人人都可以作卡米狗\ironman> ``` 輸入 `rails s`(rails server 的簡寫),然後按 `Enter`。 ``` D:\只要有心,人人都可以作卡米狗\ironman>rails s => Booting Puma => Rails 5.1.4 application starting in development => Run `rails server -h` for more startup options *** SIGUSR2 not implemented, signal based restart unavailable! *** SIGUSR1 not implemented, signal based restart unavailable! *** SIGHUP not implemented, signal based logs reopening unavailable! Puma starting in single mode... * Version 3.11.0 (ruby 2.4.2-p198), codename: Love Song * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://0.0.0.0:3000 Use Ctrl-C to stop ``` # 開啟網頁 點開[http://localhost:3000/](http://localhost:3000/)。 ![](https://4.bp.blogspot.com/-EqzwC4Fiph4/WkZ_WkshacI/AAAAAAAA_v0/YkM0iW4k_AcW7VKCQpO7qQnXwI8cQ_LOwCLcBGAs/s1600/17.jpg) 大成功! # 下集預告 由於我們已經同時擁有瀏覽器以及網頁伺服器,所以我們可以開始觀察 HTTP 協定到底是什麼囉,明天我們會用 Chrome 來觀察 HTTP 協定。

沒有留言: