Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Emacs Lisp Tips
[go: Go Back, main page]

$B;d$N(B .emacs $B$G@_Dj$7$F$$$k9`L\(B

Last Updated at $Date: 2005/12/04 03:36:05 $.

$B$3$N%Z!<%8$NFbMF$O!$(BEmacs-21.3 $B$GF0:n3NG'$7$F$$$^$9!%(B version $B$K$h$C$F$OJQ?tL>$d4X?tL>$NJQ99$J$I$K$h$jF0:n$7$J$$$3$H$,M-$jF@$^$9$N$G!$(B $B$4Cm0U2<$5$$!%%P%0%l%]!<%H$d46A[$J$I$O(B tsuchiya@namazu.org $B$^$G$*4j$$$7$^$9!%(B


$BF|K\8l4D6-$N@_Dj(B

$BF|K\8l(B EUC $B$N%U%!%$%k$HCl9g!$(B $B>/$J$/$H$b0J2<$N@_Dj$r(B ~/.emacs $B$K=q$/I,MW$,$"$j$^$9!%(B

(set-language-environment "Japanese")
(set-default-coding-systems 'euc-japan)
(set-terminal-coding-system 'euc-japan)

$B2~9T%-!<$G%*!<%H%$%s%G%s%H$5$;$k(B

$B~/.emacs $B$K2C$($F$/$@$5$$!%(B

(global-set-key "\C-m" 'newline-and-indent)
(global-set-key "\C-j" 'newline)

$B9%$_$K$h$C$F!$4X?t(B newline-and-indent $B$O!$4X?t(B reindent-then-newline-and-indent $B$K$7$F$*$/$[$&$,NI$$$+$b$7$l$^$;$s!%(B

$B4X?t(B newline-and-indent $B5Z$S(B reindent-then-newline-and-indent $B$O!$(B $BJQ?t(B indent-line-function $B$G;XDj$5$l$?4X?t$r8F$S=P$7$F$$$k$N$G!$(B $BE,59!$$3$NJQ?t$r@_Dj$7$F$*$/I,MW$,$"$j$^$9!%(B (Cf. yahtml-mode $B$rJXMx$K;H$&(B)


BS $B%-!<$rM-8z$K$9$k(B

Window mode $B$GMxMQ$9$k>l9g$O(B Del $B%-!<$r(B1$BJ8;z:o=|$K(B bind $B$7!$(B $BCe$GMxMQ$9$k>l9g$O!$(BBS$B%-!<$H(B Del$B%-!<$rF~$l49$($F$$$^$9!%(B

(if window-system
    (global-set-key [delete] 'delete-char)
  (load "term/keyswap"))

$B$^$?!$F|K\8lF~NO%U%m%s%H%(%s%I$H$7$F(B egg $B$rMxMQ$7$F$$$k>l9g$O!$(B $B%U%'%s%9%b!<%I$N%-!<%P%$%s%I$bD4@0$7$F$*$/$HNI$$$G$7$g$&!%(B

(if window-system
    (progn
      (global-set-key [delete] 'delete-char)
      (define-key fence-mode-map [delete] 'fence-delete-char))
  (load "term/keyswap"))

$B%^%7%sKh$K@_Dj$r@Z$jBX$($k(B

$B%^%7%sKh$K@_Dj$r@Z$jBX$($k>l9g!$4X?t(B system-name $B$rMxMQ$7$FA0$rD4$Y$k$3$H$,=PMh$^$9!%0J2<$NNc$G$O!$(B system-name $B$NJV$jCM$,!$(Bhost.domain.or.jp $B$H$J$k>l9g$H!$C1$K(B host $B$H$J$k>l9g$,$"$k$N$G!$$I$A$i$K$bBP1~$5$;$k$?$a$K@55,I=8=$r;H$C$F$$$^$9!%(B

(let ((system-name (system-name)))
  (cond
   ;; systemA $B$^$?$O(B systemB $B$Gl9g(B
   ((string-match "^\\(systemA\\|systemB\\)\\(\\..+\\)*$" system-name)
    (load "~/.emacs-AorB"))
   ;; systemC $B$Gl9g(B
   ((string-match "^systemC\\(\\..+\\)*$" system-name)
    (load "~/.emacs-C"))
   ;; $B;XDj$5$l$F$$$J$$%^%7%s$Gl9g(B
   (t
    (message (concat "Unknown Host: " system-name)))))

$B"((B system-name $B$NB>!$(Bsystem-type $B$d(B system-configuration $B$rMQ$$$k$3$H$b$G$-$^$9!%(B


$B%U%!%$%k$N3HD%;R$K$h$C$F%a%8%c!<%b!<%I$r@Z$jBX$($k(B

$B%U%!%$%k$N3HD%;R$H%a%8%c!<%b!<%I$H$NBP1~4X78$O!$JQ?t(B auto-mode-alist $B$K3JG<$5$l$F$$$^$9!%Nc$($P!$(B.tex $B$H$$$&3HD%;R$N%U%!%$%k$r(B yatex-mode $B$G3+$/$h$&$K$9$k$K$O!$

(setq auto-mode-alist
      (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))

$BJ#?t$N3HD%;R$KBP$9$k;XDj$rF1;~$K2C$($k$K$O!$

(setq auto-mode-alist
      (append '(("\\.sh$" . fundamental-mode)
                ("\\.perl$\\|\\.p[hlm]$\\|/perl/" . perl-mode))
              auto-mode-alist))

$B%9%/%j%W%H$rJT=8$9$k%a%8%c!<%b!<%I$N@_Dj(B

$B%U%!%$%k$N@hF,$K(B #! $B$G;O$^$k9T$,$"$C$?>l9g!$(B $B$=$N%U%!%$%k$r%9%/%j%W%H$N%=!<%9$HH=CG$7$F!$;XDj$5$l$F$$$k(B interpreter $B$K$h$C$F%a%8%c!<%b!<%I$r7hDj$7$^$9!%$3$NBP1~4X78$O!$JQ?t(B interpreter-mode-alist $B$K3JG<$5$l$F$$$k$N$G!$(B $B~/.emacs $B$K2C$($F2<$5$$!%(B

(setq interpreter-mode-alist
      (append '(("jperl" . perl-mode)
                ("sh" . fundamental-mode)
                ("bash" . fundamental-mode))
              interpreter-mode-alist))

$B%9%/%j%W%H$rJ]B8$9$k;~!$<+F0E*$K(B chmod +x $B$r9T$J$&$h$&$K$9$k(B

$B$B%3!<%I(B$B$r(B ~/.emacs $B$K2C$($F$*$/$H!$(B

$B$N>l9g!$
(defun make-file-executable ()
  "Make the file of this buffer executable, when it is a script source."
  (save-restriction
    (widen)
    (if (string= "#!" (buffer-substring-no-properties 1 (min 3 (point-max))))
        (let ((name (buffer-file-name)))
          (or (equal ?. (string-to-char (file-name-nondirectory name)))
              (let ((mode (file-modes name)))
                (set-file-modes name (logior mode (logand (/ mode 4) 73)))
                (message (concat "Wrote " name " (+x)"))))))))
(add-hook 'after-save-hook 'make-file-executable)

$B6/D4I=<(IU$-F0E*N,>NE83+(B

$BDL>o!$(BM-/ $B$KEPO?$5$l$F$$$k(B dabbrev-expand $B$OHs>o$KJXMx$J%3%^%s%I$G$9!%(B $BNc$($P!$JL$N%P%C%U%!$K(B print $B$H$$$&C18l$,$"$k;~$K(B pr M-/ $B$HF~NO$9$k$H!$(B $B;D$j$N(B int $B$,E83+F~NO$5$l$F(B print $B$H$$$&8l$,40@.$7$^$9!%(B dabbrev-highlight.el $B$O!$F0E*N,>NE83+$NBP>]$H$J$C$?J8;zNs$r6/D4I=<($9$k3HD%$G!$(B $B%*%j%8%J%k(B$B$O(B$BGr0f$5$s(B$B$K$h$C$F:n@.$5$l$^$7$?!%(B $B$3$N%Z!<%8$GG[I[$7$F$$$kHG$O!$%_%K%P%C%U%!FbIt$GN,>NE83+$r9T$C$?;~$K(B1$B9TI=<($r9T$o$J$$!$(B $B$H$$$&E@$,0[$J$C$F$$$^$9!%(B

$B6/D4I=<(IU$-F0E*N,NE83+(B" width="396" height="224">

dabbrev-highlight.el $B$rE,Ev$J>l=j$K%3%T!<$7$F$+$i!$~/.emacs $B$KDI2C$7$F$/$@$5$$!%(B

(require 'dabbrev-highlight)

$B$J$*!$(BEmacs20 $B0J9_$N4D6-$G$OF|K\8l$r4^$`F0E*N,>NE83+$,$&$^$/F0$+$J$$$N$G!$(B $BDI2C@_Dj(B$B$,I,MW$G$9!%(B


$B35N,I=<(IU$-(B yank-pop

kill-ring $B$N2a5n$NFbMF$r;2>H$9$k$?$a$N(B yank-pop (M-y) $B$H$$$&%3%^%s%I$OIQHK$KMxMQ$9$k$K$b4X$o$i$:!$;H$$$E$i$$%3%^%s%I$G$9!%(B $B$I$&$7$F$+$J$"$H;W$C$?$N$G$9$,!$$=$l$O!$(B $B!V $B35N,I=<(IU$-(B yank-pop $B$NF0:nNc(B

$B$3$N%U%!%$%k$rE,Ev$J>l=j$K%3%T!<$7$F$+$i!$(B $B0J2<$N@_Dj$r(B ~/.emacs $B$KDI2C$7$F$/$@$5$$!%(B

(autoload 'yank-pop-forward "yank-pop-summary" nil t)
(autoload 'yank-pop-backward "yank-pop-summary" nil t)
(global-set-key "\M-y" 'yank-pop-forward)
(global-set-key "\C-\M-y" 'yank-pop-backward)

yank-pop $B$r;H$$$d$9$/$7$h$&$H$9$k3HD%$H$7$F$O!$B>$K(B kill-summary.el $B$d(B browse-kill-ring.el $B$J$I$,CN$i$l$F$$$k$N$G!$;H$$Hf$Y$F$_$k$HLLGr$$$N$G$O$J$$$G$7$g$&$+!%(B


shell-command $B$N%3%^%s%IF~NO$KJd40$,8z$/$h$&$K$9$k(B

Emacs $B>e$+$i%7%'%k$N%3%^%s%I$r

  1. M-x shell $B$H$7$F!$(Bshell-mode $B$N%P%C%U%!$K0\F0$7$F$+$iM-x shell-command $B$^$?$O(B M-! $B$H$7$F$=$N>l$G

    $B8el9g$KFC$KJXMx$G$9!%(B $BNc$($P!$E,Ev$J%P%C%U%!$G(B C-u M-! ls RET $B$H$7$F$_$k$H!$(Bls $B$N7k2L$,%+%l%s%H%P%C%U%!$KA^F~$5$l$^$9!%(B

    $B$3$NJ}K!$G$O!$%_%K%P%C%U%!$K%3%^%s%IJ8;zNs$rF~NO$9$k$o$1$G$9$,!$(B $B$=$N:]$K%3%^%s%IL>$d%U%!%$%kL>$J$I$NJd40$,9T$o$l$k$h$&$K$9$k3HD%$r:n@.$7$^$7$?!%(B

    $B$3$N%U%!%$%k$rE,Ev$J>l=j$K%3%T!<$7$F$+$i!$(B $B~/.emacs $B$KDI2C$7$F$/$@$5$$!%(B

    (require 'shell-command)
    (shell-command-completion-mode)
    

    shell-mode $B$r;H$&(B

    shell-mode $B$rMxMQ$9$k>l9g$N(B Tips $B$r>R2p$7$^$9!%(B

    $B%Q%9%o!<%I$NF~NO$r1#$9(B

    sudo $B$d(B su $B$J$I$N%3%^%s%I$r(B shell-mode $B$N%P%C%U%!Fb$Gl9g$O!$0J2<$N@_Dj$r(B ~/.emacs $B$K2C$($F$/$@$5$$!%(B

    (add-hook 'comint-output-filter-functions
              'comint-watch-for-password-prompt)
    

    $B%(%9%1!<%W%7!<%1%s%9$r=hM}$9$k(B

    kterm $B$J$I$NCe$G(B ls --color $B$re$,$C$FJXMx$G$9!%(B $B$7$+$7!$F1$8$3$H$r(B shell-mode $B$N%P%C%U%!Fb$G9T$C$F$b!$(B $BJQ$JJ8;zNs(B(= $B%(%9%1!<%W%7!<%1%s%9(B)$B$,I=<($5$l$k$@$1$G!$(B $B4|BT$7$?$h$&$K$O?'$,$D$$$F$/$l$^$;$s!%(B $B$=$N$h$&$J>l9g$O!$0J2<$N@_Dj$r(B ~/.emacs $B$K2C$($F$/$@$5$$!%(B

    (autoload 'ansi-color-for-comint-mode-on "ansi-color"
              "Set `ansi-color-for-comint-mode' to t." t)
    (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
    

    C $B$N%=!<%9$N%$%s%G%s%HI}$rJQ99$9$k(B

    Emacs $B$G(B C $B$N%=!<%9$rJT=8$9$k;~!$%G%U%)%k%H$G$O%$%s%G%s%HI}$,(B2$B$K$J$j$^$9!%(B $B$3$l$rJQ99$9$k$K$O!$0J2<$N$h$&$KJQ?t(B c-default-style $B$rJQ99$7$F$/$@$5$$!%(B

    (setq c-default-style "user")
    

    $BJQ?t(B c-style-alist $B$K!$MM!9$J@_Dj$,EPO?$5$l$F$$$k$N$G!$(B $B$=$NCf$+$i9%$_$N$b$N$rA*$V$3$H$,$G$-$^$9!%(B


    RCS $B$G4A;z$r4^$s$@%U%!%$%k$r07$&$?$a$N@_Dj(B

    RCS $B$O!$%=!<%9%3!<%I$J$I$NMzNr4IM}$N$?$a$N%D!<%k$G$9!%(B

    source.c
    source.c.1998-Oct-30
    source.c.1998-Nov-12
    

    $B$J$I$N$h$&$K!$%U%!%$%kL>$KF|IU$rF~$l$?$j$7$F%U%!%$%k$NMzNr$r4IM}$9$k$N$K6lO+$7$F$$$k?M$O!$@'Hs$H$b(B RCS $B$r;H$$$^$7$g$&!%(BRCS $B$K$D$$$F$O!$(B $B2On53Y?M$5$s$N!V(BRCS $BD6F~Lg(B$B!W$,;29M$K$J$j$^$9!%(B

    $B$H$3$m$,!$4A;z$r4^$`%U%!%$%k$r(B RCS $B$G4IM}$7$h$&$H$9$k>l9g$O!$>/$7$@$1Cm0U$,I,MW$G$9!%(B $B%U%!%$%k$rEPO?(B( check-in )$B$9$k;~$K!$:n6H5-O?$r$D$1$k$3$H$,$G$-$k$N$G$9$,!$(B $B$=$N$?$a$N4A;z%3!<%I$r$-$A$s$HE}0l$7$F$*$+$J$$$H!$:n6H5-O?$,J8;z2=$1$7$F$7$^$$$^$9!%(B $B0J2<$NNc$O!$:n6H5-O?$rF|K\8l(B EUC $B$GEPO?$9$k$?$a$N@_Dj$G$9!%(B

    (modify-coding-system-alist 'process "^rlog" '(undecided . euc-jp-unix))
    (modify-coding-system-alist 'process "^ci" '(undecided . euc-jp-unix))
    (modify-coding-system-alist 'process "diff" '(undecided . euc-jp-unix))
    (modify-coding-system-alist 'process "^cvs" '(undecided . euc-jp-unix))
    

    Perl $B%9%/%j%W%H$rJT=8$9$k$?$a$N@_Dj(B

    $B$3$N9`L\$O(B$BJL$N%Z!<%8(B$B$K$J$C$F$$$^$9!%(B


    HTML $B7A<0$N%U%!%$%k$rJT=8$9$k$?$a$N@_Dj(B

    $B$3$N9`L\$O!$(B$BJL$N%Z!<%8(B$B$K$J$C$F$$$^$9!%(B


    $B1QOB<-=q$rAH$_9~$`(B

    $B$3$N9`L\$O!$(B$BJL$N%Z!<%8(B$B$K$J$C$F$$$^$9!%(B


    Emacs $B>e$G(B w3m $B$r;H$&(B

    $B$3$N9`L\$O!$(B emacs-w3m $B8x<0%Z!<%8(B$B$K0\4I$5$l$^$7$?!%(B


    $B4X?t!&JQ?t$N@bL@J8$r;2>H$9$k%3%^%s%I(B

    mode-info $B$O!$%a%8%c!<%b!<%I$KBP1~$7$FE,@Z$J4X?t!&JQ?t$N@bL@$rI=<($9$k$h$&$K(B describe-function / describe-variable $B$r3HD%$9$k%W%m%0%i%`$G$9!%(B


    $B8D?MMQ$N(B Info $B$rDI2C$9$kJ}K!(B

    $B$3$N9`L\$O!$(B$BJL$N%Z!<%8(B$B$K$J$C$F$$$^$9!%(B


    $BDy$a@Z$j$^$G$N;~4V$r%b!<%I9T$KI=<($9$k(B

    display-deadline.el $B$rE,Ev$J>l=j$K%3%T!<$7$F$+$i!$~/.emacs $B$KIU$12C$($F$/$@$5$$!%(B

    (require 'display-deadline)
    (display-deadline "$BB4O@Ds=P$^$G$"$H(B%d$BF|(B%h$B;~4V(B%m$BJ,(B" (encode-time 0 30 11 15 2 2002))
    

    $B$3$NNc$NDy@Z;~4V$O!V(B2002$BG/(B2$B7n(B15$BF|(B11$B;~(B30$BJ,!W$G$9$,!$(B $B$3$N;~9o$r(B Emacs-Lisp $B$N;~4V4X?t$,MxMQ$9$k7A<0$KJQ49$9$k$?$a$K(B encode-time $B4X?t$rMxMQ$7$F$$$^$9!%(B $B>\$7$/$O!$(Bencode-time $B4X?t$N4X?t@bL@J8$r;2>H$7$F$/$@$5$$!%(B


    dired $B$r;H$&(B

    dired $B$O!$(BEmacs-Lisp $B$G5-=R$5$l$?%U%!%$%i!<$G$9!%(B $B=i4|@_Dj$N>uBV$G$O!$(Bdired $B$O(B ls $B%3%^%s%I$Nls $B%3%^%s%I$N=PNO$KF|K\8l$,4^$^$l$F$$$k$H!$(Bdired $B$,@5$7$/F0$+$J$$$3$H$,$"$j$^$9!%(B

    $B$=$N$h$&$J>l9g$O!$0J2<$N@_Dj$r(B ~/.emacs $B$KDI2C$7$F!$(BEmacs-Lisp $B$G5-=R$5$l$?(B insert-directory $B4X?t$rMxMQ$9$k$h$&$K$9$l$P!$(B ls $B%3%^%s%I$N=PNO7A<0$K:81&$5$l$J$$$h$&$K$J$j$^$9!%(B

    (require 'ls-lisp)
    (let (current-load-list)
      (defadvice insert-directory
        (around reset-locale activate compile)
        (let ((system-time-locale "C"))
          ad-do-it)))
    

    Emacs-Lisp $B$r$$$8$m$&$H$9$k;~$K3P$($F$*$/$HJXMx$J%3%^%s%I(B

    M-x apropos

    $B$I$s$J4X?t!$JQ?t$,$"$k$N$+$rD4$Y$k$H$-$K;H$&%3%^%s%I$G$9!%Nc$($P!$(B Info $B4X78$NJQ?t$rD4$Y$F$$$k>l9g$O!$(BM-x apropos Info $B$H$9$k$H!$(B Info $B$rL>A0$K4^$`4X?t5Z$SJQ?t$,I=<($5$l$^$9!%(B ($B%G%U%)%k%H$G(B C-h a $B$K%P%$%s%I$5$l$F$$$k(B command-apropos $B$H$O!$I=<($5$l$k>pJs$,0[$J$j$^$9$N$G!$:.F1$7$J$$$h$&Cm0U$7$F$/$@$5$$(B)

    M-x describe-function (C-h f)

    $B4X?t$N5!G=$rI=<($9$k%3%^%s%I$G$9!%!V(BGNU Emacs Lisp $B%j%U%!%l%s%9!&%^%K%e%"%k(B$B!W$H!V(B$B4X?t!&JQ?t$N@bL@J8$r;2>H$9$k%3%^%s%I(B$B!W$b;2>H$7$F2<$5$$!%(B

    M-x describe-variable (C-h v)

    $BJQ?t$NCM$H$=$N0UL#$rI=<($9$k%3%^%s%I$G$9!%(B~/.emacs $B$G@_Dj$7$?CM$,H?1G$5$l$F$$$k$+!$%A%'%C%/$7$?$$>l9g$O!$(B~/.emacs $B$r3+$$$F!$D4$Y$?$$JQ?t$K%+!<%=%k$r9g$o$;$F(B C-h v RET $B$H$9$l$P!$JQ?t$NCM$rI=<($7$F$/$l$^$9!%(B $B$^$?!$(Bmule $B$N%P!<%8%g%s$r3NG'$7$?$$>l9g$O!$(BC-h v mule-version $B$H$7$F$/$@$5$$!%!V(BGNU Emacs Lisp $B%j%U%!%l%s%9!&%^%K%e%"%k(B$B!W$H!V(B$B4X?t!&JQ?t$N@bL@J8$r;2>H$9$k%3%^%s%I(B$B!W$b;2>H$7$F2<$5$$!%(B


    Emacs Lisp $B$N;29M=q@R(B

    $BOBJ8$N%F%-%9%H$r>R2p$7$F$$$^$9!%$3$l0J30$K$bCN$C$F$k$h!$$H$$$&J}$O!$@'Hs!$(B tsuchiya@namazu.org $B$^$GO"Mm$7$F$/$@$5$$!%(B

    GNU Emacs Lisp $B%j%U%!%l%s%9!&%^%K%e%"%k(B

    Emacs Lisp $B%j%U%!%l%s%9!&%^%K%e%"%k$K$O(B2$B$D$NBg$-$/0[$J$kHG$,$"$j$^$9!%(B

    $B!&86:n(B2.4$BHG(B

    Emacs-19.29$BBP1~$N86:n(B2.4$BHG$NK]Lu$O!$F)EZ

    $B!&86:n(B2.5$BHG(B

    Emacs-20.3 $BBP1~$N86:n(B 2.5 $BHG$NK]Lu$,!$(BASCII $B$+$i(B$BH/Gd(B$B$5$l$F$$$^$9!%(B

    $B$3$N(B Info $B$O(B Emacs Lisp $B$G%W%m%0%i%_%s%0$9$k;~$K$H$F$bLr$KN)$D$N$G!$IQHK$K;2>H$7$^$9!%(B $B$7$+$7!$$=$NEY$K(B Info $B$K0\F0$7$F$+$i8!:w$9$k$N$OLLE]$K$J$C$?$N$G!$(B $B4X?tL>$dJQ?tL>$r;XDj$9$k$H(B Info $B$N3:EvItJ,$rI=<($9$k%3%^%s%I(B$B$r:n@.$7$^$7$?!%(B

    Emacs Lisp $B$K$h$k%W%m%0%i%_%s%0(B - $B=i?4

    GNU $B$NG[I[$K4^$^$l$F$$$k!X(BProgramming in Emacs Lisp: A simple introduction$B!Y$NK]Lu$G$9!%(B

    Emacs20.6 $BF|K\8l%^%K%e%"%k(B

    Emacs-20.6 $B$KBP1~$7$?K]Lu$,!$(BASCII $B$+$i(B$BH/Gd(B$B$5$l$F$$$^$9!%(B


    [Top] / [Emacs Lisp Tips]