沒穿方服

封存

顯示╱隱藏內文

寫個 script 在 shell 透過 rhino.jar 跑 fulljslint.js,在 Vim 也寫個 function 呼叫它,於是可以用 quickfix window 除錯。

就像有個超級不吝指教的真人陪你寫程式

...攤開這篇文章繼續閱讀關閉

取得檔案

工作滿一年

  • 還經常冒出剛找到工作的爽爽心情
    • 回家在公車上會忍不住偷笑。(不過可以搭公車的這間倒了……)
    • 從洗手間走回辦公室也莫名地樂。
    • 應該是同事都很夢幻的緣故。
  • 剛開始還覺得上班跟自己在家做的事差不多,就是有錢拿
    • 久了技術有進步,不過作品都不能表達自己,這麼說也就沒什麼了不起的事。
    • 所以不上班也可能更好。
  • 某些場合還是會發現自己的缺點
    • 以前發現的、不能改的就當作人格特質,所以年紀到了就不該有新的缺點才是。
    • 這時發現技術不能解決的問題就毀了。

此外未滿七個月就拿不到失業救濟金這回事,也是難得的爛經驗。

左邊會顯示 mark 位置

在沒有規則的位置間移動

雖然 ``ga 等跳轉指令有不少,但是要跳到沒特殊意義的位置——例如「剛剛有看到,不過具體看到什麼完全沒印象」——這種情形除了 mark 應該也沒有更好的解了。

於是用 mamb、……放了幾個 mark,結果更難用:

  1. 視覺上看不見哪兒有 mark,所以不知道某 mark 的位置,比方 `b 會跳到哪裡去。
    事實上按了 ` 之後,就會卡在不知道要按哪個字母。
  2. 不知道哪些 mark 已經用過,例如下 md 的時候要擔心會不會蓋掉舊的。
    事實上按了 m 之後,就會卡在不知道要按哪個字母。
...攤開這篇文章繼續閱讀關閉

煩惱許久的需求—— git difftool, open all diff files immediately, not in serial - Stack Overflow。具體狀況是:用 git-difftool 呼叫 vimdiff 看變更,會重複「2 files to edit ~ 自動進入 Vim 比較一個檔案 ~ 手動離開 Vim」這個流程,有 10 個(變更的)檔案就會重複 10 次,而且中間不知道怎麼停下來……

原文的解法我沒試成功,而是靠之前寫的 function,加上在 .zshrc 裡設定:

alias gitdiffall='vim -p `git diff --name-only` -c "tabdo GitDiff" -c "tabfirst"'

之後只要輸入指令 gitdiffall 即可。

檔案改到一半發現自己失憶,忘記改了哪些東西,只好跟上次 git push 的狀態比較看看了。

正統作法是在 shell 下指令 git diff,或下 git difftool 用 vimdiff 分割視窗顯示,如下圖,前者在檔案多時容易快速概觀,但單一檔案時還是 vimdiff 方便。

...攤開這篇文章繼續閱讀關閉

Vim 簡短入門提示

艱難學習至今,提出三項。


<Esc> 難按

