Egloos | Log-in
F/OSS study
F/OSS study
[emacs] gnus로 메일링리스트 구독하기
emacs: 23.1
gnus: 5.13


gnus는 emacs에서 사용할 수 있는 뉴스리더 프로그램으로
LKML 과 같이 매우 활발하게 논의가 오가는 mailing list를 직접 구독하지 않고
http://news.gmane.org 의 서비스를 이용하여 뉴스 그룹의 형태로 살펴볼 때 유용하게 사용할 수 있다.
개인적으로는 GNOME에서 제공하는 에볼루션이나 모질라의 선더버드 등을 사용하려고 잠깐 시도하여 보았으나
몇가지 불편한 점을 느껴 결국에는 gnus를 이용하기로 결정하게 되었다.

gnus는 emacs 창에서 M-x gnus를 입력하여 실행할 수 있다.
실행하기 전에 뉴스를 받아볼 서버의 주소를 다음과 같이 설정 파일 (~/.emacs)에 저장하면 된다.

(setq gnus-select-method '(nntp "news.gmane.org"))

실행하면 뉴스 그룹의 목록을 보여주는 그룹 버퍼가 보이는데
목록을 선택한 후 u 키를 누르면 구독/해지 상태가 반전(toggle)된다. (gnus-group-unsubscribe-current-group)
또는 C-k 키를 누르면 그룹을 killed 상태로 만들어주므로 더 이상 신경쓸 필요가 없다. (gnus-group-kill-group)

만약 별도로 구독하고 싶은 그룹이 있다면 서버에서 해당 그룹을 찾아 구독하면 된다.
(참고로 gmane에서 LKML의 그룹 이름은 gmane.linux.kernel 이다)
그룹 버퍼에서 ^ 키를 누르면 서버 목록을 보여주는 서버 버퍼가 보이는데 (gnus-group-enter-server-mode)
여기서 위에서 입력한 gmane 서버를 선택한 뒤 원하는 그룹을 찾아서 역시 u 키를 통해 구독할 수 있다.
선택을 마치고 나면 q 키를 눌러 다시 그룹 버퍼로 돌아올 수 있다. (gnus-server-exit)

구독한 그룹이 있다면 gnus 시작 시에 새로운 글(article)이 있는지 확인해서 보여주며
g 키를 눌러 수동으로 확인해 볼 수도 있다. (gnus-group-get-new-news)
(자동으로 주기적으로 확인해주는 기능은 없는 듯 하다..)
그룹 버퍼에서 l (소문자 L) 키를 누르면 새로운 (= 읽지 않은) 글이 있는 그룹 만을 보여주며
(대문자) L 키를 누르면 모든 그룹을 보여준다. (gnus-group-list-groups / gnus-group-list-all-groups)

그룹을 선택하면 해당 그룹에 속한 글 목록을 보여주는 Summary 버퍼가 나타나고
Summary 버퍼에서 글을 선택하면 아래에 Article 버퍼가 열리며 글 내용을 보여준다.
이 때 표시된 글은 read 상태가 되어 다음 번에 보이지 않지만 특별히 계속 보고 싶다거나
답글이 달리기를 기다리는 글이 있다면 ! 키나 ? 키를 눌러서 이를 표시할 수 있다.

! 키는 해당 글을 ticked 상태로 만드는 데 이는 항상 해당 글을 목록에 표시해 준다. (gnus-ticked-mark)
? 키는 해당 글을 dormant 상태로 만들며 이는 해당 글에 답글을 달렸을 때 만 표시해 준다. (gnus-dormant-mark)
d 키를 누르면 위와 같이 설정된 상태를 없애고 단순히 read 상태로 되돌려 준다. (gnus-summary-mark-as-read)

gnus의 편리한 점 중 하나는 글타래(thread)가 길게 이어져서 전에 읽은 글이 보이지 않게된 상황에서도
글타래를 잘 이어주는 것과 메시지 헤더의 References 필드를 통해 글타래 내의 이전 글을 다시 가져오는 기능이다.
(정상적으로 연결된 글타래는 [ ] 형태로 표시되고, 중간에 끊어진 글타래는 < > 형태로 보인다)
A R 키를 차례로 누르면 참조하고 있는 모든 메시지들을 보여주고 (gnus-summary-refer-references)
A T 키를 누르면 해당 메시지가 속한 글타래의 모든 메시지들을 보여준다. (gnua-summary-refer-thread)
만약 Message-ID 필드를 알고 있다면 M-^ 키를 통해 직접 해당 메시지를 볼 수도 있다. (gnus-summary-refer-article)
Message-ID 등 현재 메시지의 헤더 내용을 살펴보기 위해서는 t 키를 이용할 수 있다. (gnus-summary-toggle-header)

또한 Summary 버퍼에서 각 글의 line 수를 보여주기 때문에
실제로 글의 내용을 읽지 않고도 긴 글을 미리 알 수 있다는 점도 때로 유용하게 사용된다.

그리고 한 동안 글을 계속 못 읽어서 그냥 skip 하고 싶다면 c 키를 누르면 된다. (gnus-summary-catchup-and-exit)
비슷한 기능으로 그룹 버퍼에서도 c 키를 누르면 해당 그룹의 글을 읽어보지 않아도
모두 읽은 상태로 만들어 버릴 수 있는데 (gnus-group-catchup-current)
최초로 그룹에 접근하는 경우에 먼저 c 키를 누른 후에 다시 원하는 만큼의 글만 가져와서 보는 방법도 쓸 만 한다.
(이미 모든 글을 읽은 그룹에 접근하는 경우에는 gnus가 가져올 글의 수를 물어보게 된다.)

Summary 버퍼에 있을 때도 해당 그룹에 새로운 글이 올라왔는지 알아보려면
/ N 키를 차례로 누르면 되는데 이 때 새로운 글이 있다면 현재 버퍼에 자동으로 추가해 주기 때문에
다시 그룹 버퍼로 빠져 나갔다가 들어올 필요가 없다. (gnus-summary-insert-new-articles)
또한 예전 글을 보고 싶다면 / o (소문자 O) 키를 누르면 된다. (gnus-summary-insert-old-articles)
(마찬가지로 이 때도 가져올 글의 수를 물어본다)

글을 읽다가 답장을 보내고 싶을 땐 S W 키를 누르면 된다. (gnus-summary-wide-reply-with-original)
글을 작성하고 나면 C-c C-c 키를 눌러서 서버로 보내거나 C-c C-k 키를 눌러 취소할 수 있다.

기본적으로 키 제어는 Summary 버퍼에서 이루어지며
Article 버퍼의 스크롤도 Space 키와 Backspace 키를 통해 제어할 수 있다.
(gnus-summary-next-page / gnus-summary-prev-page)
하지만 미세하게 조정이 필요하다거나 별도의 기능을 이용할 때는 Article 버퍼로 이동하기 위해
h 키를 누르면 된다. (gnus-summary-select-article-buffer)

Article 버퍼의 키는 기본적인 제어는 Summary 버퍼와 동일하며
다시 Summary 버퍼로 돌아오기 위해서는 h 키를 누르면 된다. (gnus-article-show-summary)
만약 Article 버퍼를 제거하고 Summary 버퍼 만 보고 싶다면
= 키를 누르면 된다.  (gnus-summary-expand-window)


=== 참고 자료 ===

by namhyung | 2011/06/15 22:44 | Tips | 트랙백 | 덧글(2)
트랙백 주소 : http://studyfoss.egloos.com/tb/5539711
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 이종훈 at 2011/11/24 12:57
도움이 많이 되었습니다 감사합니다 :)
Commented by namhyung at 2011/12/04 14:34
도움이 되셨다니 다행입니다 :-)

:         :

:

비공개 덧글

◀ 이전 페이지 다음 페이지 ▶

카테고리
General
Application
System
Kernel
Book
Tips
태그
x86 emacs awk elf vcs synchronization sed memory computer-architecture documentation block-layer blktrace git CARM patch bash SMP gcc scm algorithm kernel perf linux script CAaQA3 glibc C binutils build compiler
전체보기
이글루 파인더

최근 등록된 덧글
informsi yang bagus dan b..
by agen qnc at 06/22
informasi yang bagus dan b..
by agen qnc at 06/22
informasi yang bagus dan b..
by agen qnc at 06/22
최근 등록된 트랙백
Tod's Ferrari Homme
by Tods Pas Cher,Kodak did ..
Mocassin Femme
by Mocassins Homme, I got so..
natural garcinia cambogia
by
rss

skin by jiinny


X