본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

Emacs 사용법

by 3604 2024. 3. 8.
728x90

 

 ▣ Emacs 사용법 ver 3.0 March 20,1996▶ 여기에서 사용 되는 기호는 다음과 같다.  <C- > C 는 Ctrl-key 를 의미한다.  <M- > M 은 Alt-key 혹은 Esc-key 를 의미한다.  <S- > S 는 shift-key 를 나타냄.

▣ Ctrl에 관련된 명령어 ▣


⊙ 파일 입,출력 및 파일 관리


  <C-x> <C-s>  ; 변경된 내용을 파일로 저장 (buffer save)

  <C-x> <C-w>  ; 변경된 내용을 새 파일 이름으로 저장(new name)

  <C-x> <C-c>  ; emacs 종료(exit)

  <C-x> <C-d>  ; 경로 찾기(find directory)

  <C-x> <C-f>  ; 파일을 찾기(file find)



                 Find file : / 원하는 파일 이름이나 경로명

                 Find file : /example.tex

                 혹은

                 Find file : / .

                 여기서  .    ; 은 현재 경로

                         . .  ; 은 이전의 경로를 나타냄



    ▶ 아래 명령은 <C-x> <C-f> 에서 실행한 다음,

      화일들의 목록 위에서 실행되는 명령어들이다.

       <f>    ; 화일을 불러 들임. 경로를 찾아 갈 경우

       <u>    ; 마크 해제 (undo)

       <d>    ; 지우는 마크하기, 실행 명령 <x>

       <x>    ; 지우는 마크한 것을 실행 시키기(execute)

       <S-c>  ; 마크한 파일을 복사할 경우 (copy)

       <S-d>  ; 화일 지우기 (delate)

       <S-m>  ; 마크(mark) (* 이런 표시가 생김)

       <S-r>  ; 이름 변경(rename)

       <C-x> <d> ; ?



  <C-@ >  구역 시작 표시

                또한 구역 마침 표시

  write-region  filename  ;  파일로 현재 지정된 영역을 저장

  <C-x> <C-r> filename ; 파일로 읽기




⊙ 원도우 관련된 단축키


  <C-x> <2> ; 원도우 2개로 분활(separate from 1 to 2 window)

  <C-x> <1> ; 다시 한 개의 윈도우(one window)

  <C-x> <o> ; 다른 원도우로 건너 가기(other window)

  <C-x> <u> ; 마지막 명령을 다시 원상 복구하기(undo)

  <C-g>     ; 내용을 다시 입력상태로(Quit)

  Del       ; 명령취소




⊙ 문서 편집에 관련된 명령어



  <C-c> <s>  ; 단어 대치 명령(replace to other word)

               모든 rength → length 로 바꾸고자 할 때, 강제 명령

               replace ^M with ;   하면 ^M 을 전부  빈 공간으로 바꾼다.

               * 해보니 ^M 은 바뀌지 않았다. 다른 문자는 됨

     ⇒ <M-x> query-replace   ; hamiltonian → Hamiltonian 변경하기, 선택 명령

                                 <C-c> <s> 역할과 비슷한 일을 수행

  <C-d>  ; 커서가 놓인 곳의 한 글자 지우기(present one word delate)

  <C-h>  ; 커서 앞글자 지우기(forward one word delate)

  <C-k>  ; 한 라인 지우기(one line delate)

  <C-o>  ; 한 라인 삽입(one line insert)

  <C-v>  ; 한 페이지 넘기기(Page Down)



  <C-space> ; 처음 위치를 마크한다.(mark)

  <C-e>     ; 마지막 위치를 마크한다. 자동으로 line 끝으로 가기

  <C-a>     ; 블록 지정한 곳으로 처음으로 찾아가기

  <C-w>     ; 오려두기(memory by cut)

  <M-w>     ; 복사해 두기(memory)

  <C-y>     ; 오려붙이기,복사하기(copy)



⊙ 도움말 기능

  <C-h> <C-h>

  <C-k> (key)

  <M-x> man   ; 원하는 단어 입력

      예를 들어 dvips의 사용법을 알기 원하면

            <M-x> man

            Manual entry (default filename) : dvips


