목록이맥스 (9)
컴돌이
원격 파일 접근 기능https://www.gnu.org/software/tramp/ TRAMP(Transparent Remote (file) Access, Multiple Protocol)로컬 환경 dired 모드와 동일한 인터페이스로 원격 시스템에 접근 가능eshell 을 이용한 원격 환경에서 명령 수행 가능원격 환경에 emacs 설치하지 않아도 됨 접속 방법C-x C-f (파일 열기) 경로 작성법/:@: /ssh:user@host:/path/to/filessh 접속 방식으로 user 라는 사용자명으로 host 에 접속하고 /path/to/file 에 접근/ssh::로컬 호스트에 ssh 로 접속홈디렉토리로 이동윈도우즈의 경우 putty 의 plink 를 이용해 접속하는 경우/plink:user@host..
매번 emacs 사용할 때 마다 사용하는 설정을 초기 설정 파일에 작성하면 편리하다. 대표적으로 초기 설정 파일은 $HOME/.emacs 파일 경로로 작성한다.Emacs lisp 언어를 사용한다.Emacs lisp 기본먼저 LISP(LISt Processing) 는 1950년대 개발된 언어로 두번째로 가장 오래된 고급 언어라고 한다. (참고)LISP 은 여러 형태의 변종 언어가 존재하는데 emacs 확장 언어로 lisp 계열 언어를 개발하였다. (참고)예) make-backup-files 값을 nil 로 설정 (백업 파일을 자동으로 생성하는 설정을 해제)(setq make-backup-files nil) Global 초기 설정 파일파일 위치$HOME/.emacs또는$HOME /.emacs.el, $HOM..

Emacs 는 프로그램 개발 편의 기능들을 제공한다. 그 중 compliation buffer 와 etags 라는 내장 기능을 알아본다.Compilation buffer컴파일과 같은 빌드 명령 수행 과정 중 오류를 나타내는 줄을 탐색할 수 있고 빌드 결과를 성공 여부로 표시해 주는 buffer Compilation buffer 는 다음과 같은 기능이 있다.컴파일 과정의 로그를 출력컴파일 명령 완료 시 성공, 실패 여부를 표시오류 로그를 파싱하여 문제가 발생한 파일과 줄번호로 손쉽게 이동하는 기능단, emacs 는 GNU build system 을 기본으로 하고 있어 Makefile, gcc 등을 기반으로 지원하고 있다.만약 오류 로그가 GNU build system 에서 표시하는 방식이 아니라면 해당 ..

Emacs 내장 shell: eshell 말 그대로 Emacs 내장 쉘이다.여타 쉘(bash, zsh 등)과 같이 기본적인 명령 수행의 기능은 동일하지만 emacs 버퍼에서 수행, emacs lisp 수행 등 부가적인 장점이 있다.기본적으로 Fundamental 모드 기능들이 작동한다.주의할 점은 터미널 UI 기능을 사용하는 프로그램(VIM 등)은 제대로 동작하지 않음 eshell 열기M-x eshell RET하나더 열기다시 M-x eshell RET 명령을 수행하면 새로운 eshell 을 생성하지 않고 이미 열려 있는 eshell 버퍼로 이동한다. C-u M-x eshell RET커서 이동명령 수행한 결과(출력물)을 탐색하거나 복사하기 위해 커서를 이동할 수 있다.커서가 명령 프롬프트가 아닌 위치에서 ..

vscode 의 강점은 다양한 확장 플러그인을 제공한다는 점이다. 누구나 마켓플레이스에 등록하고 개발한 플러그인을 업데이트 할 수 있다. Emacs 패키지 매니저 또한 동일한 방식으로 운영된다.MELPA 저장소 활성화Emacs 기본 패키지 저장소(ELPA) 보다 MELPA 에 최신 패키지들이 업데이트되고 있다. MELPA 저장소https://melpa.org/#/getting-started예) $HOME/.emacs 파일에 추가하고 emacs 재시작(require 'package)(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)(package-initialize) 패키지 관리자https://w..

GUI 환경에서 주로 볼 수 있는 탭 기능과 같이 emacs 도 다중 버퍼(작업 영역)을 제공하고 분할 윈도(창) 기능을 제공한다. 윈도(창) 관리먼저 창 관리부터 살펴보자. 위 아래로 화면 나누기C-x 2 왼쪽 오른쪽로 화면 나누기C-x 3 창간 커서 이동(왼쪽 → 오른쪽 방향, 오른쪽 끝이면 아래 왼쪽 첫번째 창)C-x o(영문자 오) 역방향 이동C-u -1 C-x o ※ 필자는 입력이 불편하기 때문에 역방향은 잘 사용하지는 않고 GUI 버전은 마우스 클릭으로 창 이동하거나 단축키를 커스텀하게 사용하고 있음(제일 아래 팁에 커스텀 코드 있음) 창 제거(버퍼는 제거되지 않음)C-x 0(숫자 영) 현재 창 외에 모두 닫기C-x 1 GUI 버전새로운 OS 단의 창 추가C-x 5 2창(OS 단)간 이동C-x..