創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2018年12月23日 星期日

既古老又現代的編輯器Vim

VI是個具有悠久歷史的文字編輯器,有不少後繼的版本,其中較廣為人知的當屬Vim,以及有圖形界面的gVim。雖然在當代的電腦圖形環境中不乏好用又精美的文字編輯器,但在某些較特別的情形下,這些優良的軟體卻派不上用場,譬如在無圖形環境的服務器或是透過終端機連線的時候。在這類情況下若想修改某個文字檔,VI或是Vim無疑是最廣泛使用的編輯器。

由於Vim是當前最普遍可見的VI後續改良版本,為簡化文字敘述,在本文以下提及Vim時,在某些情況下這詞也同時代表了VI與其他後繼版本,如gVim。

Vim經過數十年的發展,不僅兼顧了早期終端機連線時代的使用習慣,也加入了現代使用的考量,有相當多樣的擴充性,在近年更是篷勃發展,特別是Vim 8版開始。這一方面要得力於它本身是開源軟體,另一方面則是因為不少專業程序員使用Vim (Real programmers use Vim.)。一般使用者大概不會想去使用Vim,也沒這個必要,通常是程序員或是相關技術人員才用的。

據親身觀察,不少剛接觸Vim的使用者,在沒有獲得合適指導的情形下,往往心生排斥,認為Vim很難學。事實上若能領悟它的設計邏輯,了解它為何這麼設計,從這方面去思考,學習上並沒有那麼難,只要學得入門的一些基本操作,很快就可體會到它的強大。VI發展於1970年代,那時期的電腦鍵盤沒像現代有這麼多按鍵,有些符號的位置也稍有不同(圖1),滑鼠既不普遍長相也與現代大不相同,所以在當時設計出來的VI,自然是不動用滑鼠而在只使用一些基本按鍵的條件下就可完成相當複雜的工作,而且無須讓手遠離鍵盤的Home row(圖2)。(這兩張圖片的來源:Wikimedia Commons

圖1

圖2

當然Vim有許多功能並不是可一夕可學完的,即使是使用了幾十年也開班授課的專業人員,也不見得會全部功能。事實上只要學會常用或是夠用的部分就已足夠,其他用不著的學了也用不著又何必學?等到有必要時再去查用法即可。

Vim可在目前所有主流作業平台上使用,包括手機與平板。還有相當豐富的文件與使用者社群,以下會列出部分。相關實體書籍則可在天瓏書局找到一些。

2018年12月18日 星期二

Ubuntu 18.04安裝OpenJDK 11

因為Java 10版有個bug致Freeplane 1.7版無法在這版上執行[1],而Ubuntu 18.04採用了OpenJDK SRU exception的作法,在目前時間點所裝的openjdk-jre-11實際上還是10版[2],而且改成11版的時程在目前仍未知。

為了可以在Ubuntu 18.04上順利使用Freeplane 1.7版,只好先自行安裝openjdk-jre-11。有不同的作法,這裡只採用其中之一。這個只是暫時性的作法,Canonical公司早晚還是會完成換版的工作,到時就沒必要這麼做了。

2018年12月9日 星期日

UEFI機器開機無法進入BIOS設置畫面

雖然UEFI的規格已提出多年,但一直以來都還不是個很可靠的方式(也許最近有再改善),各家硬體廠商對這方面的設計與作法可能有點差別;簡單說你的電腦或是軟體上做了某個與UEFI相關的設置,在某個廠牌的機器運作良好,在另一廠牌的機器卻可能不適用而凸槌。更糟的是,還有可能出現讓人難以置信的狀況:進不了BIOS設置畫面。乍看之下也許不可思議,但在一年多前我親身經歷了這個狀況,事後上網搜索了一下,發現了一些類似案例,其中甚至還有令人覺得好笑的。

2018年11月27日 星期二

整合式開發環境Lazarus

摘要

Lazarus是類似Delphi的快速應用發展的整合開發環境,與Delphi不同的是,它是採用同樣是開放源碼的Free Pascal編譯器。由於Free Pascal支援相當多的處理器架構與作業系統,Lazarus也支援了目前的幾個主流作業系統。Peazip就是以Lazarus開發製作的,Lazarus Application Gallery中還有不少以Lazarus開發的軟體的展示,從中還可以發現一些很有意思的軟體。

雖然object pascal在目前並非流行的編程語言,相關的開發工具使用者群體,遠遠不及其他流行語言的群體,Lazarus用戶更是其中的小眾群體。但Free Pascal/Lazarus的跨平台編譯功能卻是領先了一些商業版開發軟體好幾年,連Delphi當年開發Mac版編譯器都得益於Free Pascal的開放源碼。且Lazarus這開發環境非常方便,也支援多種資料庫,可開發桌面、手機甚至網站應用,還有不少相關資源可運用,對於熟悉object pascal語言的開發者而言,它是個強大的開發工具。

自己之前用了Lazarus好多年,曾記錄了一些相關網路資源,整理一下數量還不少。雖然近年來自己大多使用Python,已逐漸少有機會使用Lazarus,不過這些東西或許往後哪天還是會用得到也說不定。

以下是所整理相關網路資源的一部分,有些連結的內容可能隨著時間過去會有點老舊:

2018年11月11日 星期日

Open-Shell-Menu:微軟視窗作業系統的另類開始選單

雖然Windows 10已經出來這麼久,也依“民意”重新加入了開始選單,但我觀察到一些使用者,還是會另行安裝其他種開始選單軟體,不論是商業版或是自由開源版。過去很多年從Windows 7開始到現在的Windows 10,我一直慣用Classic Shell,這樣做有個好處,不論Windows如何改版,界面設計做了多次變動,我仍然可以沿用一貫的使用習慣。

2018年10月27日 星期六

NirLauncher:200多支免費工具程式集

Nir Sofer製作了不少免費工具軟體讓人使用,自己在十幾年前就用過其中一些,直到現在這些免費軟體的數量已多達200多支。若要使用這些軟體,可以自行在NirSoft網站找尋需要的軟體並下載使用;或是直接下載NirLauncher,這是集合這200多支小工具於一身的軟體包,並附上一個圖形界面以用途分類並顯示每個工具程式的描述,也用來啟動程式。

在NirLauncher的網頁上有提到使用授權,除了其中的NK2Edit若使用在公司/商業組織必須購買商業授權,其他皆可免費使用。

這麼多的工具程式並非每個人都用得著,可從中挑選適用自己的東西,以下是自己較常用的部分工具:

2018年10月13日 星期六

輕量開源的下載管理器uGet

下載管理器(早期大多稱呼為續傳軟體)有相當多選擇,過去自己也用過不少種,從商業軟體到免費軟體或是開放源碼的都有。uGet是我近年來才採用的,開放源碼,輕量不耗資源,功能強大。它的開發歷史到目前為止約有15年了,創立者是位華人。