切換 normal mode 是最硬的基本技,<Esc> 不快你立馬被打爆。
可以用 <C-[> 取代,或配合 <Leader>(預設是 \,Enter 鍵是一字或 L 型會影響其手感)或 <LocalLeader> 鍵。
例:按兩下 , 即進入 normal mode

let maplocalleader = ","
noremap  <LocalLeader>, <C-\><C-N>
noremap! <LocalLeader>, <C-\><C-N>
...攤開這篇文章繼續閱讀關閉

部分操作會將相關資訊暫存備用,例如 d 掉的文字會被放進 register 變數,以便之後貼上。

執行 vim script(例如自訂的 map)時若做了這類操作,便可能把本來的 register 等資料蓋掉。以下幾個 function 先將暫存資訊另存,以供 script 結束後還原。

...攤開這篇文章繼續閱讀關閉

一般選擇連續多行的註解時,會按 V 進入 visual mode,然後移動游標框住想要的;行數一多,懶惰就出現了。

...攤開這篇文章繼續閱讀關閉

以前都靠 PSPad 用來製作 bookmarklet 的簡易 script,現在改讓 Vim 處理。

:Bookmarklet 沒錯誤的話即出現此視窗
...攤開這篇文章繼續閱讀關閉

註:僅測試於 Cygwin console Vim + Windows 版的 java,其他環境只測過 Win32 gVim ——失敗。

通用的解決方案請參考 othree 寫的 Vim 儲存完 JavaScript 檔案後自動用 yuicompressor
本篇特徵為:

...攤開這篇文章繼續閱讀關閉

Color scheme: bootleg

用了半年的 Vim,一向認為預設的 slate 加上少許自訂就相當管用,不必再創招煩人了。
直到開始調 gVim,才發現 gui 配色跟 term 實在差很多……
(對付此問題可參考依云寫的 gui2term.py,由 gui 轉出 256 term 的配色。 ——只可惜我的需求是 term2gui)

8/22 放上自訂的 colorscheme bootleg(不是 bootleq 喔)

...攤開這篇文章繼續閱讀關閉

Vim Tips Wiki 已經有一篇 CamelCase to under lined and vice versa 提供 visual mode 用的兩份 map。

這篇則是在 normal mode 取得游標所在的 word,若符合 CamelCase 或 under_score 型式便直接變更文字。

特別考慮游標不在 keyword 上的情形,例如 <camelCase>,游標在 < 上也能轉換。
但游標在行尾時,因為 non-blank 的字皆被 <cword> 接受,就先不研究怎麼排除 non-keyword 了。

原始碼:gist: 541723 - [.vimrc] toggle between CamelCased/under_scored word

TYPE IV~沒穿方服~ 從地下的屍體放置場冒出來的僵屍,即使已經死了,但還保留著吃東西的本能。 
文獻來自 PS 恐怖遊戲之非官方印刷品。

遊戲結局數分鐘前才登場的 lo-fi 多邊形喪屍,已經失去 9 成以上的嚇人能力,然後惡靈古堡就爆炸了。

跟洋館的怪物相比實在是很無味的角色,幸好有個多麼好聽的名字而被人記住。

編譯沒有 gui 的 Vim 7.3,無特殊需求,純升級。

...攤開這篇文章繼續閱讀關閉

FuzzyFinder 找分頁

如果用了之前寫的 Vim 分頁列(tabline)設定,script 空間就會出現變數 s:tabLineTabs,內含所有分頁編號、檔名等資料。

於是可以用 FuzzyFinder 尋找分頁,例如 map <Leader>fg 叫出下面選單:

僅供參考,某些檔案是沒法用 Vim 編輯的
...攤開這篇文章繼續閱讀關閉

預設分頁列的不足

  1. 無顯示分頁編號。想用 Ngt 跳到第 N 個分頁時,不易判斷 N 要下多少。
  2. 分頁很多時,超出畫面外的分頁無法顯示。(gVim 會顯示捲動按鈕,故無此問題)
原始的 tabline
...攤開這篇文章繼續閱讀關閉

Vim 外掛程式 FuzzyFinder 實在方便。(但這篇不含介紹)

除了找檔案、buffer、help 等 13 目標外,亦有 API 讓其他資料享用其搜尋介面。

以下使用 FuzzyFinder 的 Callback-Item 模式,列出所有 register,選取項目並開啟時,便直接貼上 register 內容,或噴到一個新視窗(可編輯後再手動 :%y x 存回 x register)。 尚有毛病但還堪用。

...攤開這篇文章繼續閱讀關閉

2016-08-06: 新版的 Vim 已支援 TabClosed 事件,更正確/簡單的實作見 Vim 7.4.2077 新增 TabClosed 事件

網路上有看到在 TabLeave 時,記錄最後 tab 編號的方法;缺點是 tab 關閉時,次序就亂了。

可能的困難是沒有 TabClose 事件,既有的 TabLeave 和 TabEnter 要判斷 tab 關閉又有點麻煩。例如開了 4 個 tab,關閉 tab 3 時,會進入 TabLeave,再 TabEnter 到 tab 4,這時 tabpagenr() 還是 4 —— 也就是會先進旁邊的 tab,TabEnter 事件後 tab 總數才會減少,而不是先關閉 tab 再移動。

...攤開這篇文章繼續閱讀關閉

我認為眼鏡行只要別破壞市容就謝天謝地了,所以傾向支持外觀比較乾淨的某連鎖店。
可惜專業程度的落差,堅持之餘還是失守了……生活品質啊,一團瘴氣。

  大眼鏡 創眼鏡
服務態度 不錯,隨店員而異 禮尚往來,細心解說
驗光 每次驗都不一樣,且度數都超過實際值(要配新的囉) 一次就發現配太重
重新驗光 有點不耐 沒驗幾次,也不需要
我懷疑多焦點鏡片有角度差異 不會呀,沒有這種問題 有問題(拿出鏡片講解),且不是人人能適應
舊的鏡片 沒問我怎麼處理。
後來要找,從垃圾桶翻出來……
包裝好歸還
新鏡片度數不適應 請我跑診所檢查,事後在店裡發現是鏡架調整問題 商量之下,讓我換了一副,不過有貼錢
價格 沒感覺 似乎有點貴,不出名的品牌
爛藝人海報、看板 這間還算窗明几淨 大量噁心海報。
經老闆說明現狀、成因,雙方溝通後,已成功徹下指標性的嫌惡廣告

週末讀到 par 這個小巧指令,用於文字段落(paragraph)的格式化,例如在 Vim 裡面用 :'<,'>!par 把選取區內特定格式的段落重排。

看看 Descripton 裡的範例 Par 1.52 - paragraph reformatter 便能大概瞭解其用途。
有趣的是說明文件 par.doc,以我水平實在難懂,好像不屬這世界的寫法;如做智力測驗題目的兒時記憶,讓我半夜對著螢幕靜靜傻笑。

以上樂趣分享,以下簡易筆記(私用性質,請小心誤導

...攤開這篇文章繼續閱讀關閉

MooTools 備有不少 plugin 在所謂 MooTools More,官網亦提供 More Builder 方便自訂下載。

不過若要下載 1)整套 More 所有元件,或 2)最新開發版本 有沒有簡單辦法呢?

寫這篇時才發現,原來 download 頁就有「Edge Build」可以抓最新 core build ,把網址 core 換成 more 應該就是最新的 More 了(其實也不確定,沒看到說明)

...攤開這篇文章繼續閱讀關閉