▣ Alt(Esc)에 관련된 명령 ▣


  <M-!>(unix command)  : unix 명령실행

          shell comand :  uudecode, ghostview, lpr, lptext etc..

  <M-x> shell    ; xterminal 창을 지원한다.

  <M-g> number   ; 라인 찾기(go to line)

                     number 자리에 숫자를 기입한다.

  <M-x> query-replace   ; hamiltonian → Hamiltonian 변경하기



  <M-x> vm   ; 메일 보기 (view mail mode)


     ▶  메일 보기에서 사용하는 명령어

      <g> ; 메일 업데이트(mail updata)

      <h> ; 보내온 메일 윈도우 창에서 메일 보기(view mail file)

      <n> ; 아래로 (down)

      <p> ; 위로(up)

      <space> ; 메일 선택하여 보기(view mail)

      <d> ; 메일 지우기 위해 D 마크하기

      <S-3> 즉 <#> ; D 마크한 메일 지우기(mail delate)

      <w> ; 화일로 저장하기(write)



  <M-x> mail   ; 메일 작성하기(make mail)


    ▶  메일 작성하기에서 사용하는 명령어

      <C-c> <C-c> ; 메일 보내기(mail send)

      <C-x> <C-s> ; 메일 화일로 저장하기(file load)



  <M-x> man    ; 원하는 단어 입력

  <M-x> sort   ; 소트하기, 정리하기(sort)

  <M-x> ispell   ; 철자 검사하기(checking the spelling)


◐ Tex 컴파일 하기 ◑


  ① shell mode 상에서

     ㉠ example.tex 컴파일하기

          $> xdvi example

     ㉢ example.tex 프린트하기

      $> chmod [option] filename
  
      $> dvips filename.dvi -o filename.ps  or

      $> dvips -o filename.ps filename.dvi

   ② emacs mode 상에서

      filename.dvi에 커서를 올려 놓고 <S-1> 즉 <!>

      ! on filename.dvi : dvips -o filename.ps


▣ Preprint 가져오는 법 ▣
                                 김  인 보 ibkim@phycmt3.sogang.ac.kr


    xxx <http://xxx.lanl.gov/> 에서 Netscape 로 파일 받기(download)해서 가져

  오거나 해당 Sever (e.g. cond-mat, hep-th, etc..) 로 E-mail 을 통해 요청하면 된다.
E-mail ; Emacs mode 상에서

              To: Cond-mat@xxx.lanl.gov

              Subject : get (or cget)  9601011(filename)

              -------------------------------------------

<C-c> <C-c> (Send mail)


▣ Preprint 컴파일과 프린터 하는 방법 ▣
                                                김  인 보 ibkim@phycmt3.sogang.ac.kr


    주로 Netscape를 통해 pre-print를 가져 오는 것이 보통이며 src(이것은 pre-print의

  soure code로서 받은 다음 tex이나 latex 명령으로 풀어야 하는 번거로움이 따른다.)

  경험적으로 Postscript(filename.ps) 형태로 가져오는 것이 제일 좋다.

  종종 Figure가 없는 경우가 있는 데 이때는 직접 저자(Author)에게 E-mail로 요청 해야하며

  이때 자신의 E-mail 주소가 아닌 집 또는 학교 주소를 함께 보내야 할 것이다.

  물론 위의 src 나 Postscript 파일들은 압축되어 있는 경우가 대부분 이므로 파일을

  저장할  때의 이름을 가령, 9601011.ps.gz 나 9601011.tex.gz 등으로 해야 하며 Emacs의

  경로(<C-x> <d>)mode 에서 파일 이름위에 커서를 갖다 놓고 <S-1> 즉 <!> 한후

  (파일에대한 조작을 하려고 할때 씀)

   <S-z> 

      Compress or uncompress filename.ps.gz? (y or n) y

  filename.ps.gz 을 푼다.

    그러면 filename.ps 형태의 파일로 바뀌는 데 이것을 보려면

   <S-1> 즉 <!>

      ! on filename.ps : ghostview  



