2008-10-06 3 views
8

나는 엄지 드라이브에서 여러 다른 (windows) 컴퓨터에서 사용하는 emacs 사본을 가지고 있으며, 이맥스 내에서 bash 별칭 또는 symlink와 비슷한 종류의 것을 만들 수 있는지 궁금합니다. ? 찾기 파일 내에서 사용할 수있는 것이 내가 찾는 주요 내용입니다. 예를 들어 C-f <some link>은 어딘가로 나를 데려 갈 것입니다. 현재 나는 새로운 컴퓨터에 갈 때마다 새로운 defun을 추가해야합니다. 그것은 단지 고통 일뿐입니다. 맹세 나는 이것을 어딘가에서 보았습니다. 그러나 수개월의 인터넷 검색 결과는 나타나지 않았습니다. 내가 지금 가지고 무엇이맥스에 별명을 만드시겠습니까?

은 같은 것입니다 :

(defun go-awesome() 
    "Find my way to my work home" 
    (interactive) 
    (find-file "c:/cygwin/home/awesome")) 

하지만 그건 그냥 그냥 반 정기적으로 방문 파일을 방문해 주셔서 매우 해키를 방문 increadibly 과장 및 해키 느낀다. 새로운 파일을 만들려면 많은 노력이 필요합니다.

제 생각에는 문제가되는 것은 내 작업 흐름에 맞지 않는다는 것입니다. 내가 항상 파일을 방문하고 싶을 때 나는 항상 C-x C-f을하고, "나는 직장에있어."라고 생각하면 C-g M-x go-awesome을해야만한다. 아마도 내가 ln -s /some/awesome/dir과 동등하지만 OS에 내장 된 대신 이맥스 내부에 뭔가를 할 수 있기를 원한다면 더 분명 할 것입니다. 따라서 C-x C-f ~/awesome/some/sub/dir은 창이나 다른 곳에서 작동합니다.

+0

찾고 계신 것을 더 자세히 설명해주십시오. 새 컴퓨터를 갈 때 다시 쓰기 기능이 있습니까 (예 : 엄지 드라이브에 .emacs 파일이 없습니다)? – dwj

+0

어떤 기능을 다시 작성 하시겠습니까? (find-config-file과 같은 특정 파일을 열 때 이러한 함수의 목적은 무엇입니까?) "Cf config-file"으로 이동하고 의존하는 위치에서 blah.conf를 자동으로로드 하시겠습니까 어떤 기계를 사용하고 있습니까? –

답변

11

나는 당신이 무엇을 요구하고 있는지 분명하지 않습니다. 내 이맥스에서 레지스터에 내 일반적으로 사용되는 파일을 저장 :

