¤Ü¤Á¤Ü¤Á»¶Êâ

Mac¤ÎGVim¤Çʸ»ú²½¤±¤·¤Ê¤¤¤è¤¦¤Ërefe.vim¤ò»È¤¦

¤Ê¤ó¤«¼ê´Ö¤¬¤«¤«¤Ã¤¿¤Î¤Ç¥á¥â¤·¤Æ¤ª¤¯¡¥

¥Ê¥ì¥Ã¥¸¥¨¡¼¥¹ - Vim¤Ç¥«¡¼¥½¥ë²¼¤Îñ¸ì¤«¤éRuby¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¸¡º÷¤ò¸«¤Æ¡¤Mac¤Ç¤ä¤Ã¤Æ¤ß¤è¤¦¤È»×¤Ã¤¿¤±¤É¤¤¤í¤¤¤í¤Ò¤Ã¤«¤«¤Ã¤¿¡¥´Ä¶­¤È¤·¤Æ¤Ï¡¤MacPorts¤ÇPrivatePortfile/Vim - MacPortsWiki-JP¤ò»È¤Ã¤Æ+cocoa+cscope+huge+kaoriya+multibyte+python+ruby¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿Vim¤È¡¤ruby¤Èrb-rubygemsÆþ¤ì¤Æ¤¢¤ë¡¥

¤Ç¡¤sudo gem install refe¤·¤ÆrefeÆþ¤ì¤Æ¡¤refe.vim - rails2u.com¤«¤érefe.vim¤ò»ý¤Ã¤Æ¤¯¤ë¡¥¤Á¤Ê¤ß¤Ë¡¤*.vba¥Õ¥¡¥¤¥ë¤Ï¡¤vim *.vba¤·¤Æ³«¤¤¤Æ¤«¤é:so %¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¡¥¤È¤ê¤¢¤¨¤º¡¤¤³¤ì¤Ç¥Ê¥ì¥Ã¥¸¥¨¡¼¥¹¤µ¤ó¤È¤³¤Ç½ñ¤¤¤Æ¤¢¤ë´Ä¶­¤Ë¤Ê¤ë¤±¤É¤â¡¤refe¤¬EUC-JP¤ÇÆüËܸì¤òÅǤ¯¤Î¤ÇUTF-8¤Çɽ¼¨¤·¤¿¤¤¼«Ê¬¤Î¾ì¹ç¤Ïʸ»ú²½¤±¤·¤Æº¤¤Ã¤Æ¤·¤Þ¤¦¡¥¤È¤¤¤¦¤ï¤±¤Ç¡¤refe¤Î¥½¡¼¥¹¤ò¸«¤Æ¤¿¤éʸ»ú¥³¡¼¥É¤òÊÑ´¹¤¹¤ë¤È¤³¤¬¤¢¤Ã¤¿¤Î¤Ç¡¤Å¬Åö¤ËMacÍѤνèÍý¤òÄɲ䷤Ƥߤ¿¡¥°Ê²¼¤Î¤è¤¦¤Ê´¶¤¸¡¥

*** searcher.rb.bak	2007-12-17 00:21:43.000000000 +0900
--- searcher.rb	2007-12-17 00:22:36.000000000 +0900
***************
*** 18,23 ****
--- 18,25 ----
      def adjust_encoding( str )
        if shift_jis_platform?
          NKF.nkf('-Es', str)
+       elsif utf8_platform?
+         NKF.nkf('-Ew', str)
        else
          str
        end
***************
*** 26,31 ****
--- 28,37 ----
      def shift_jis_platform?
        /mswin|mingw|cygwin|djgpp|vms/ === RUBY_PLATFORM
      end
+ 
+     def utf8_platform?
+       /darwin/ === RUBY_PLATFORM
+     end
    
    end
  

