2011-01-13 4 views
2

나는 이맥스에서 소스 파일을 탐색 중이며 동료의 관심을 끌고 싶다는 것을 알았습니다. 점의 파일 이름과 위치를 가져 오는 쉬운 방법 (예 : 명령)이 있습니까? 예 : 내가 foo.cpp에 선 (21)에있어 경우Emacs : 파일에서 위치를 결정하십시오.

c:\temp\foo.cpp:21 

답변

5

이 기능은 원하는대로 작동합니다. 정보를 메시지로 표시하고 쉽게 붙여 넣을 수 있도록 kill-ring에 추가합니다.

(defun get-file-line() 
    "show (and set kill-ring) current file and line" 
    (interactive) 
    (unless (buffer-file-name) 
    (error "No file for buffer %s" (buffer-name))) 
    (let ((msg (format "%s:%d" 
        (file-truename (buffer-file-name)) 
        (line-number-at-pos)))) 
    (kill-new msg) 
    (message msg))) 
+0

Perfect - 시간을내어 주셔서 감사합니다. – cristobalito

0

기능의 몇 가지 마음에 와서 : 보통 키에 바인딩되지

버퍼의 기본 파일 이름이있는 경우 해당 파일을 인쇄하지 않지만 모드 행 표시가 필요에 맞지 않는 경우 대화식 기능을 작성할 수 있습니다.

+0

감사합니다. seh - 정확히 내가 찾던 것이 아닙니다. JB가 언급했듯이이 모든 것은 (일반적으로) 모더린을 통해 가능합니다. – cristobalito

1

버퍼 이름은 일반적으로 파일 이름과 동일하며 기본적으로 줄 번호는 모델에도 있습니다.

설명하는 형식을 사용하여 직접 둘 다보고하는 기존 명령을 알지 못합니다.하지만 기본 형식이 충분하지 않은 경우 직접 작성하는 것은 쉽지 않습니다.

0

위치를 북마크 할 수도 있습니다. C-x r m.

북마크 개체를 북마크 파일에 추가합니다. 변수 값은 bookmark-default-file이며 기본값은 "~/.emacs.bmk"입니다.

자신의 북마크 파일에서 복사하여 동료에게 보낼 수 있습니다.

C-x r b은 북마크로 바로 연결됩니다. Emacs 매뉴얼, 노드 Bookmarks을보십시오.

관련 문제