프린트하기

    ① Emacs mode 상에서

      <S-1> or <!>

      ! on filename.ps : lpr 프린터 기종 선택
     lpr -Pcolor (Inkjet color print only my lab HEHE)

                         lpr -Pbw (600dpi 를 거의 다 활용하나 단순 흑백 논문은

                                   상태가 오히려 안좋아진다.

                                   위의 -Pcolor 를 쓰는 것이 더 좋다.)



    다음 example.tex 형태는 latex or tex comand로 푼다.

  이 과정은 Tex 컴파일 하기와 동일하니 참조하기 바란다.

    preprint의 그림자료는 볼수 없는데 이것은  ghostview 라는 것으로 볼 수 있다.

  shell mode 상에서 ghostview  &  를 실행시킨후 filename.ps 를 읽으면된다. 또는

  emacs mode 상에서는 filename.ps 위에 커서를 올려 놓고 <S-1> 즉 <!>

  ! on filename.ps  : ghostview   


▣ 그외 기타 ▣


  한글 mule에서 한/영 전환은 <C-]>

   <C-x> <m>   ; 다음 단계에서 할 수 있는 명령어를 보여 준다.

   <M-x> <Tab> ; 명령어 목록을 보여준다.



  display=phycmt2:0.0 ; physics에서 처리된 화면을 phycmt2에 나타내어라

  다른 컴퓨터에서 작업하기(마치 현재 사용 중인 컴퓨터처럼)

     xhost phycmt2    

     telnet phycmt2 

     login : hgdong

     passwad : Honggildong


▣ 명령 형태에따른  분류 ▣


♠ 이동 명령


                    위쪽 한칸 이동

                        <C-p>

                         ↑

         <C-b>  ←              →  <C-f>

      왼쪽 한칸 이동      ↓        오른쪽 한칸 이동

                        <C-n>

                    아래 줄로 이동



   <C-a>  ; 라인의 첫번째 칼럼으로 이동

   <C-e>  ; 라인의 마지막 칼럼으로 이동

   <M-f>  ; 오른쪽 한단어 뒤로 이동

   <M-b>  ; 왼쪽 한단어 앞으로 이동

   <M-a>  ; 앞 문장의 처음으로 이동 

   <M-e>  ; 뒤 문장의 끝으로 이동

   <M-r>  ; 현재 화면의 중간이 되는 줄의 첫째 칼럼으로 이동

   <M-<>  ; 편집중인 버퍼들 중 첫번째 버퍼로 이동

            버퍼가 하나일 경우 문서의 처음으로 이동

   <M->>  ; 편집중인 버퍼들 중 마지막 버퍼로 이동

            버퍼가 하나일 경우 문서의 끝으로 이동

   <M-x> goto-char ; 문서의 처음부터 N번째의 문자로 이동

   <M-x> goto-line ; 문서의 처음부터 N번째의 줄로 이동

   <C-x> <C-n>  ; 상하 줄로 이동 할때 현재 커서가 위치한 칼럼으로만 이동(goal column)

   <C-u> <C-x> <C-n>  ; goal column 기능 취소




♥ 삭제 명령


   <Del>   ; 커서가 위치한 문자의 앞문자를 지움, BS 키도 같음.

   <C-d>   ; 커서가 위치한 문자의 다음문자를 지움.

   <C-k>   ; 커서 이후의 모든 문자 삭제

   <M-d>   ; 커서 이후의 한 단어만 삭제 

   <M-Del> ; 커서 이전의 한 단어만 삭제

   <M-k>   ; 커서가 위치한 문장을 지움



♣ 파일 명령



   <C-x> <C-f>  ; 파일을 로드한다.

                  파일이 없을 경우는 새로운 파일을 생성하며, 편집 중인 파일이

                  없으면, 디렉토리의 모든 파일을 출력시킨다.

   <C-x> <C-s>  ; 파일을 저장한다.

   <M-x> recover-file  ; 파일을 복구시킨다.




♠ 커서 위치 정보


   <M-x> what-page    ; 왼쪽 한칸 이동

                      현재 위치의 해당 페이지 번호와 줄번호를 출력



   <M-x> what-line   ; 줄번호 출력



   <M-=>  ; 현재 영역의 줄번호를 출력



   <C-x> <=>  ; 현재 커서가 위치한 곳의 문자와 8진수 출력

                전체 문자중에서의 현재 문자의 위치 및 칼럼 표시




