Vimium 是 Chrome 的一款擴充套件,它借鑒了 Vim 的鍵位設計與操作邏輯,讓用戶只需要鍵盤便能執行分頁管理、連結點擊與頁面瀏覽等操作。

由於瀏覽器終究不等同編輯器,所以 Vimium 並沒有移植 Vim 所有的功能與指令。然而,即使只納入 Vim 的部分性質,Vimium 仍顯著改善了 Chrome 的鍵盤瀏覽體驗。以點擊連結為例,Chrome 的預設作法是慢慢用 Tab 切到連結位置;Vimium 則會自動標記視窗內的連結,用戶只要鍵入標記字符即可開啟連結。因為最多輸入三個字即可開啟連結,所以有時甚至比滑鼠點擊還迅速。

對於習慣鍵鼠操作卻有心學習 Vim 的用戶而言,一時要以 Vim 取代既有的工作流程,可能是繁瑣且費時的過程。若先從 Vimium 著手,在體驗鍵盤瀏覽網頁的流暢感之餘,也能讓 Vim 操作的抽象性質融入日常生活(例如:查資料與逛論壇)。待初探了 Vim 的設計緣由,再逐步精進其他操作模式,也不失為一種學習 Vim 的可行策略。

閱讀全文 »

上週碰到一個離奇的 bug,有支 nextflow 腳本可以順利執行,但會無聲無息地略過其中一個 process。該腳本執行後於終端吐出的訊息類似以下形式:

1
2
3
4
5
$ nextflow run workflow.nf
[3c/9ab742] process > a1 [100%] 1 of 1 ✔
[8e/4eg429] process > a2 [100%] 1 of 1 ✔
[- ] process > b1
[2f/0c0b71] process > c1 [100%] 1 of 1 ✔
閱讀全文 »

為什麼想以鍵盤瀏覽網頁?滑鼠是為簡化繁瑣的鍵入指令而生,也與圖形介面的發展相輔相成。因此,當代網頁本來就適合以滑鼠瀏覽,純靠瀏覽器有限的快捷鍵反倒綁手綁腳。

然而,有時擁有自己的風格比起事情做的有效率還重要。本文就是我對於「用鍵盤瀏覽網頁」這項風格的探索與總結。

Style over Substance. It doesn’t matter how well you do something, as long as you look good doing it. (格調重於成效,只要你作風有形,事情幹得怎麼樣並不要緊。)

The core rulebook for Cyberpunk 2020

閱讀全文 »

若數列某項兩側各數字的總和相同,則該項為數列的樞紐 (pivot)。給定一整數數列,判斷其是否含樞紐項。若有,求樞紐之索引值;若無,則回傳 -1

閱讀全文 »

依照第一章的推理,生物及其生理過程有賴大量原子參與,來抵銷個別原子的隨機行為,以維持生存所需的宏觀秩序。

乍看之下,這項推論似乎符合當代多數的生物學觀察。畢竟個體由無數細胞組成,而細胞又由多樣的園子、分子和聚合物構築。即使是維繫生存最基本的呼吸作用,也需要大量的分子參與。這些園子的數量大小,吻合統計物理的要求,能讓物理和化學過程順利運作。

然而,在這章當中,我們可以看到維繫遺傳的關鍵因素,基因,相較於其穩定性,卻令人訝異地有著幾乎無法維持嚴格統計定律的數量。

閱讀全文 »

國中時,剛看完《星艦迷航記VIII:戰鬥巡航》的我向學校裡最接近外星生物專家的生物老師詢問是否真有外星人,他告訴我地球外還有許多星球,如果沒有其他生命也太奇怪了。

如同我的生物老師所述,對於地外生命的信心有很大一部分是建立在數量上,既然宇宙已經誕生百餘億年,當中又充滿無數星系,很難想像當中不會有其他生命存在。

然而宇宙的尺度也是經學界漫長掙扎才逐漸變得清晰,早在人類只能以肉眼觀察世界的時候,滿天繁星已不計其數,甚至至今我們對於宇宙中有多少顆適居行星仍沒有精確的估計。

天文生物學的發展不只是事實的累積,也是世代人觀念轉變的結果。

閱讀全文 »

問題描述

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.

求數列內,和為目標值的兩數之座標

樣例

Input: nums = [3,2,4], target = 6
Output: [1,2]

限制

  • 2 <= nums.length <= 104:數列長度介於 2 至 104 之間
  • -109 <= nums[i] <= 109:數列各項可能有負值
  • -109 <= target <= 109:目標值可能為負值
  • Only one valid answer exists.:僅有一組解
閱讀全文 »

問題描述

Given the sorted rotated1 array nums of unique elements, return the minimum element of this array.

平移一嚴格遞增數列各項 n 單位後,求此數列的最小值

樣例

Input: nums = [3,4,5,1,2]
Output: 1

須留意幾個樣例:數列只含一項、數列只含兩項、平移後與原數列相同、最小值位於數列尾部

閱讀全文 »
0%