¤³¤ÎÃʳ¬¤Ç¡¤CUI¤ÎVim¤Ç¤ÏÌäÂê¤Ê¤¯»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¡¥¤·¤«¤·¡¤GVim¤Ç¤Ïrefe¤Ã¤Æ¤¤¤¦¥³¥Þ¥ó¥É¤Ê¤ó¤«¤Ê¤¤¤è¡¤¤Ã¤ÆÅܤé¤ì¤Æ¤·¤Þ¤¦¡¥¤³¤ì¤Ï¡¤CUI¤ÈGUI¤Ç¤Ï¥Ñ¥¹¤ÎÄ̤·Êý¤¬°ã¤¦¤Î¤¬¸¶°ø¡¥GUI¥¢¥×¥êÍѤ˥ѥ¹¤òÄ̤¹¤È¤­¤Ï¡¤~/.MacOSX/environment.plist¤òºî¤Ã¤Æ¡¤Property List Editor¤Ç³«¤¤¤Æ¡¤Root¤Î²¼¤ËPATH¤òºî¤Ã¤Æ¡¤Class¤ÏString¡¤Value¤Ë/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin¤ò»ØÄꤹ¤ì¤ÐÎɤ¤¡¥¤Ç¡¤ºÆµ¯Æ°¡ÊºÆ¥í¥°¥¤¥ó¤Ç¤â¤è¤¤¤«¤â¡Ë¤¹¤ë¤ÈÀßÄ꤬ͭ¸ú¤Ë¤Ê¤ë¡¥GVim¤Ç¡¤:!echo $PATH¤¹¤ë¤È³Î¤«¤á¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥

¤Ä¤¤¤Ç¤Ë¡¤.vimrc¤â¤Á¤ç¤Ã¤ÈÊѤ¨¤Æ¡¤

autocmd FileType ruby,eruby nnoremap <silent> K :Refe <cword><CR>

¤È¤·¤Æ¤ß¤¿¡¥¤³¤ì¤Ç¡¤Ruby½ñ¤¤¤Æ¤ë¤È¤­¤ËShift + k¤¹¤ë¤Èrefe¤ò°ú¤¯¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡¥

¤Á¤Ê¤ß¤Ë¡¤Vim¤ÇRuby½ñ¤¯¤È¤­¤Ï¡¤sudo gem install vim-ruby¤·¤¿¤¢¤È¡¤»Ø¼¨¤Ë½¾¤Ã¤Ævim-ruby-install.rb¤·¤Æ¡¤rubyÍѤÎÀßÄê¥Õ¥¡¥¤¥ë·²¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤¯¤ÈÊØÍø¤Ë¤Ê¤ë¡¥

2007/12/17 00:52 | Vim | ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯(0) | ¥³¥á¥ó¥È(4)

¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ø

livedoor IncSearch¤È¤«¤Ç³ÆSBM¤Î¥³¥á¥ó¥Èɽ¼¨¤¹¤ë¤Î¤òºî¤Ã¤¿

del.icio.us IncSearch(1.6.0)¡¢Hatebu IncSearch(1.5.0)¡¢livedoor clip IncSearch(1.3.0) - Firefox Extension ¤ò¹¹¿·¤·¤Þ¤·¤¿ - Enjoy*Study¤Ë¤¢¤ë¤è¤¦¤Ë¡¤livedoorClip IncSearch¤È¤«¤Ç¥æ¡¼¥¶¥¹¥¯¥ê¥×¥È¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¡¤SBM bookmarks API¤Î»þº¹ÌäÂê¤ò²ò¾Ã(´ÉÍý¿ÍÆüµ­) - ¤à¤¥¤â¤©.jp¤Ë¤ÆÄ󶡤µ¤ì¤Æ¤¤¤ëYahoo! Pipes¤òÍøÍѤµ¤»¤Æ¤¤¤¿¤À¤¤¤Æ¡¤Æ±¤¸¥µ¥¤¥È¤ÎLDC/¤Ï¤Æ¥Ö¤Ë¥Ö¥¯¥Þ¥³¥á¥ó¥È¤òËä¤á¹þ¤àGM¥¹¥¯¥ê¥×¥È¤òOpera¤Ë¤âÂбþ¤µ¤»¤ë(´ÉÍý¿ÍÆüµ­) - ¤à¤¥¤â¤©.jp¤ÇÇÛ¤é¤ì¤Æ¤¤¤ë¥°¥ê¥â¥ó¤ß¤¿¤¤¤Ë¡¤livedoorClip IncSearch¤È¤«¤Ç¤â³ÆSBM¤Î¥³¥á¥ó¥È¤òɽ¼¨¤¹¤ë¤Î¤òºî¤Ã¤¿¡¥