(set-register ?c '(file . "c:/data/common.txt")) 
(set-register ?f '(file . "c:/data/frequent.txt")) 

가 그럼 난 jump-to-register (C-x r j)와 함께 파일로 이동할 수 있습니다 : 예를 들어

, "C-x r j c"(c:/data/common.txt에로드를 나를 필요 필요한 경우).

찾고 계신가요?

-1

나는 원래의 질문에이 이전하지만, 사람들이 이미 그것을 내가 가지고있는 것보다 더 나은 방법입니다

을 반응 때문에 내가 여기를 떠날거야,하지만 난 아마 존재 같은 것을 느낀다 예를 들어 대체 할 무언가이다 :

(defun nuke() 
    "alias delete-trailing-whitespace" 
    (interactive) 
    (delete-trailing-whitespace)) 

덜 해키 느낌, 그리고 실제로이되어 있었던 일을있는 것처럼 일을 대신 진짜로 할 게 어떤 기분인지 정말 큰 일을 할 수 빛.

의미가 있습니까?

귀하의 등록 과목이 실제로 내가 원하는 것보다 좋을 수도 있습니다.

(defalias 'nuke 'delete-trailing-whitespace) 

을하지만 이맥스의 함수 이름이 너무 긴 불평하는 경우 partial-completion-mode에 보일 것입니다 : 당신이 함수에 별칭을 원하는 경우에

+0

이것은 정말로 질문에 추가되었을 것입니다. (또는 질문을 명확하게하고 대답으로 게시하십시오.) – cjm

2

, 당신은 defalias를 사용합니다.켜져 있으면

M-x d-t-w [RET] 

delete-trailing-whitespace입니다.

0

내가 원하는 것은 키보드 매크로를 정의 할 수있는 명령으로 주어진 파일을 여는 것입니다. 이 매크로는 열 파일 ~/.bashrc에

C-x(# start defining the macro 
C-x C-f ~/.bashrc 
C-x) # end definition 

그럼 당신은이 매크로는 이름 MX의 visitbashrc

하여 호출 할 수 있습니다 다음

M-x name-last-kbd-macro 
visitbashrc #give it a name 

당신이 정의를 저장할 수 있습니다 이름을 지정할 수 있습니다 예를 들어이 파일 을 방문하여 정의를 삽입하면 파일은 .emacs이고,

M-x insert-kbd-macro 
0

아래에이 설정이 있습니다. 예를 들어, 바탕 화면 (D :/Desktop)에서 파일을 찾으려면 F3 j F3을 입력하고 시작 경로와 상관없이 미니 버퍼에는 이제 "D : \ Desktop \"이 표시되고, 바탕 화면에 파일 이름을 입력 할 준비가되었습니다. 나는 j, k, l, i b/c에 바로 가기를 설정했는데 왼손이 어디에 있는지는 비슷하지만이 설정으로 4 자까지의 단축키가 작동합니다. 따라서 "awsome"파일에 대한 항목을 추가 할 수 있습니다 (예 : "awe"). F3을 입력하면 F3을 입력하여 파일을 방문 할 수 있습니다. 이것이 당신이 찾고있는 것인지 아닌지를 모릅니다.

(global-set-key [f3] 'ffap) 

;comcplete shortcut in minibuffer 
(define-key minibuffer-local-completion-map (kbd "<f3>") 
         'complete-minibuffer-path) 

(defun complete-minibuffer-path() 
    "Extension to the complete word facility of the minibuffer by 
replacing matching strings to a specific path" 
    (interactive) 
    (setq found t) 
    (cond 
    ; just add new entries if needed; shortcut up to 4 letters will work 
    ((looking-back "j" 5 nil) (setq directory "D:/Desktop/")) 
    ((looking-back "k" 5 nil) (setq directory "D:/Documents/")) 
    ((looking-back "l" 5 nil) (setq directory home-dir)) 
    ((looking-back "i" 5 nil) (setq directory "D:/Programs/")) 
    (t (setq found nil))) 
    (cond (found (beginning-of-line) 
       (kill-line) 
       (insert directory)) 
     (t (minibuffer-complete)))) 
0

이것은 blog entry 거의 내가 원하는 것을 정확히, 기본적으로 나를 미니 버퍼에 $ 공격하자 정의하고 내가 이동할 수 있습니다 내 북마크 목록에 저를 선물한다) 그러나 이것은 나에게 타이핑을 많이 저장 에. 내가 파일 북마크를 지정하면 디렉토리 대신 파일로 옮겨 지지만, 북마크가있는 파일이 목록 맨 위에있는 경향이 있다는 점을 감안할 때, 필자는 그것을 조정할 수도있다.

2

여기 당신이 필요로하는 무엇을 -

  • 당신이 방문 할 컨텍스트에 해당 책갈피를 정의합니다. Bookmark+으로 이것은 단지 파일 일 필요는 없습니다. 또한 북마크 +와 함께 전체 이맥스 바탕 화면 또는 (저장)의 표시와 Dired 버퍼, 다른 책갈피의 집합 ...

  • 사용 Icicles 될 수 있습니다. C-x C-f 등을 사용하여 파일을 방문 할 때마다 visit a file or directory bookmark (북마크 이름에 대해 완료)을 사용할 수도 있습니다. 파일 이름 완성을 위해 미니 버퍼에있을 때 C-x m을 누르십시오.

+0

이 놀라운 이맥스 패키지에 대한 포인터를 보내 주셔서 감사합니다.다행스럽게도 고드름 현상은 우분투에서 사용할 수있는 패키지입니다 (Lucid로 시작). 북마크 + 설치하는 바보 같은 수동 단계가 걸립니다,하지만 그만한 가치 .... – nealmcb

관련 문제