2013年5月29日 星期三

有趣的專利

今天看到2個專利的討論, 記錄一下

(1)電子工程專輯的 醬也行?--有趣“瘋狂專利”分享
原始來源:What were they thinking: Confessing to an apparition

(2)Cash's Blog的UIBC小註解
UIBC 是指 User Input Back Channel,用在 WIFI Display 的情境之下. 由於顯示裝置 (AV sink device) 和發送裝置 (AV source device) 只能透過無線傳輸,所以從顯示裝置反過來操作發送裝置的話,就叫做 UIBC。
Samsung的專利 Method and apparatus for providing user input back channel in audio/video system
專利公開:US20110107388 A1

2013年5月26日 星期日

ctags在vim裏的常用操作

最近又開始想用vim+ctags功能了, 紀錄一下常用的快速指令囉!

ctags in vim
Keyboard Command Action
Ctrl-] 或是 Ctrl-Left_MouseClick 跳到tag所定義的地方
Ctrl-t 或是 Ctrl-Right_MouseClick          返回
:ts <tag>  <RET> Search for a particular tag
:tn Go to the next definition for the last tag
:tp Go to the previous definition for the last tag
:ts List all of the definitions of the last tag

cscope_maps.vim plugin
這邊的用法是Ctrl+\按完後, 全放開, 再去按後面的字母

ctrl+\ s    "s表Symbol,列出所有參考到游標所在字串的地方,包含定義和呼叫。
ctrl+\ g    "g表Global,與ctags的Ctrl+]相同。
ctrl+\ c    "c表Caller,列出所有會呼叫到以游標所在字串當函數名的地方。
ctrl+\ t     "t表Text,列出專案中所有出現游標所在字串的地方。
ctrl+\ f     "f表File,以游標所在字串當檔名,開啟之。
ctrl+\ i     "i表Include,以游標所在字串當檔名,列出所有include此檔的檔案。
ctrl+\ d    "d表calleD,以游標所在字串當函式名,列出所有此函式內呼叫的函式。

在使用cscope時,需注意,cscope.out這個資料庫是否有被connect起來,如果沒有connect那搜尋功能當然就會失效。
發現一件事情,ctags的關聯都是用絕對路徑的,所以就算我任意切目錄,只要database有認到就沒問題。
但是cscope看起來是不行的,它用相對路徑的,一切目錄,就算database認到了,看起來也開不了檔案。

Vim 快速指令
在command mode底下(不用打:)
gf (goto file)
  比如:當你的游標停在#include , 此時直接打gf, 就會自動幫你開啟該header file
  先決條件是,你必需先指定好path, 參考方法是":set path=include;/usr/include"
  當你要返回時,使用ctrl+o返回
* 搜尋字串
  游標停在你要尋找的字串上,直接按shift+8(相當於按*),
  然後就可以用n往下搜尋,按N往上搜尋了
gd 查區域變數, gD查全域變數
  追蹤某個變數宣告時,可以用gd或gD去跳轉
% 括號跳轉
  有時function非常的長, 每次都要用page up/down一直換頁, 還要擔心跳過頭
  %可以幫你直接跳到左括號或右括號上, 也適用於C的#def喔.
  當然, 同樣的你要先把游標移到括號上喔.
mx及'x   標記及返回
          你可以在任意地方標記該行, 然後亂跑後, 再打'x來返回剛剛標記的地方

Linux Trace Tool Introduction