IncSearch¤Î¥Ú¡¼¥¸¤Ë¤¢¤ë¥¹¥¯¥ê¥×¥È¤È¸µ¤Î¥°¥ê¥â¥ó¤òºÇÂç¸Â¤Ë»²¹Í¤Ë¤·¤Ê¤¬¤é¤â¡¤E4X¤Ã¤Æ¸À¤¤¤¿¤¤¤¬¤¿¤á¤ËE4X in Firefox ȯɽ»ñÎÁ: Days on the Moon¤é¤Ø¤ó¤ò»²¹Í¤ËE4X¤ò»È¤Ã¤Æ¤ß¤¿¡¥¤±¤É¡¤¤Û¤È¤ó¤É¥Ò¥¢¥É¥­¥å¥á¥ó¥È¤È¤·¤«»È¤¨¤Æ¤¤¤Ê¤¤orz¡¥½½Ê¬ÊØÍø¤À¤Ã¤¿¤±¤ÉE4X¤Ï¤â¤Ã¤È¤¤¤í¤¤¤í¤Ç¤­¤ë¤Ã¤Ý¤¤¤Î¤Ç¡¤¤â¤Ã¤È¥¹¥Þ¡¼¥È¤Ë½ñ¤±¤ë¤Î¤«¤â¤·¤ì¤Ê¤¤¡¥

¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤ÏIncSearch¤Î¥Ú¡¼¥¸¤ò¸«¤Æ¤â¤é¤¦¤³¤È¤Ë¤·¤Æ¡¤¤³¤Î¥¹¥¯¥ê¥×¥È¤òÆþ¤ì¤ë¤È¡¤³Æ¥Ö¥Ã¥¯¥Þ¡¼¥¯¤Î¥¿¥¤¥È¥ë¤Î¸å¤í¤Ë¡¤del.icio.us¡¤¤Ï¤Æ¥Ö¡¤livedoor ¥¯¥ê¥Ã¥×¡¤Buzzurl¤Î½ç¤Ç¥Ö¥Ã¥¯¥Þ¡¼¥¯·ï¿ô¤¬Ê¤ó¤Ç¡¤¤½¤ì¤é¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È³ÆSBM¤Î³ºÅö¥Ú¡¼¥¸¤ËÈô¤Ó¤Þ¤¹¡¥¤µ¤é¤Ë¤½¤Î¸å¤í¤Ë¡ÖComment...¡×¤Èɽ¼¨¤µ¤ì¤ë¤Î¤Ç¡¤¤½¤ì¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¥³¥á¥ó¥È¤òÆÉ¤ß¤Ë¤¤¤Ã¤ÆÅ¬Åö¤Ëɽ¼¨¤·¤Þ¤¹¡¥

¸Ä¿ÍŪ¤Ë¤Ï¡¤¤³¤ì¤Ç¤À¤¤¤ÖÊØÍø¤Ë¤Ê¤Ã¤¿¡¥ÊØÍø¤Ê³ÈÄ¥µ¡Ç½¤ä¥¹¥¯¥ê¥×¥È¤Ê¤É¤òÇÛÉÛ¤µ¤ì¤Æ¤¤¤ëÊý¡¹¤Ë´¶¼Õ¡ª

¥À¥¦¥ó¥í¡¼¥É: user-extension.js

¥½¡¼¥¹

