2011-08-18 聚會手記
**這個頁面不需註冊/登入也可以直接編輯的內容喔**
聚會期間會先用
http://pad.hackingthursday.org
來共筆打字,過一陣子後再整理更新至此頁
LCamel:
Vim / Emacs
啟動
vi
vi / vim
emacs
emacs (--daemon) / emacsclient -c -n
跳出
vi
ESC : q ENTER
emacs
C-x C-c
在 GUI 中用鍵盤叫出選單
vi
alt
emacs
M-` (alt-`) / F10
區塊編輯 (如在多行最前面插入 #)
vi
visual mode: http://vimdoc.sourceforge.net/htmldoc/visual.html
ESC 0 CTRL-V jj I # ESC
emacs
rectangle commands: http://www.gnu.org/s/libtool/manual/emacs/Rectangles.html
HOME shift-下下 M-x string-insert-rectangle <RET> # <RET>
Macro (重複動作)
如要在好幾行的結尾加上 #TODO
vi
http://vim.wikia.com/wiki/Macros
錄製 ESC q a $ a #TODO ESC j q
播放 @@
emacs
http://www.emacswiki.org/emacs/KeyboardMacros
錄製 C-x ( C-e #TODO C-n C-x )
播放 C-x e
Ben:
js class 有好多 implement 方法
最常見的是下面這種
// constructor aka init method
// 當 new 一個 person 在這裡面的 prop 都是屬於
// 自己的, 不共用
function Person( name, height ){
this.name = name;
this.height = height;
}
// 通常 method 都共用, 所以放 prototype 裡面
// 所以當你 new 一個 instance 然後改複寫其中一個 method
// 這樣所有 instance 就全都會被影響
// 反之當你有想要共通所有 instance 的 var 就可以放這裡
Person.prototype = {
get_name : function(){
return this.name;
},
set_name : function( name ){
this.name = name;
},
get_height : function(){
return this. height;
},
set_height : function( height ){
this. height = height;
}
};
// 繼承
function Soldier( weapon ){
this.weapon = weapon;
}
Soldier.prototype = new Person( 'dead name', 188 );
var ben = new Person( 'ben', 176 );
console.log( ben.get_name());
var hychen = new Person( 'hychen', 180 );
console.log( hychen.get_name());
Person.prototype.get_name = function(){
return 'whatever';
};
console.log( ben.get_name());
console.log( hychen.get_name());
hychen.get_name = function(){
return 'kkk';
};
console.log( ben.get_name());
console.log( hychen.get_name());
hychen:
emacs 是偽裝成編輯器的 OS
Mat:
我最常用的進階編輯模式有:
- 區塊編輯 ( Ctrl-V + I, d, p … )
- 紀錄模式 ( q-a …. q => macro-a, @a, @@ )
- 全域搜尋 ( vimgrep <keyword> **/*.cpp )
- location-list ( cn, cp, copen, … )
店家說之前休息的分店預計週末要再開張。若無意外的話,我們預計下下週換到新場地。
( 於下週確認 ready 後,會發通告通知大家 )
前陣子 survey Single-Sign-On 時,看到的 facebook 的介紹文件
http://developers.facebook.com/docs/authentication/
http://qa.debian.org/popcon.php?package=emacs21
http://qa.debian.org/popcon.php?package=emacs22
http://qa.debian.org/popcon.php?package=emacs23