vi 에서 ctrl+n과 완전 동일하게 비슷한 word로 확 바꿔버리는 기능은
emacs에서 alt+/
windows RAD툴에서 처럼 팝업으로 .. 그리고 구조체 접근 같은 경우 . -> 등을 타이핑 하면
멤버가 쫙 나오는 그런거..
찾고 싶다..
2008년 8월 7일 목요일
vi code complete
autocomplpop.vim : Automatically open the popup menu for completion
http://www.vim.org/scripts/script.php?script_id=1879
에서 autocomplpop.vim을 다운받아
~/.vim/plugin에 복사하면 끝이다.
vi에서 코드 완성 기능을 쓸수 있다.
ctrl + n 도 괞찮은 기능 같다.
http://www.vim.org/scripts/script.php?script_id=1879
에서 autocomplpop.vim을 다운받아
~/.vim/plugin에 복사하면 끝이다.
vi에서 코드 완성 기능을 쓸수 있다.
ctrl + n 도 괞찮은 기능 같다.
emacs 에서 matching brace
(define-key global-map "\M-]" 'matching-brace-or-self-insert)
(defun matching-brace-or-self-insert ()
(interactive)
(let ((char (char-after)))
(cond ((member char (mapcar* #'identity "[({"))
(forward-sexp 1)
(backward-char 1))
((member char (mapcar* #'identity "])}"))
(forward-char 1)
(backward-sexp 1))
(t (call-interactively 'self-insert-command)))))
인터넷에서 위에 내용을 .emacs에 추가 하면 된다는 글을 보았다.
하지만 안된다.
apt-get install cedet-common
을 설치 하고 나니 된다.
추가로
(load-file "/usr/share/emacs/site-lisp/cedet-common/cedet.el");
를 해야 한다.
cogre 버젼 어쩌구 에러가 초기 화면에 보인다면.
시냅틱 패키지 관리자에서 설치 해주면 된다.
이제 vim %와 같은 기능이 된다.
소스 분석 할때 { .... } ( .... ) 를 오고 가는 일은 정말 중요 하니까...
(defun matching-brace-or-self-insert ()
(interactive)
(let ((char (char-after)))
(cond ((member char (mapcar* #'identity "[({"))
(forward-sexp 1)
(backward-char 1))
((member char (mapcar* #'identity "])}"))
(forward-char 1)
(backward-sexp 1))
(t (call-interactively 'self-insert-command)))))
인터넷에서 위에 내용을 .emacs에 추가 하면 된다는 글을 보았다.
하지만 안된다.
apt-get install cedet-common
을 설치 하고 나니 된다.
추가로
(load-file "/usr/share/emacs/site-lisp/cedet-common/cedet.el");
를 해야 한다.
cogre 버젼 어쩌구 에러가 초기 화면에 보인다면.
시냅틱 패키지 관리자에서 설치 해주면 된다.
이제 vim %와 같은 기능이 된다.
소스 분석 할때 { .... } ( .... ) 를 오고 가는 일은 정말 중요 하니까...
emacs 에서 Ctrl + TAB 으로 버퍼 전환 하기
원문 : http://www.emacswiki.org/cgi-bin/wiki/ControlTABbufferCycling
.emacs 파일에 아래의 내용을 추가 하면 된다.
;; Support functions for `stesla-rotate-buffers'. From the EmacsWiki.
(defvar stesla-hated-buffers '("KILL" "*Apropos*" "*Completions*" "*grep*"
".newsrc-dribble" ".bbdb" "sent-mail" "*vc*"
"*Compile-Log*" "*Help*" "*Messages*"))
(defvar stesla-hated-buffer-regexps '("^ " "*Buffer" "^\\*trace" "^\\*tramp"))
(setq iswitchb-buffer-ignore (append stesla-hated-buffer-regexps stesla-hated-buffers))
(defmacro stesla-buffer-regexp-mapcar (regexp buffers)
"Find BUFFERS whose name matches REGEXP"
`(mapcar (lambda (this-buffer)
(if (string-match ,regexp (buffer-name this-buffer))
this-buffer))
,(if (symbolp buffers) (symbol-value buffers) buffers)))
(defmacro stesla-hated-buffer-from-regexps (regexps)
"Generate a one-dimensional list of buffers that match REGEXPS"
(append
'(append)
(mapcar (lambda (regexp)
`(delete nil (stesla-buffer-regexp-mapcar ,regexp
(buffer-list))))
(if (symbolp regexps) (symbol-value regexps) regexps))))
(defun stesla-delete-from-list (delete-these from-list)
"Delete DELETE-THESE from FROM-LIST."
(cond
((car delete-these)
(if (member (car delete-these) from-list)
(stesla-delete-from-list (cdr delete-these)
(delete (car delete-these) from-list))
(stesla-delete-from-list (cdr delete-these) from-list)))
(t from-list)))
(defun stesla-hated-buffers ()
"List of buffers I never want to see."
(delete nil
(append
(mapcar 'get-buffer stesla-hated-buffers)
(stesla-hated-buffer-from-regexps stesla-hated-buffer-regexps))))
;; `stesla-rotate-buffers': Like `bury-buffer' but with the capability to
;; exclude certain specified buffers.
(defun stesla-rotate-buffers (&optional n)
"Switch to the Nth next buffer. Negative arguments move backwards."
(interactive)
(unless n
(setq n 1))
(let ((my-buffer-list
(stesla-delete-from-list (stesla-hated-buffers)
(buffer-list (selected-frame)))))
(switch-to-buffer
(if (< n 0)
(nth (+ (length my-buffer-list) n)
my-buffer-list)
(bury-buffer)
(nth n my-buffer-list)))))
;; Windows-style C-TAB and C-M-TAB to switch buffers.
(global-set-key (kbd "C-") 'stesla-rotate-buffers)
(global-set-key (kbd "C-M-") (lambda ()
(interactive)
(stesla-rotate-buffers -1)))
;; This is C-TAB and C-M-TAB for the Linux console. This requires special
;; setup; namely, you need to load a keymap file with /usr/bin/loadkeys
;; containing the following lines:
;;
;; control keycode 15 = Macro
;; control alt keycode 15 = Pause
;;
;; If you actually -have- a key that generates the Macro or Pause keysyms, you
;; have a better keyboard than I. For me, this makes Emacs DWIW. Credit for
;; this hack goes to Alex Schroeder.
(global-set-key (kbd "ESC [ M") 'stesla-rotate-buffers)
(global-set-key (kbd "ESC [ P") (lambda ()
(interactive)
(stesla-rotate-buffers -1)))
2008년 8월 6일 수요일
vi에서 { } 메치 찾기
코드 분석하다가 긴 { ... } 블럭에 처음과 끝을 오가고 싶을때
%를 누르면..
찾아 준다.
왜 지금껏 몰랐을까...
( .... ) 도 된다.
emacs에서도 이런 기능이 있을텐데....
%를 누르면..
찾아 준다.
왜 지금껏 몰랐을까...
( .... ) 도 된다.
emacs에서도 이런 기능이 있을텐데....
피드 구독하기:
글 (Atom)