♥ 반복 실행
    동일한 명령을 반복해야 할 경우 아래와 같이 할 수 있다.



   <C-u>  ; 반복횟수 명령

            명령을 반복 횟수 만큼 반복한다.

   <Esc>  ; 반복횟수 명령

            명령을 반복 횟수 만큼 반복한다.



  ♡ UNDO


   <C-x> <u>  ; 최근에 한 작업을 그 이전 상태로 되돌린다.

   <C-_>  ; 위와 같다.

       ☞ 디폴트 30,000 개의 입력을 Undo 할 수 있다.




♣ 영역 지정


   <C-space> 또는 <C-@>  ; 현재 위치를 마크한다.

                           영역의 끝은 언제나 현재 커서 위치이다.

   <C-x> <C-x>  ; 마크된 위치와 현재 커서 위치를 서로 바꾼다.

   <C-w>  ; 지정된 영역을 지운다.

   <M-@>  ; 커서가 위치한 다음 단어만을 영역으로 지정

   <M-h>  ; 커서가 위치한 문단을 영역으로 지정

   <C-x h>; 현재 버퍼 전체를 영역으로 지정



  ♧ Yanking

     Yanking 이란, 이전에 제거된 문자들을 다시 삽입시키는 것이다.



   <C-y>  ; 최근에 지워진 문자(들)를 다시 삽입한다.(Yanking 한다.)



   <M-y>  ; Yanking 된 문자들을 그 이전에 지워진 것들로 대치한다.

            먼저, <C-y>가 실행된 후에 사용할 수 있다.



   <M-w>  ; 문자를 지우지 않고, 메모리로 복사한다.



◈ 영역의 추가와 삭제


   <M-x> append-to-buffer   ; 지정된 영역을 특정 버퍼에 추가 시킨다.

   <M-x> prepend-to-buffer   ; 지정된 영역을 특정 버퍼에 추가 시킨다.

                                 단, 해당 버퍼에 앞부분에 위치한다.

   <M-x> copy-to-buffer   ; 지정된 영역을 특정 버퍼에 추가 시킨다.

                               단, 종래의 내용을 없어진다.

   <M-x> insert-buffer    ; 특정 버퍼의 내용을 현재 편집중인 버퍼로 복사한다.

   <M-x> append-to-file   ; 지정된 영역의 내용을 특정 파일에 추가시킨다.




◆ 사각 영역

   사각 영역을 지정하는 특별한 명령이 존재하는 것은 아니며, 아래의 명령을 실행하면,

   자동적으로 사각 영역으로 지정된다.



  <M-x> kill-rectangle   ;  현재 사각 영역을 지운다. 후에 Yanking 시킬 수 있다.

  <M-x> yank-rectangle   ;  사각 영역으로 Yanking 한다.  

  <M-x> open-rectangle   ;  사각 영역안에 공백을 삽입한다.

  <M-x> delete-rectangle   ;  사각 영역을 지운다. 후에 Yanking 시킬 수 없다.

  <M-x> clear-rectangle   ;  사각 영역을 공백으로 채운다.




◆  버퍼 관리


  <C-x> <b> ;  BUFFER RET 'BUFFER' 로 편집중인 문서를 바꾼다.

  <C-x> <4> <b> ;  BUFFER RET 윈도우로 나누어 'BUFFER' 를 연다.

  <C-x> <C-b>   ;  버퍼 목록을 출력한다.

  <C-x> <C-q>   ;  편집중인 버퍼를 읽기 전용으로 만든다.

  <C-x> <k> ; BUFFER RET  'BUFFER' 를 버퍼 목록에서 제거한다.

  <M-x> buffer-menu   ;  버퍼 메뉴를 호출한다.



     ▶ 버퍼 메뉴에서의 사용 키

       버퍼 메뉴가 호출된 후에는 아래의 명령을 사용할 수 있다.



       <d>  버퍼를 목록에서 제거한다.

       <s>  버퍼를 저장한다.

       <x>  버퍼 메뉴에서 설정된 것을 실행한다.

       <u>  버퍼 메뉴 명령을 취소한다.

       <
       <q>  버퍼 메뉴를 종료한다.

       <f>  버퍼를 편집상태로 전환한다.

       <o>  윈도우를 생성하고 버퍼를 편집상태로 전환한다.

       <1>  선택된 버퍼를 풀 스크린으로 전환한다.

       <2>  선택된 버퍼와 또다른 버퍼의 내용으로 화면을 나눈다.

       <m>  화면이 나누어질때 두번째 윈도우로 출력될 것으로 선택한다.

       <v>  선택된 버퍼와 <m> 으로 선택된 버퍼 모두 출력시킨다.




