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

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License