次ä¸ä»£anything.elã¨ãã©ã°ã¤ã³ããªãªã¼ã¹ï¼åè£é¸æã¯æ¯éanythingã
ãå¾ ãããã¾ãããメンテナになってåã®anything.elããªãªã¼ã¹ãã¾ãããªãªã¸ãã«çã使ããããããããã«è¶ å¼·åãã¾ããã
[2008/08/26]ä¾ã追è¨ãã¾ããã
次ä¸ä»£anything.elã®éçºæ¹é
- ãã£ãããã¹ããã
- 使ããããã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¼ã¹
- ãªãªã¸ãã«æ å ±æºãæ¸ãããããã
- Emacs Lispããã°ã©ã ã«çµã¿è¾¼ã¿ããããã
- ãã©ã°ã¤ã³ã«ããæ¡å¼µæ§ãé«ãã
- æ§ãã¼ã¸ã§ã³ã¨ã®äºææ§ãç¶æ
ç¹å¾´
- anything-sourcesï¼æ å ±æºï¼ã«ä½¿ããå±æ§ãå¢ããã
- ã¦ããããã¹ãï¼el-expectationsï¼ã§å ç¢ã«ãªã£ã
- æ å ±æºã®å±æ§ãåçã«è¨å®ã§ããããã«ãªã£ãï¼ãã©ã°ã¤ã³ï¼
- anythingãçµäºããã«ã¢ã¯ã·ã§ã³ãå®è¡ï¼persistent-actionï¼ã§ãã
- ç´åã®anythingã®ç»é¢ã復活ã§ããï¼anything-resumeï¼
- ã¢ã¯ã·ã§ã³ããåè£é¸æã¸æ»ããã¨ãã§ãã
- anythingã«çç¥å¯è½å¼æ°ãä»ãã¦Emacs Lispããã°ã©ã ã¸ã®çµã¿è¾¼ã¿ã楽ã«ãã£ã
- *anything*ã®é£ã®ã¦ã£ã³ãã¦ãã¹ã¯ãã¼ã«ã§ããããã«ãªã£ã
- åæç¶æ
ã®å
¥åãæå®ã§ãã
- ããã³ããããpattern: ã以å¤ã«æå®ã§ãã
- æåã«é¸æããåè£ãæå®ã§ãã
- ã¢ã¯ã·ã§ã³ãéããã«ããã©ã«ã以å¤ã®ã¢ã¯ã·ã§ã³ãæå®ã§ããããã«ãªã£ã
- åè£ããããã¡ã«ç½®ãã¦ããæ¹æ³ï¼candidates-in-bufferï¼ã¯é«éã§ãããã
- anything-current-bufferãanything-buffer-file-nameã¯anythingãèµ·åããã¨ãã®ãããã¡ã«ã¤ãã¦ã®æ å ±
- è£å®å ¥åãanything-completing-readãanything-read-file-nameã«ç½®ãæãããã¨ãã§ãããã¤ãã¼ã¢ã¼ãï¼å®é¨çï¼
- åè£ãã¦ããããã¹ãã§ããããã«ãªã£ãï¼anything-test-candidatesï¼
- actionã§anythingãæå®ã§ããï¼ãã¹ãåï¼
- delayedãæå®ããªãæ å ±æºã«ãé 延æéãæå®ã§ããããã«ãªã£ãï¼anything-input-idle-delayï¼
- anything-current-bufferãç´åã®anythingèµ·åããæ´æ°ããã¦ããªãããã§ãã¯ã§ããï¼anything-current-buffer-is-modifiedï¼
- anything-sourcesã«ã·ã³ãã«ã®ãªã¹ããæå®ã§ãã
- anythingãC-gã§ä¸æããã¨ãããã¤ã³ãä½ç½®ã復å ããããã«ãªã£ã
- ããã¤ãã®ããã¯ãæ°è¨
ã¤ã³ã¹ãã¼ã«
M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/anything.el
M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/anything-config.el
(require 'anything) (require 'anything-config) ;; anything-config.elã追éããã¾ã§ã¯èªåã§è¨å®ãã¦ãã (define-key anything-map "\C-\M-v" 'anything-scroll-other-window) (define-key anything-map "\C-\M-y" 'anything-scroll-other-window-down) (define-key anything-map "\C-z" 'anything-execute-persistent-action) ;; ããããè¨å®ããã¨ç¢å°ãã¼ã¨ãããã¦å³æã§æä½ã§ãã (define-key anything-map [end] 'anything-scroll-other-window) (define-key anything-map [home] 'anything-scroll-other-window-down) (define-key anything-map [next] 'anything-next-page) (define-key anything-map [prior] 'anything-previous-page) (define-key anything-map [delete] 'anything-execute-persistent-action) ;; (define-key global-map 好ããªãã¼ 'anything) (define-key global-map 好ããªãã¼ 'anything-resume) ;; anything-c-moccurçã®anythingã¢ããªã±ã¼ã·ã§ã³ã®ã¿ä½¿ãå ´å㯠;; anything-sourcesã®è¨å®ã¯ããªãã¦ãããã⦠(setq anything-sources ã好ããªããã«)
è¨å®ä¾ã¯å
¬éãã¦ãã¾ãã
http://www.emacswiki.org/cgi-bin/emacs/RubikitchAnythingConfiguration
åè£ãå®å ¨ä¸è´âå é ä¸è´âã¹ãã¼ã¹ã§åºåãããæ£è¦è¡¨ç¾ãã¹ã¦æºãããã®ã®é ã«è¡¨ç¤ºãããã©ã°ã¤ã³ã¯ãã¡ãã
M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/anything-match-plugin.el
migemo化ããã©ã°ã¤ã³åãã¦æ´æ°ã
M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/anything-migemo.el
GNU GLOBALã®anythingã¤ã³ã¿ã¼ãã§ã¼ã¹ãåæãªãªã¼ã¹ã
M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/anything-gtags.el
ã¦ã¼ã¶ã¼è¦ç¹ã®æ°æ©è½
å人çã«ä¸æºã«æã£ã¦ããã¨ãããæ¹åãã¾ããã
anything-sourcesãã·ã³ãã«ã®ãªã¹ããåããããã«ãªã£ã
anythingæ å ±æºã¯anything-c-source-*ã®å½¢ã®å¤æ°ã«ä»£å ¥ããã®ãæ £ä¾ã¨ãªã£ã¦ãã¾ããä»ã¾ã§ã¯
(setq anything-sources (list anything-c-source-buffers anything-c-source-recentf)))
ã®ããã«å·¨å¤§ãªã¹ããæ§æãã¦ãã¾ãããã次ã®ããã«ã·ã³ãã«ã®ãªã¹ããåããããã«ãªãã¾ããã
(setq anything-sources '(anything-c-source-buffers anything-c-source-recentf))
ãããããã¨ã§describe-variableããã¨ãã«ã©ã®æ å ±æºãã»ããããã¦ããã®ããä¸ç®ã§ãããã¾ãããã¾ãã«ãanything-c-source-*ã®å®ç¾©ãå¤æ´ãã¦ãanything-sourcesãæ´æ°ããå¿ è¦ãããã¾ããã
anything-input-idle-delayã§delayedã§ã¯ãªãæ å ±æºãé 延ããã
ä»ã¾ã§ã¯éãå¦çãããæ
å ±æºã«ã¯(delayed)ãã¤ãããã¨ã§å¦çãé
延ããã¦ãã¾ããããããã軽ãå¦çã§ãanything-sourcesã®é·ããå¢ãã¦ããã«ã¤ãã¦å¦çãéããªã£ã¦ãã¾ãã¾ãã塵ãç©ããã°å±±ã¨ãªããã¨ããããã§ã(delayed)ã§ã¯ãªãæ
å ±æºã«ã¤ãã¦ãé
延æéãè¨å®ã§ããããã«ãªãã¾ããã
åã¯0.2ç§ã«è¨å®ãã¦ãã¾ãããã¼ãã¼ãæéµéããå°ãé·ãããªããã¤ãã£ããæãããã¾ããã
anything-input-idle-delayç§éå ¥åããªãã¨ãã«*anything*ãããã¡ãæ´æ°ãã¾ããããã« (anything-idle-delay - anything-input-idle-delay) ç§å¾ã«(delayed)ãªæ å ±æºãå¦çãã¾ãã
persistent-action
ä»ã¾ã§ã ã¨ã¢ã¯ã·ã§ã³ãå®è¡ããã*anything*ãããã¡ãéãããã¦ãã¾ãã¾ããããã§ã¢ã¯ã·ã§ã³ãå®è¡ããå¾ã*anything*ãããã¡ãæç¶ãããæ©è½persistent-actionãå°å ¥ãã¾ãããC-zãæ¼ããã¨ã§persistent-actionãå®è¡ãã¾ãã
ãã®æ©è½ãããã¨ãanything-c-source-buffersçã§ãããã¡ããã¡ã¤ã«ããã©è¦ãããã¨ãã§ãã¾ãããã©è¦ãçµãã£ããC-gã§anythingãquitããã°å ã®ã¦ã£ã³ãã¦æ§æã«æ»ãã¾ãã
anything.el を終了せずにアクションを実行する方法 - http://rubikitch.com/に移転しましたåç §
persistent-actionã§ãããã¡ã表示ããå¾ã«ã¹ã¯ãã¼ã«ãããã¨ãã§ãã¾ããé常ã®ãããã¡åæ§C-M-vãC-M-y*1ã§ã©ããã
anything-resume
ã¢ã¯ã·ã§ã³å®è¡å¾ã«*anything*ãããã¡ãéãããã¾ãããåã³åãåè£ã表示ãããã«ã¯å度ãã¿ã¼ã³ãå ¥åããªããã°ãªãã¾ããã§ãããããã§M-x anything-resumeãå®è¡ãããã¨ã§ç´åã®*anything*ãããã¡ã復å ããããã¨ãã§ãã¾ãã
anything-c-moccurã§ä»ã®ãããç®æã«ç§»åããã¨ãã«éå®ãã¦ãã¾ãã
ããã©ã«ã以å¤ã®ã¢ã¯ã·ã§ã³ãé¸æãã
åè£ãé¸æããã¨ãããã©ã«ãã®ï¼actionå±æ§ã®æåã®ãã®ï¼ã¢ã¯ã·ã§ã³ãå®è¡ããã¾ããä»ã®ã¢ã¯ã·ã§ã³ãå®è¡ããå ´åã¯Tabã§ã¢ã¯ã·ã§ã³ãé¸æããå¿
è¦ãããã¾ããããããå®è¡ããã¢ã¯ã·ã§ã³ãããããã£ã¦ããå ´åã¯é¢åã§ããããã§ãåè£é¸æã®ã¨ããããããã©ã«ãã®ä»¥å¤ã®ã¢ã¯ã·ã§ã³ãå®è¡ã§ããããã«ãã¾ããã
M-x anything-select-2nd-actionã§2çªç®ã®ã¢ã¯ã·ã§ã³ï¼(nth 1 action)ãªãã¢ã¯ã·ã§ã³ï¼ãå®è¡ãã¾ããåæ§ã« anything-select-3rd-actionãanything-select-4th-actionã anything-select-nth-action ãããã¾ãã
anything-mapã®ç©ºãããã¼ã«å²ãå½ã¦ãã¨ä¾¿å©ã§ãã
ãã¨ãã°ãè¡æ«ã§C-eãæ¼ããã¨ãã«2çªç®ã®ã¢ã¯ã·ã§ã³ãå®è¡ããã«ã¯ãããªã³ãã³ããä½æãã¾ããè¡æ«ã®C-eã¯æå³ããªãã®ã§ãããå©ç¨ãããã®ã§ãã
(defun anything-select-2nd-action-or-end-of-line () (interactive) (if (eolp) (anything-select-nth-action 1) (end-of-line)))
completing-readãread-file-nameã®anythingã¤ã³ã¿ã¼ãã§ã¼ã¹
M-x anything-read-string-mode ã¯completing-readã¨read-file-nameãanythingã§ç½®ãæãããã¤ãã¼ã¢ã¼ãã§ãããã ããã¾ã å®é¨æ®µéã§ãã
æä¾ãã¦ããé¢æ°ã¯ anything-completing-read 㨠anything-read-file-name ã§ãã
ä¾
(anything-read-file-name "file: " "~" ".emacs") (anything-read-file-name "file: " "/tmp") (anything-completing-read "Command: " obarray 'commandp t) (anything-completing-read "Test: " '(("hoge")("foo")("bar")) nil t) (anything-completing-read "Test: " '(("hoge")("foo")("bar")) nil nil "f" nil) (anything-completing-read "Test: " '(("hoge")("foo")("bar")) nil nil "f" nil nil t) (anything-completing-read "Test: " '(("hoge")("foo")("bar")) nil nil nil nil "nana") (anything-completing-read "Test: " '("hoge" "foo" "bar"))
éçºè åãã®æ å ±
ãããããã®ã¯ããããã§ããEmacs Lispãæ¸ãããªãã°ãanything.elã¯ãã£ããå¿ãã¦ããã¾ãã
æ°ããå±æ§
æ å ±æºãããç´°ããã«å¶å¾¡ããããæè»ãªãã©ã°ã¤ã³ãä½æã§ããããã«æ°ããanything-sourceså±æ§ãç¨æãã¾ããã
ãpersistent-actionãå±æ§ã«ã¯ãpersistent-actionãå®è¡ããé¢æ°ãæå®ãã¾ããåè£ãå¼æ°ã¨ããé¢æ°ã§ããçç¥ããã¨ãã¯actionå±æ§ã®å é ï¼ããã©ã«ãã¢ã¯ã·ã§ã³ï¼ãå®è¡ãã¾ãã以ä¸ã®ä¾ã§C-zãæ¼ãã¨ã³ãã³ãã®èª¬æãåºã¾ãã
ä¾ï¼åæã«candidates-in-bufferã®ä¾ã§ãããï¼
(anything '(((name . "M-x") (init . (lambda () (with-current-buffer (anything-candidate-buffer 'global) (loop for sym being the symbols when (commandp sym) do (insert (symbol-name sym) "\n"))))) (type . command) (candidates-in-buffer) (persistent-action . (lambda (sym) (describe-function (intern sym)))))))
ãdisplay-to-realãå±æ§ã¯ã*anything*ãããã¡ã®è¡¨ç¤ºã¨ã¢ã¯ã·ã§ã³ã«æ¸¡ãããåè£ãå¥ã®ãã®ã«ãã第2ã®æ¹æ³ã§ããä»ã¾ã§ã¯candidatesãcandidate-transformerã (display . real) å½¢å¼ãåºåãããã¨ã§å®ç¾ãã¦ãã¾ããããåè£ãå¤ããªã£ã¦ããã¨é ããªã£ã¦ãã¾ãã¾ããã¢ã¯ã·ã§ã³ã«æ¸¡ãåã«ãã®åè£ã ãå¤æããã°ããå ´åã¯display-to-realå±æ§ãããããã§ãã表示ãããåè£ãå¼æ°ã¨ããé¢æ°ãæå®ãã¾ãã
ä¾ï¼ç価ã§ãããã£ã¨ç°¡æ½ã«ãªãã¾ããï¼
(anything '(((name . "TEST") (candidates "foo") (display-to-real . upcase) (action ("identity" . identity))))) (anything '(((name . "TEST") (candidates "foo") (filtered-candidate-transformer . (lambda (c s) (mapcar (lambda (x) (cons x (upcase x))) c))) (action ("identity" . identity)))))
ãcleanupãå±æ§ã¯ã*anything*ãããã¡ãéããããã¨ãã«å®è¡ããç¡å¼æ°é¢æ°ã§ããinitå±æ§ãã³ã³ã¹ãã©ã¯ã¿ãªãã°ãcleanupå±æ§ã¯ãã¹ãã©ã¯ã¿ã¨è¨ããã§ããããä¸è¦ãªãããã¡ãåé¤ããã¨ããªã©ã«ä¾¿å©ã§ãã
ä¾
(anything '(((name . "test") (init . (lambda () (get-buffer-create "erased"))) (candidates "1") (cleanup . (lambda () (kill-buffer "erased"))))))
ãcandidate-number-limitãå±æ§ã¯ããã®æ
å ±æºã«ãããanything-candidate-number-limitã§ããanything-candidate-number-limitã¯ã°ãã¼ãã«ãªè¨å®ã§ããããã®å±æ§ãæå®ãããã¨ã§ãªã¼ãã¼ã©ã¤ãã§ãã¾ãã
ä¾
(let ((anything-candidate-number-limit 5)) (anything '(((name . "default") (candidates "1" "2" "3" "4" "5" "6") (action . identity)) ((name . "overrided") (candidates "1" "2" "3" "4" "5" "6") (candidate-number-limit . 3) (action . identity)))))
ãããã«å ãã¦ãã©ã°ã¤ã³ã§å®è£ ããã¦ããå±æ§ãããã¾ãã
çµã¿è¾¼ã¿ãã©ã°ã¤ã³
å
ã
ãæ
å ±æºã«typeå±æ§ãæå®ããã¦ããã°ãanything-type-attributesããtypeã«å¯¾å¿ããå±æ§ãã¡ï¼ä¸»ã«actionï¼ãæ¿å
¥ãã¦ãããæ©è½ãããã¾ãããã®ãããã§åè£ããã¡ã¤ã«åã®ã¨ãã¯æ
å ±æºãå®ç¾©ãããã³ã«ãã¡ã¤ã«ãéããªã©ã®ã¢ã¯ã·ã§ã³ãå®ç¾©ããã«(type . file)ã¨æ¸ãã¦ããã ãã§ãã¿ã¾ãããããã¯ãæ
å ±æºãåºæ¬çãªå±æ§ã«ã³ã³ãã¤ã«ãã¦ããã¨èãããã¨ãã§ãã¾ãã
ãã®èãæ¹ãè¸è¥²ããä»»æã®å±æ§ãå®ç¾©ã§ããããã«ããã®ããã©ã°ã¤ã³ã§ããanything.elæ¬ä½ã§ã¯ã3種é¡ã®å±æ§ããã©ã°ã¤ã³ã§å®ç¾©ããã¦ãã¦ãããã©ã«ãã§æå¹ã«ãªã£ã¦ãã¾ãããã®ãã¡ã²ã¨ã¤ã¯ä»¥åãããããtypeãå±æ§ã§ãã
ãµãã¤ãã¯ãcandidates-in-bufferãå±æ§ã§ããããã¯ãåè£ã®çµãè¾¼ã¿ãå¾æ¥ã®æååãªã¹ããstring-matchã§çµãè¾¼ãæ¹æ³ã§ã¯ãªãã¦ããããã¡å ã§search-forward/re-search-forwardã使ã£ã¦çµãè¾¼ãæ¹æ³ãæä¾ãã¾ãããã®æ¹æ³ãªãã°ãããããã®åè£ãæ±ãã¨ãã«é度ãå¤§å¹ ã«åä¸ãã¾ããã¾ããããã»ã¹ã®åºåãæ±ãå ´åã¯candidates-in-bufferã使ãæ¹ãã³ã¼ããç°¡ç¥ã«ãªãã¾ããcandidates-in-bufferå±æ§ã¯ããget-lineãå±æ§ã¨ãsearchãå±æ§ã§ç´°ããå¶å¾¡ã§ãã¾ãã詳ããã¯anything.elの新機能「バッファによる候補作成」の予告 - http://rubikitch.com/に移転しましたãã©ãããâã®persistent-actionã®ä¾ããããã¦ã
ã¿ã£ã¤ãã¯ãdummyãå±æ§ã§ããå ¥åããã®ã¾ã¾åè£ã«ããã®ã§ããããã¡çãæ°è¦ä½æããæ å ±æºãä½æããã®ã«ä¾¿å©ã§ãã
ä¾
(anything '(((name . "dummy") (dummy) (action . identity))))
ãã©ã°ã¤ã³ã®ä½ææ¹æ³
ãã©ã°ã¤ã³ã¯ anything-compile-source-functions å¤æ°ã§æå®ããã¦ããã³ã³ãã¤ã©é¢æ°ãé 次å¼ã³åºããã¨ã§å®ç¾ãã¦ãã¾ãããã³ã³ãã¤ã©ãé¢æ°ã¯æ å ±æºãå¼æ°ã«åããã³ã³ãã¤ã«å¾ã®æ å ±æºãè¿ãé¢æ°ã§ãã
ãã©ã°ã¤ã³ãä½æããã«ã¯ãã³ã³ãã¤ã©é¢æ°ãæ¸ããanything-compile-source-functionsã«add-to-listã§è¿½å ããã ãã§ããå ·ä½çãªä½ãæ¹ã¯typeãdummyãcandidates-in-bufferã®å®ç¾©ãè¦ã¦ã¿ãã®ãæ©ãã§ãããã
anythingã®çç¥å¯è½å¼æ°
anythingé¢æ°ã¯å ã ç¡å¼æ°ã§ããããanythingãEmacs Lispããã°ã©ã ã«çµã¿è¾¼ããã¨ãèãããçç¥å¯è½å¼æ°ãã¤ããã®ã便å©ã¨å¤æãã¾ããã
(anything &optional SOURCES INPUT PROMPT RESUME PRESELECT)
SOURCESã¯ä¸ã®ä¾ã«ãããããã«anything-sourcesãæå®ãã¾ããããletãã¤ã³ãããå¿ è¦ã¯ããã¾ãããæ å ±æºã®ãªã¹ããã·ã³ãã«ã®ãªã¹ã以å¤ã«åä¸ã®ã·ã³ãã«ãæå®ã§ãã¾ããä¾ãã°ã以ä¸ã®ããã«ããã°ãanything-c-source-buffersã®åä½ç¢ºèªãã§ãã¾ãã
ä¾
(anything 'anything-c-source-buffers)
INPUTã¯åæç¶æ ã®å ¥åãæå®ãã¾ãã
ä¾
(anything 'anything-c-source-buffers "any")
PROMPTã¯ããã³ãããæå®ãã¾ããå
ã
ã¯ãpattern: ãã«ãã¼ãã³ã¼ãã£ã³ã°ããã¦ãã¾ããã
ä¾
(anything 'anything-c-source-buffers "any" "Buffer: ")
RESUMEã¯ç´åã®anythingã復å ãã¾ããããã«ã¤ãã¦ã¯anything-resumeé¢æ°ã使ã£ã¦ãã ããã
PRESELECTã¯æåã«é¸æããåè£ãæå®ãã¾ããåè£æååãã®ã¾ã¾ãæ£è¦è¡¨ç¾ãæå®ãã¾ãã
ä¾
(anything '(((name . "test") (candidates "1" "2" "3" "4" "5" "6") (action . identity))) nil nil nil "3")
æ°ããåè£ä½ææ¹æ³ï¼candidates-in-bufferï¼
anything.elの新機能「バッファによる候補作成」の予告 - http://rubikitch.com/に移転しましたåç §ã
ãã¹ã
anything.elã¯ãã¹ãé§åéçºãæ¯æ´ãã¾ããanything-test-candidatesé¢æ°ãæ å ±æºã®ã¦ããããã¹ããæ¯æ´ãã¾ãã
(anything-test-candidates SOURCES &optional (INPUT "") (COMPILE-SOURCE-FUNCTIONS anything-compile-source-functions-default))
SOUCESã¯ãã¹ã対象ã®anything-sourcesï¼åç¬ã·ã³ãã«ãå«ãï¼ãINPUTã¯åæå ¥åï¼anything-patternï¼ãCOMPILE-SOURCE-FUNCTIONSã¯ä½¿ç¨ãããã©ã°ã¤ã³ã§ãã
è¿ãå¤ã¯ä»¥ä¸ã®å½¢å¼ã¨ãªãã¾ãã
(("source name1" ("candidate1" "candidate2")) ("source name2" ("candidate3" "candidate4")))
ä¾
(anything-test-candidates '(((name . "test1") (candidates "1" "2" "3" "4" "5" ) (action . identity)) ((name . "test2") (candidates "6" "7" "8" "9" "10") (action . identity))))
ã¾ã¨ã
éçºè ãªãã°anything.elåé ã®CommentaryãTipsãæ«å°¾ã®ã¦ããããã¹ããèªãã§ã¿ãã»ãããããã¨æãã¾ããå ·ä½çãªä½¿ç¨ä¾ã¯åã®è¨å®ãã©ããã
http://www.emacswiki.org/cgi-bin/emacs/RubikitchAnythingConfiguration
ãã®ãã¼ã¸ã¯å¾ã 追è¨ãã¾ãã
åè¨èã¯ãããanythingã§ã§ããããï¼æµè¡ãããã
*1:ããã¯ããã©ã«ãã§ã¯ãªããï½