♣  다중 윈도우


   <C-x> <o> ;  열려진 다른 윈도우로 이동한다.(change window)

   <C-x> <1> ;  현재 윈도우를 풀 스크린으로 한다.(only one window)

   <C-x> <2> ;  현재 윈도우를 둘로 나눈다.(separate present window)

   <C-x> <0> ;  현재 윈도우를 닫는다.(close present window)

   <C-x> <4> <b> ; BUFFER RET  두번째 윈도우에 'BUFFER'를 출력한다.

   <C-x> <4> <f> ; FILE RET  두번째 윈도우에 'FILE'을 읽어 들여 출력한다.

   <C-x> <4> ; DIRECTORY RET  두번째 윈도우에 'DIRECTORY'의 파일들을 출력시킨다.



  ♧ Mode

    Emacs 상의 모드 변환으로 다양한 일반 문서편집, C 편집, TeX 편집등의

  작업을 편하게 할 수 있다. 또한, dired-mode(파일 관리 모드), calendar(달력 모드),

  mail(메일 모드) 등 에디터 이외의 기능도 가지고 있다.



  ♧ C-MODE 설명


    일반적인 TEXT 에디터나 Emacs상의 text-mode와 주된 차이점은 자동 들여쓰기와

  괄호의 처리이다. 이런 기능들은 실제 C 코드를 깔끔하게 정렬시키기 위한

  불필요한 손동작을 줄여준다. 또한, Emacs상에서 컴파일이 가능하며,

  바로 실행시킬 수도 있다.


  ▶  들여쓰기(Identation)

    들여쓰기 키인 TAB을 사용하면, 각각의 문장마다 적당한 위치로 커서의 위치가 옮겨진다. 

  적당한 위치라는 것은 TAB키라 눌려졌을 때 절대적인 위치로 옮겨지는 것이 아니라,

  윗라인의 열에 맞추게 된다. 또한, 윗라인이 `;'으로 끝나지 않았을 경우는 윗라인보다

  더 안쪽으로 들어쓰기가 된다.


  ▶  괄호(Brace)

    `', `', `[', `]', `(', `)' 등의 기호들은 자동으로 쌍이 맞추어 진다. `}' 는 이미

  열려진 `{'을 포함하는 문장의 열에 일치하게 된다.



  ▶  C Mode 에서의 유용한 명령


     <M-x> c-mode ; C 모드로 주 모드를 변경한다.

                    또는, mule 실행시에 `.c'파일을 불러오면, 자동으로 C 모드로 변환된다.

     <M-a> ; 함수의 처음으로 이동.

     <M-e> ; 함수의 끝으로 이동.

     <M-x> compile  디폴트로 `make' 가 표시된다.

                    단순히 `hello.c' 파일만을 컴파일 한다고 가정하면,

                    `make hello' 를 입력하면 된다.

                    실행 파일명으로 `hello'가 생성된다.

                    <M-!> 셸 명령을 실행하는 것으로서 위와 같이 하였다면,

                    'hello'를 입력하여 바로 실행할 수 있다.



      <M-x> kill-compilation   ; 컴파일을 중지시킨다.

      <C-x> <`> ; 컴파일 에러 메세지를 추적한다.

      <M-x> gdb   ;RET FILE RET  디버거를 실행시킨다.
 
 
<출처: http://blog.naver.com/hiteman1004  : 푸른비님 블로그>

출처: https://freekang.tistory.com/19 [열린 작업방:티스토리]

728x90
반응형