(function() {
    // ¥Ö¥Ã¥¯¥Þ¡¼¥¯¿ô¥«¥¦¥ó¥È¤³¤³¤«¤é //////////////////////////////
    // http://www.onicos.com/staff/iz/amuse/javascript/expert/md5.txt
  var md5_hex=(function(){var MD5_T=[0x00000000,0xd76aa478,0xe8c7b756,0x242070db,0xc1bdceee,0xf57c0faf,0x4787c62a,0xa8304613,0xfd469501,0x698098d8,0x8b44f7af,0xffff5bb1,0x895cd7be,0x6b901122,0xfd987193,0xa679438e,0x49b40821,0xf61e2562,0xc040b340,0x265e5a51,0xe9b6c7aa,0xd62f105d,0x02441453,0xd8a1e681,0xe7d3fbc8,0x21e1cde6,0xc33707d6,0xf4d50d87,0x455a14ed,0xa9e3e905,0xfcefa3f8,0x676f02d9,0x8d2a4c8a,0xfffa3942,0x8771f681,0x6d9d6122,0xfde5380c,0xa4beea44,0x4bdecfa9,0xf6bb4b60,0xbebfbc70,0x289b7ec6,0xeaa127fa,0xd4ef3085,0x04881d05,0xd9d4d039,0xe6db99e5,0x1fa27cf8,0xc4ac5665,0xf4292244,0x432aff97,0xab9423a7,0xfc93a039,0x655b59c3,0x8f0ccc92,0xffeff47d,0x85845dd1,0x6fa87e4f,0xfe2ce6e0,0xa3014314,0x4e0811a1,0xf7537e82,0xbd3af235,0x2ad7d2bb,0xeb86d391];var MD5_round1=[[0,7,1],[1,12,2],[2,17,3],[3,22,4],[4,7,5],[5,12,6],[6,17,7],[7,22,8],[8,7,9],[9,12,10],[10,17,11],[11,22,12],[12,7,13],[13,12,14],[14,17,15],[15,22,16]];var MD5_round2=[[1,5,17],[6,9,18],[11,14,19],[0,20,20],[5,5,21],[10,9,22],[15,14,23],[4,20,24],[9,5,25],[14,9,26],[3,14,27],[8,20,28],[13,5,29],[2,9,30],[7,14,31],[12,20,32]];var MD5_round3=[[5,4,33],[8,11,34],[11,16,35],[14,23,36],[1,4,37],[4,11,38],[7,16,39],[10,23,40],[13,4,41],[0,11,42],[3,16,43],[6,23,44],[9,4,45],[12,11,46],[15,16,47],[2,23,48]];var MD5_round4=[[0,6,49],[7,10,50],[14,15,51],[5,21,52],[12,6,53],[3,10,54],[10,15,55],[1,21,56],[8,6,57],[15,10,58],[6,15,59],[13,21,60],[4,6,61],[11,10,62],[2,15,63],[9,21,64]];function MD5_F(x,y,z){return (x&y)|(~x&z)}function MD5_G(x,y,z){return (x&z)|(y&~z)}function MD5_H(x,y,z){return x^y^z}function MD5_I(x,y,z){return y^(x|~z)}var MD5_round=[[MD5_F,MD5_round1],[MD5_G,MD5_round2],[MD5_H,MD5_round3],[MD5_I,MD5_round4]];var CC=String.fromCharCode;function MD5_pack(n32){return CC(n32&0xff)+CC((n32>>>8)&0xff)+CC((n32>>>16)&0xff)+CC((n32>>>24)&0xff)}function MD5_unpack(s4){return s4.charCodeAt(0)|(s4.charCodeAt(1)<<8)|(s4.charCodeAt(2)<<16)|(s4.charCodeAt(3)<<24)}function MD5_number(n){while(n<0)n+=4294967296;while(n>4294967295)n-=4294967296;return n}function MD5_apply_round(x,s,f,abcd,r){var a,b,c,d,kk,ss,ii,t,u;a=abcd[0];b=abcd[1];c=abcd[2];d=abcd[3];kk=r[0];ss=r[1];ii=r[2];u=f(s[b],s[c],s[d]);t=s[a]+u+x[kk]+MD5_T[ii];t=MD5_number(t);t=((t<<ss)|(t>>>(32-ss)));t+=s[b];s[a]=MD5_number(t)}function MD5_hash(data){var abcd,x,state,s,len,index,padLen,f,r,i,j,k,tmp;state=[0x67452301,0xefcdab89,0x98badcfe,0x10325476];len=data.length;index=len&0x3f;padLen=(index<56)?(56-index):(120-index);if(padLen>0){data+="\x80";for(i=0;i<padLen-1;i++)data+="\x00"}data+=MD5_pack(len*8);data+=MD5_pack(0);len+=padLen+8;abcd=[0,1,2,3];x=new Array(16);s=new Array(4);for(k=0;k<len;k+=64){for(i=0,j=k;i<16;i++,j+=4){x[i]=data.charCodeAt(j)|(data.charCodeAt(j+1)<< 8)|(data.charCodeAt(j+2)<<16)|(data.charCodeAt(j+3)<<24)}for(i=0;i<4;i++)s[i]=state[i];for(i=0;i<4;i++){f=MD5_round[i][0];r=MD5_round[i][1];for(j=0;j<16;j++){MD5_apply_round(x,s,f,abcd,r[j]);tmp=abcd[0];abcd[0]=abcd[3];abcd[3]=abcd[2];abcd[2]=abcd[1];abcd[1]=tmp}}for(i=0;i<4;i++){state[i]+=s[i];state[i]=MD5_number(state[i])}}return MD5_pack(state[0])+MD5_pack(state[1])+MD5_pack(state[2])+MD5_pack(state[3])}function MD5_hexhash(data){var i,out,c;var bit128=MD5_hash(data);out="";for(i=0;i<16;i++){c=bit128.charCodeAt(i);out+="0123456789abcdef".charAt((c>>4)&0xf);out+="0123456789abcdef".charAt(c&0xf)}return out}return MD5_hexhash})();

    var createDeliciousCount = function(bookmark) {
        var md5 = md5_hex(bookmark.url);

        return <a href={"http://del.icio.us/url/" + md5} target="_blank">
            <img src={"http://del.icio.us/feeds/img/savedcount/" +md5 + "?aggregate"} />
            </a>;
    }

    var createHatebuCount = function(bookmark) {
        return <a href={"http://b.hatena.ne.jp/entry/" + bookmark.url} target="_blank">
            <img src={"http://b.hatena.ne.jp/entry/image/" + bookmark.url} />
            </a>;
    }

    var createLivedoorCount = function(bookmark) {
        return <a href={"http://clip.livedoor.com/page/" + bookmark.url} taget="_blank">
            <img src={"http://image.clip.livedoor.com/counter/" + bookmark.url} />
            </a>;
    }

    var createBuzzurlCount = function(bookmark) {
        return <a href={"http://buzzurl.jp/entry/" + bookmark.url} target="_blank">
            <img src={"http://api.buzzurl.jp/api/counter/v1/image?url=" + bookmark.url} />
            </a>;
    }
            

    // ¥Ö¥Ã¥¯¥Þ¡¼¥¯¿ô¥«¥¦¥ó¥È¤³¤³¤Þ¤Ç //////////////////////////////
    
    // ¥³¥á¥ó¥ÈÁÞÆþ¤³¤³¤«¤é //////////////////////////////

    // JSONP¥ê¥¯¥¨¥¹¥È¥ª¥Ö¥¸¥§¥¯¥È
    var JSONPRequest = function(url, callback, callbackParam) {
        this.url           = url;
        this.callback      = callback;
        this.callbackParam = callbackParam;

        this.id = null;

        this.load();
    };

    JSONPRequest._count = 0;
    window.__JSONPRequestCallBacks = [];

    JSONPRequest.prototype.load = function() {
        if(this.id != null) return;

        this.id = JSONPRequest._count++;

        var url = this.url + '&'
            + this.callbackParam + '='
            + '__JSONPRequestCallBacks._' + this.id;

        this.script = document.createElement('script');
        this.script.type = 'text/javascript';
        this.script.charset = 'utf-8';
        this.script.src = url;

        var headTag = document.getElementsByTagName('head')[0];

        var self = this;
        window.__JSONPRequestCallBacks['_' + this.id] = function(json) {
            self.callback(json);
            delete window.__JSONPRequestCallBacks['_' + self.id];
            self.id = null;
            headTag.removeChild(self.script);
        };

        headTag.appendChild(this.script);
    };

    function request(url, element) {
        new JSONPRequest(url, function(json) { show(json, element); }, CALLBACK_NAME);

        with(element.style) {
            textDecoration = 'none';
            color = '#000';
            cursor = 'auto';
        }
        element.innerHTML = 'Loading...';
    }

    function show(json, element) {
        if(json.value.items.length == 0) {
            element.innerHTML = "¥³¥á¥ó¥È¤¬Ìµ¤¤¤«¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿";
        }
        else {
            var comments = json.value.items;
            var ul = document.createElement('ul');

            for(var i = 0, len = comments.length; i < len; ++i) {
                var comment = comments[i];

                /^([\d]+)\[(.+)\]$/.test(comment.title);

                var utime = RegExp.$1 + '000'; // sec -> msec
                var date = new Date();
                date.setTime(utime);
                var time = [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('/');

                var sbm = RegExp.$2;
                var img_url = 
                     sbm == 'livedoor'  ? 'http://clip.livedoor.com/favicon.ico':
                     sbm == 'hatena'    ? 'http://b.hatena.ne.jp/favicon.ico'   :
                     sbm == 'delicious' ? 'http://del.icio.us/favicon.ico'      :
                     sbm == 'buzzurl'   ? 'http://buzzurl.jp/favicon.ico'       :
                     '';

                var li = document.createElement('li');

                li.innerHTML = <>
                    <a href={comment.link}>
                        <img width="16" alt={sbm} src={img_url} />
                        {comment.author}
                    </a>
                    {comment.description}
                    <em> - {time}</em>
                </>.toString();

                ul.appendChild(li);
            }

            element.innerHTML = '';
            element.style.display = 'block';
            element.appendChild(ul);
        }
        element.onclick = function(){};
    }

    var JSON_BASE_URI = 'http://pipes.yahoo.com/pipes/pipe.run?_id=3J_WV8j_2xGssdY4qWIyXQ&_render=json&_run=1&url=';
    var CALLBACK_NAME = '_callback';

    var count = 0;
    window.__CommentInsertCallBacks = [];

    // ¥³¥á¥ó¥ÈÁÞÆþ¤³¤³¤Þ¤Ç //////////////////////////////

    IncSearch.prototype.addTitleText = function(bookmark, patternList) {
        var page = encodeURIComponent(bookmark['url'].replace(/%23/, '#'));
        var url = JSON_BASE_URI + page;

        window.__CommentInsertCallBacks[count] = function(element) { request(url, element); };
        
        return <>
            {createDeliciousCount(bookmark)}
            {createHatebuCount(bookmark)}
            {createLivedoorCount(bookmark)}
            {createBuzzurlCount(bookmark)}
            <div class="comment_insert" onclick={"__CommentInsertCallBacks[" + count++ + "](this)"}>
                Comment...
            </div>
        </>.toString();
    }
   
    function log(str) {
        if(console) console.log(str)
    }

    // ¥¹¥¿¥¤¥ë¥·¡¼¥È
    var style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = <><![CDATA[
        img {
            border: none;
            margin: 0;
        }
        
        .comment_insert {
            display: inline;
            cursor: pointer;
            text-decoration: underline;
            color: blue;
            margin: 0;
        }

        .comment_insert li {
            margin-left: 2em;
        }

        .comment_insert em {
            color: #494;
        }
    ]]></>.toString();
    document.getElementsByTagName('head')[0].appendChild(style);
})();

2007/12/12 18:19 | JavaScript | ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯(0) | ¥³¥á¥ó¥È(0)

¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ø

Vim¤Î¥×¥é¥°¥¤¥ó

¤¬¤ó¤Ð¤Ã¤Æ¥­¡¼¥Ð¥¤¥ó¥ÉÂΤËÀ÷¤ßÉÕ¤«¤·¤Æ¡¤¡Övimrc¡×¤ò¥°¥°¤Ã¤ÆÀßÄê¤ò½¼¼Â¤µ¤»¤Æ¤¤¤±¤Ð¡¤¤Ê¤ó¤È¤Ê¤¯Vim¤Ï»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¯¤±¤É¡¤¤µ¤é¤ËÊØÍø¤Ë»È¤¦¤Ë¤Ï¥×¥é¥°¥¤¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡¥

¥×¥é¥°¥¤¥ó¤ÏMac¤È¤«Linux¤È¤«¤Ê¤é~/.vim/°Ê²¼¤Ë¡¤Windows¤Ï$HOME\vimfiles\°Ê²¼¤ËÃÖ¤¯¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥¥×¥é¥°¥¤¥ó¤Ïscripts : vim online¤Ê¤É¤«¤éõ¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥¤¿¤¤¤Æ¤¤¤É¤³¤Ë¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤¿¤é¤¤¤¤¤«¤â½ñ¤¤¤Æ¤¢¤ë¤Î¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤Ë´Ø¤·¤Æ¤Ï¤Û¤È¤ó¤ÉÌäÂê¤Ê¤¤¤È»×¤¦¡¥¤Þ¤º¤Ï¡¤vim ¤Ç¤Î¥ª¥¹¥¹¥á plugin - Àîo¡¦-¡¦¡Ë¡ã2nd life¤È¤«vim ¤Î text-object ¤ò¤è¤êÊØÍø¤Ë»È¤¨¤ë¥×¥é¥°¥¤¥ó - surround.vim - Àîo¡¦-¡¦¡Ë¡ã2nd life¤È¤«¥×¥é¥°¥¤¥ó¤ò¾Ò²ð¤·¤Æ¤¤¤ëµ­»ö¤Ê¤ó¤«¤ò»²¹Í¤ËŬÅö¤ËÆþ¤ì¤Æ¤ß¤ë¤Î¤¬Îɤ¤¤È»×¤¦¡¥

ºÇ¶á¤Ç¤ÏVimpi - Vimpi¤È¤¤¤¦Vim¥×¥é¥°¥¤¥ó¤Î¹¹¿·¾õ¶·¤ò¥Á¥§¥Ã¥¯¤·¤Ä¤Ä¤â¿Íµ¤¤Î¤¢¤ë¥×¥é¥°¥¤¥ó¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤ë¥Ú¡¼¥¸¤â¤¢¤ë¤Î¤Ç¡¤»²¹Í¤Ë¤Ê¤ë¤È»×¤¦¡¥¤Á¤Ê¤ß¤Ë¡¤¼«Ê¬¤Î¥Ú¡¼¥¸¤Ï¤³¤Á¤é¡¥

¤µ¤é¤Ë¡¤Vim¤ò»È¤¤¤³¤Ê¤¹¤Ë¤ÏVim»È¤¤¤Î¿Í¤Î¥Ö¥í¥°¤òÆÉ¤ó¤Ç¤ª¤¯¤Î¤¬Îɤ¤¤È»×¤¦¡¥¤¤¤Ä¤â»²¹Í¤Ë¤µ¤»¤ÆÄº¤¤¤Æ¤¤¤ë¥Ö¥í¥°¤È¤«¥µ¥¤¥È¤È¤«¤òŽ¤Ã¤Æ¤ª¤­¤Þ¤¹¡¥

2007/12/08 17:18 | Vim | ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯(0) | ¥³¥á¥ó¥È(0)

¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ø

xdebug¤Èphsh¤òMacPorts¤Ç

¤ä¤Ã¤Æ¤ß¤¿¤Î¤Ç¥á¥â¡¥Å¬Åö¤Ë¤ä¤Ã¤Æ¤ë¤Î¤Ç¡¤¥Þ¥Í¤¹¤ë¿Í¤Ï¼«¸ÊÀÕǤ¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡¥

phsh¤Ï¥Ù¥¤¥¨¥ê¥¢¾ðÊó¶É: phsh(PHP¤Ç¥·¥§¥ë)¤ò¸ø³«¤·¤Þ¤¹¤Ë¤¢¤ëÄ̤ꡤPEAR::Console_Getopt¡¤readline¡¤pcntl¤Ë°Í¸¤·¤Æ¤¤¤ë¡¥PEAR::Console_Getopt¤Èpcntl¤ÏMacPorts¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¤â¤Î¤Î¡¤readline¤¬Ìµ¸ú¤Ç¥Ó¥ë¥É¤µ¤ì¤ë¤Î¤Ç¡¤port¥Õ¥¡¥¤¥ë¤ò¤¤¤¸¤ë¡¥

sudo port edit php5

¤È¤¹¤ë¤È¡¤php5¤Îport¥Õ¥¡¥¤¥ë¤ò´Ä¶­ÊÑ¿ôEDITOR¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¥¨¥Ç¥£¥¿¤Ç³«¤±¤ë¤Î¤Ç¡¤Å¬Åö¤ËÊÔ½¸¤¹¤ë¡¥59¹ÔÌܤ°¤é¤¤¤«¤é¤Ï¤¸¤Þ¤ëconfigure¥ª¥×¥·¥ç¥ó¤ÎºÇ¸å¤Î¤È¤³¤í¤ò

¡Á
    --with-freetype-dir=${prefix} \
    --with-readline=${prefix}
¡Á

¤È¤¹¤ë¡¥¤¢¤È¤Ï¡¤Â¾¤ËɬÍפʤâ¤Î¤âŬÅö¤Ë¹Í¤¨¤Æ

sudo port install php5 +apache2 +mysql5 +pcntl +pear

¤È¤«¤·¤ÆPHP¤ò¥¤¥ó¥¹¥È¡¼¥ë¡¥PHP4¤âƱ¤¸¤è¤¦¤Ë¤Ç¤­¤ë¤«¤âÃΤì¤Ê¤¤¤·¡¤¤Ç¤­¤Ê¤¤¤«¤âÃΤì¤Ê¤¤¡¥PEAR::Console_Getopt¤ÏPear¤ËÉÕ¤¤¤Æ¤­¤Æ¤¿¤è¤¦¤Êµ¤¤¬¤¹¤ë¤Î¤Ç¤¿¤Ö¤ó¤³¤Î¾õÂÖ¤Çphsh¤Ïư¤¯¤Ï¤º¡¥Console_Getopt¤¬¤¢¤ë¤«¤É¤¦¤«¤Ï¡¤

pear list

¤Çʬ¤«¤ë¡¥¤Ê¤¤¤È¤­¤Ï¡¤

sudo pear install --alldeps Console_Getopt

¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¡¥Pear¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï°Í¸´Ø·¸¤Î¤¢¤ë¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤ì¤Ê¤¤¤ß¤¿¤¤¤Ê¤Î¤Ç--alldeps¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤È¹¬¤»¤Ë¤Ê¤ì¤ëµ¤¤¬¤¹¤ë¡¥¤½¤Î¾Pear¤Î»È¤¤Êý¤¬Ê¬¤«¤é¤Ê¤¤¤È¤­¤Ï

pear help

¤Ç¤Ê¤ó¤È¤«¤Ê¤ë¡¥¼¡¤Ï¡¤xdebug¡¥PHP5¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤ÈPecl¤È¤¤¤¦PHP¥â¥¸¥å¡¼¥ë¤ò´ÉÍý¤¹¤ë¤ä¤Ä¤â¤Ä¤¤¤Æ¤¯¤ë¤Î¤Ç¡¤

sudo pecl install --alldeps xdebug

¤Ç¡¤¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¡¥Pecl¤Î»È¤¤Êý¤â¤À¤¤¤¿¤¤Pear¤ÈƱ¤¸¤è¤¦¤À¡¥¤¢¤È¤Ï¡¤php.ini¤Çxdebug¤òÆÉ¤ß¹þ¤à¤è¤¦¤Ë¤¹¤ë¡¥

sudo vim /opt/local/etc/php.ini

¤È¤«¤·¤Æ¡¤¥Õ¥¡¥¤¥ë¤Îextension¤¬¤¤¤Ã¤Ñ¤¤¥³¥á¥ó¥È¥¢¥¦¥È¤µ¤ì¤Æ¤ë¤é¤Ø¤ó¤Ë¡¤

zend_extension=/opt/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so

¤È½ñ¤¯¡¥php.ini¤¬¤Ê¤¤¤È¤­¤Ï¡¤/opt/local/etc/php.ini-dist¤«/opt/local/etc/php.ini-recommend¤ò¥³¥Ô¡¼¤·¤Æphp.ini¤Ë¤¹¤ì¤Ð¤è¤¤¤ß¤¿¤¤¡¥

¤¢¤È¤Ï¡¤apache¤òºÆµ¯Æ°¤·¤Æphpinfo¤ò¸«¤Æxdebug¤Î¹àÌܤ¬Áý¤¨¤Æ¤¤¤ë¤Î³Îǧ¤Ç¤­¤ì¤Ð¤ª¡¼¤±¡¼¡¥phsh¤È¤«xdebug¤¬¤Ê¤ó¤¾¤ä¤ÏŬÅö¤Ë¥°¥°¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤(^-^;)

2007/12/07 00:47 | PHP | ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯(0) | ¥³¥á¥ó¥È(0)

¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ø

¥È¥Ã¥×¥Ú¡¼¥¸¤Ø