>

여러 개의 emacs 구성/버전을 동시에 사용하여 구성에 자체 구성 디렉토리와 elpa 저장소가있는 구성이 서로 방해하지 않도록하고 싶습니다. ~/.emacs.d 의 심볼릭 링크에 대한 트릭에 대해 들었습니다.  그리고 ~/.emacs 하지만 기본 emacs 설치를 실행하고동시테스트 설치 (새로운 emacs 릴리스) 또는 Spacemacs 또는 Prelude와 같은 다른 설정을 실행할 수있는 것이 가장 좋기 때문에 이것이 내가 원하는 것이 아닙니다.

이 작업을 수행하는 적절한 방법이 있습니까?

  • 답변 # 1

    방금 chemacs를 사용하여 해냈습니다.

    홈 폴더에 .emacs 파일이없는 경우 다음 지침에 따라 설치할 수 있습니다.

    Git 저장소를 복제하고 install.sh를 실행하십시오

    $ git clone https://github.com/plexus/chemacs.git
    $ cd chemacs
    $ ./install.sh
    
    

    이 메시지가 나타납니다 :

    OK      Creating symlink ~/.emacs -> /home/arne/chemacs/.emacs
    
    

    이미 .emacs 파일이 있으면 이름을 바꾸거나 다른 곳으로 옮기십시오.

    다음 단계로 홈 폴더에.emacs-profiles.el파일을 만드십시오 :

    $ touch .emacs-profiles.el
    
    

    이 파일의 예는 다음과 같습니다 :

    (("default" . ((user-emacs-directory . "~/.emacs.d")))
     ("spacemacs" . ((user-emacs-directory . "~/spacemacs"))))
    
    

    내 것은 다음과 같다 :

    (("default" . ((user-emacs-directory . "~/.emacs.d"))) ;; DoomEmacs, my default emacs
     ("prelude" . ((user-emacs-directory . "~/emacsprelude/.emacs.d"))) ;; Prelude
     ("goodemacs" . ((user-emacs-directory . "~/myemacs/.emacs.d")))    ;; my own config
     ("spacemacs" . ((user-emacs-directory . "~/spacemacs/.emacs.d")))) ;; Spacemacs
    
    

    여기서 ~/myemacs/.emacs.d/init.el 파일을 생성합니다 , 내 자신의 구성을 위해.

    이제 설정을 사용하기 위해 다음 명령 중 하나를 실행합니다 :

    $ emacs --with-profile 
    $ emacs --with-profile myemacs 
    $ emacs --with-profile prelude
    $ emacs --with-profile spacemacs
    
    

    도움이 필요합니다.

  • 답변 # 2

    Spacemacs Github 사이트의 팁과 같은 것을 원했기 때문에 다음 구성을 생각해 보았습니다.이 스크립트는 대체 구성이 ~/alternate-emacsen/NAME-OF-CONFIG 에 저장되어 있다고 가정합니다. . 나는 이것을 사용합니다. 평범한 emacs25로 작업하면서 원할 때마다 스페이스 맥, 파멸 emacs 또는 변형 구성을 사용할 수있는 emacs26 시험판 테스트.

    스크립트는 ~/bin 에 있습니다  그 <name-of-config> 를 가정  그리고 그것을 호출하는 소프트 링크의 이름은 동일합니다. 예. ~/alternate-emacsen/deepin-emacs 에 저장된 구성을 시작하려면  당신은 소프트 링크 ~/bin/deepin-emacs 가 필요합니다 .

    와이즈 비즈를 넣어주세요   .emacs.d 내부  후자는 가짜 홈 디렉토리로 사용되므로 실제 <name-of-config>  그리고 ~/.emacs.d  만지지 마세요.

    이 기능이 유용하거나 필요에 적합하다고 생각되면 자유롭게 사용하십시오.

    ~/.emacs
    
    

    #!/bin/bash # alternate-emacsen –– A bash script to launch Emacs in completely different # configurations, like GNU default, Deepin Emacs, # Spacemacs, CL server,… from their own config directory # trees. # Usage: # – create a directory $HOME/alternate-emacsen/name-of-config, containing an # .emacs.d with all the base configuration inside it. Put the init file into # <name-of-config> if necessary. # – create a link to this script, eg. # ln -s $HOME/bin/alternate-emacsen.sh $HOME/bin/emacs-unstable # ln -s $HOME/bin/alternate-emacsen.sh $HOME/bin/spacemacs # ln -s $HOME/bin/alternate-emacsen.sh $HOME/bin/doom-emacs # ln -s $HOME/bin/alternate-emacsen.sh $HOME/bin/deepin-emacs # ln -s $HOME/bin/alternate-emacsen.sh $HOME/bin/prelude-emacs # ln -s $HOME/bin/alternate-emacsen.sh $HOME/bin/emacsstarterkit # ln -s $HOME/bin/alternate-emacsen.sh $HOME/bin/exwm # ln -s $HOME/bin/alternate-emacsen.sh $HOME/bin/clemacsd # – set $emacsbin below to the emacs version you prefer/use. or set it to # /usr/bin/emacs for the system's default. I use emacs-25.2 with the # Athena/Lucid X widget set as my default GUI (not GTK because I do not like # it for several reasons), so it is set as default. # – edit the emacs2x entries to reflect your preferences like in the previous # step. self="emacs config launcher"; emacsconfig=`basename -- "$0"`; userhome=$HOME; HOME=$HOME/alternate-emacsen/$emacsconfig; test -d "$HOME" || { \ echo >&2 "$self: ERROR –– $HOME does not exist!"; exit 1; }; # On my system, Emacs 23.2/GTK2 (in /usr/bin) is the default, but I prefer Emacs # 25 with pure X11 Lucid interface. Also, the system default uses partly # incompatible ELisp packages (both to Emacs 23 and Emacs 25), so I ignore them # by not using /usr/share/* at all (the other Emacsen are compiled to reside in # /usr/local and thus ignore the outer /usr tree). emacsbin=/usr/local/bin/emacs-25.2-lucid; sysdefaultemacs=/usr/bin/emacs; emacs23=$sysdefaultemacs; emacs24=/usr/local/bin/emacs-24.4-lucid; emacs25=/usr/local/bin/emacs-25.2-lucid; emacs26=/usr/local/bin/emacs-26; emacstesting=$emacs26; case $emacsconfig in spacemacs|deepin-emacs|clemacs|doom-emacs|prelude-emacs|emacsstarterkit) emacsbin=${emacs25}; ;; exwm) emacsbin=${emacs24}; ;; emacs-testing|emacs-unstable) emacsbin=${emacstesting}; ;; *) HOME=$userhome; ;; # use emacsbin as defined in the settings esac export HOME; unset userhome; cd "$HOME"; if test -e "$emacsbin"; then $emacsbin "[email protected]" else echo >&2 "$self: ERROR –– not found: $emacsbin"; exit 1 fi

  • 이전 angular : Routermodule 구성 요소, LoadChildren, RedirectTo.
  • 다음 emacs - 마지막 커밋 메시지 수정 및 업스트림 푸시