トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
Emacs
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ PREFERENCE


___

■ 文字列(string)

___

■ delete-char

SYNTAX (delete-char NUMBER) DESC Cursor 直後の N 文字を削除
___

■ following-char

SYNTAX (following-char) DESC Cursor 位置の 文字を Code 値として返す
___

■ mapcar

SYNTAX (mapcar FUNC SEQUENCE) DESC SEQUENCE の各要素に FUNC をあてる
    ;; (3 5 7)
    (mapcar '1+ '(2 4 6))

___

■ boundp

SYNTAX (boundp SYMBOL) DESC Symbol の値が void でないかどうかかえす
  ;; symbol "foobar" が 定義されているかどうかしらべる
  (if (boundp 'foobar)
    (message "foobar is not void")
    (message "foobar is void")
    )


___

■ zerop

SYNTAX (zerop NUMBER) DESC 引数が 0 かどうかかえす
___

■ insert-rectangle

insert-rectangle '("aaa" "bbb" "ccc")) SYNTAX (insert-rectangle list ;; string list ) DESC 現在のポイント位置に list の文字列を矩形に挿入する
    (insert-rectangle '("aaa" "bbb" "ccc"))
___

■ make-string

SYNTAX (make-string NUMBER)
    ;; RET: "aaa"
    (make-string 3 ?a)
___

■ int-to-string

SYNTAX (int-to-string NUMBER) DESC 数値から文字列変換 (number-to-string) の別名
___

■ 文字列(string)

___

■ string-match

SYNTAX (string-match "n" "tanuki") DESC
  (looking-at "tanuki")
___

■ string-match

SYNTAX (string-match "regexp" "string") DESC regexp 検索
___

■ file-name-nondirectory

SYNTAX (file-name-nondirectory) DESC Directory 名削除
___

■ Buffer

___

■ buffer-string

SYNTAX (buffer-string) DESC buffer 全体文字列を返す
___

■ buffer-file-name

SYNTAX (buffer-file-name) DESC buffer名
___

■ pop-to-buffer

SYNTAX pop-to-buffer DESC 新しい window に buf 生成
    (pop-to-buffer "foo")
___

■ 検索(Search)

___

■ re-search-forward

SYNTAX (re-search-forward REGEXP &opt BOUND NOERROR COUNT) DESC REGEXP にマッチした文字の直後に point を移動

  ;; abc の後ろに移動
  (re-search-forward "abc")

  ;; tab 検索
  (re-search-forward "\t")

  ;; ERROR
  ;;  "\\t" ではない -> "\t" という REGEXP はなし -> だから "t" を検索
  (re-search-forward "\\t")

  ;; MultiByte 文字も 文字クラスに指定できる
  (re-search-forward "[あい]")   ;; あい


  ;; c の直後( "d" )に point が移動
  abcd


  WARNING
    現在の point の文字も検索対象になる

    (re-search-forward "a")

;;  []
    abca

;;  末尾の a に移動するつもりだが, b に移動してしまう




___

■ re-search-backward

SYNTAX (re-search-backward REGEXP &opt BOUND NOERROR COUNT) DESC REGEXP にマッチした文字の先頭に point を移動

  ;; a に point が移動
  abc

  (re-search-backward "abc")

___

■ buffer-substring

SYNTAX (buffer-substring s e) DESC point 位置 s 以上 , e 未満の Buffer 文字列をかえす

  abcdefghijk

  ;; RET: abcde
  (buffer-substring 1 6)

___

■ file-name-directory

SYNTAX (file-name-directory path) DESC パスから Directory 部分をかえす
    (file-name-directory  "d:/foo.txt")
    (file-name-directory  "d:/bar/")
___

■ switch-to-buffer

SYNTAX DESC EX WARNING
___

■ file-name-extension

TIP (file-name-extension) DESC Query SYNTAX (y-or-n-p "string") DESC 文字列の長さを取得. SYNTAX (length "string") DESC 文字列結合 SYNTAX (concat "string" ...) DESC 文字列比較 SYNTAX (string-equal "str1" "str2") ret t | nil DESC 部分文字列 SYNTAX (substring "str" idxS, idxE ) TIP idxE = -n で 最後の n 文字削除 DESC file 読み込み(存在)確認 SYNTAX (file-readable-p "file") DESC file 挿入 SYNTAX (insert-file "file") DESC buf の名前( file full path をかえす ) SYNTAX (buffer-file-name) ret d:/foo/bar/foo.cpp DESC 現在時刻をかえす
___

■ current-time-string

SYNTAX (current-time-string) DESC 現在時刻 DESC 指定 regexp を含むかcheck
___

■ string-match

SYNTAX (string-match "regexp" name) DESC buf の編集状態を終了させる.
___

■ set-buffer-modified-p

SYNTAX (set-buffer-modified-p nil) DESC 任意の数のリスト引数を連結する
___

■ list

___

■ append

SYNTAX (append list...)
  ;; ~/mylisp を load-path に追加
  (append load-path (list "~/mylisp"))
___

■ cons

SYNTAX (cons atom ...) (cons CAR CDR) DESC リストの先頭に要素を追加する Constructure RET 作成した list

  ;; list 構造に便利

  (cons "~/mylisp" load-path)
  (cons 1 (list 2 3 4 5))

  ;; PUSH
    (setq calc-stack (cons x calc-stack))
  ;; POP
    (setq calc-stack (cdr calc-stack))

___

■ defcustom

SYNTAX (defcustom SYMBOL VALUE DOC &rest ARGS) DESC カスタム可能な Symbol を定義. ( Default 値つき ) Declare SYMBOL as a customizable variable that defaults to VALUE. DOC is the variable documentation.
   (defcustom perl-indent-level 2
     "*Indentation of Perl statements with respect to containing block."
     :type 'integer
     :group 'perl)

   :type    VALUE should be a widget type for editing the symbols value.
   :options  VALUE should be a list of valid members of the widget type.
   :group    VALUE should be a customization group.
___

■ where-is-internal

SYNTAX (where-is-internal cmd) DESC cmd に bind されている Key list をかえす. ある cmd の keybind を変更する際に便利
___

■ read

SYNTAX (read tkn) DESC token を symbol に変換
___

■ set-buffer

SYNTAX DESC 編集に利用する buf を指定 LISP code のみ有効 WARNING (getenv "USER")
___

■ defun

DESC 関数を定義する関数 ret 関数名
___

■ let

DESC 変数の宣言. セット 2. Block の定義 SYNTAX (let ((var1 value1)...) state-block) TIP 変数宣言しない(setq) は global
___

■ save-excursion

DESC cursor 位置を保存
___

■ condition

DESC 条件文 SYNTAX (while condition state-block) (following-char)aaa (delete-char 1) TIP c-g : 中止
___

■ message

DESC min buf に出力 書式命令: %s %d %c %e %f %g
___

■ lisp関数をemacsCommand.にする

Lisp Interaction Mode : c-j : eval-print-last-sexp 登録する (interactive "prompt-string") arg を関数にわたす. prompt-string: arg に格納される n : 整数 s : 文字列 \n: argument 区切り文字 "document" : c-h f で表記 TIP * (interactive "r") : 引数を point , mark にセット
___

■ lisp基本関数

DESC 算術 [ +-*/ % 1+ 1- max min ] : arg が浮動小数点ならば float 扱い 比較 [ > < >= < = /= = equal] 論理 [ and not or ]
___

■ ERROR

Q. symbols value as variable is void // 空 A. 変数を初期化しないとでる ERR.
___

■ 制御構文

___

■ if

SYNTAX (if cond true-case false-block) TIP true-case : 単文 false-blcok: 複文
___

■ cond(while)

SYNTAX (cond (cond1 state-block) (cond2 state-block) ... ) TIP switch ( foo ) { case: .. } と思おう.
    (defun howmany (cnt)
      (cond

      // zero p( 述語 ) == arg に基づいて t, nil をかえす
       ((zerop cnt) "no")
       ((= cnt 1) "one")
       ((= cnt 2) "two")
       (t "many")
       )
      )
___

■ 複文

SYNTAX (progn state-block) DESC {} {} ( Block と考えるとわかりやすい ) (let (var1 var2 ...) state-block)
    (let (foo (coo 10) bar) (message "foo %s bar %s %d" foo bar coo))
    nil に初期化
(defun goto-pct (pct) (interactive "nGoto percent: ") (goto-char (/ (* (point-max) pct) 100)) ) (defun pluralize (word cnt &optional plural) (if (= cnt 1) word (if (null plural) (concat word "s") plural ) ) ) (defun count-words-buffer (nr num) ("this is my first lisp function ") (interactive "nEnter integer: \nnEnter Second: ") (let ((cnt 0)) (save-excursion (goto-char (point-min)) ; top (while (< (point) (point-max)) (forward-word 1) (setq cnt (1+ cnt)) ) (message "buf contanis %d word arg %d arg %d" cnt nr num) ) ) ) (let () (if (equal (getenv "USER") "usr") (setq width 10)(setq width 20)) (message "width %d" width) )
___

■ 便利な組み込み関数

// 文字位置 point // mark 位置 mark // 最小文字位置 point-min // 行頭にあるか // b of line ? bolp // 行末にあるか eolp : bobp : buf 先頭 eobp : buf 先頭 (insert) : point に挿入 number-to-string: 10 -> "10" string-to-number: "100" -> 100 char-to-string: substring: (substring "this is a pen" 0 4) aref: 配列参照 (aref "test" 3)
___

■ REGEXP

DESC emacs での 正規表現です // [a-c] の文字 [a-c] $ | ' : 行末 WARNING regexp 文字を指定するには [\\] 2個必要 Emacs Interpreter が解釈するため
   * にマッチするには \\*
     ;; Lisp interpriter が \\ -> \ として解釈 [\*] を lisp 関数にわたす
     (search-forward-regexp "foobar\\*")  -> [foobar*]
WARNING: 上記の仕様は regexp の関数のみ意味をもつことを忘れないこと (search-forward "test*test") // 通常文字の "test*test"検索 実験するなら次を利用する (search-forward-regexp) (replace-regexp)
___

■ LIST

DESC quot して meta chara 扱い
  [()|]
* quot しないで meta chara 扱い
  [+*.]
 *   : 直前の文字の 0 回以上の繰り返し
 +   : 直前の文字の 1 回以上の繰り返し
       : 任意の文字
 []  : 文字セット [^]
       REGEXP
  [  : NRML \\[
       -> [*?.] // 通常文字あつかい

 ()  : group
       REGEXP \(  :: NRML (
 |   : 選択
       REGEXP \|  :: NRML |

 ^$< >: 文脈指定 ( 日本語でも Token の指定できる )

 \w : 単語を構成する文字
 \w : 単語を構成しない文字

 \b : 単語の境界








VAR::sentence-end regexp の参考になる (defun del-header-outline () "this is rm *" (interactive) (replace-regexp "^\\*+" "") ) \\* == アスタリスク
    [^A-z]
    (replace-regexp "^aaaa\nbbbb" "")  // 改行こみ

















NINJAIDX 5