메뉴

문서정보

w3m : 텍스트 브라우저 w3m

목차

w3m에 대해서

w3m은 lynx(와 같은 텍스트 브라우저 이지만 lynx보다는 훨씬 세련되었다. lynx는 매우 가볍고 빠르며 필요한 텍스트 정보만을 보여주므로 컨텐츠에 집중할 수 있게 도와주기는 하지만 사이트가 약간만 복잡해지면 브라우징 하기가 매우 어려워 진다는 단점을 가지게 된다. 프레임이 사용되거나 조금 복잡한 테이블이 사용되면 어디가 어디인지 도통 감을 잡을 수 없다.

정보에 대한 가독성을 높이기 위해서는 필요한 텍스트만 얻어내는 것도 중요하지만 시각적으로 보기 쉽게 정보를 보여줄수 있어야 하며 사용자 친화적인 인터페이스를 제공할 수 있어야 한다.. lynx는 시각적인 면과 편리한 인터페이스를 충족시키지 못한다.

w3m은 이를테면 필요한 정보로의 집중 빠른 정보접근 시각적인면과 편리한 인터페이스를 모두 충족시킬 수 있는 매우 훌륭한 텍스트 기반 브라우저이다. 특히 정보수집을 목적으로 웹서핑을 하길 원한다면 w3m보다 훌륭한 브라우저가 없다고 감히 주장한다. 개인적으로도 컨텐츠 관리를 위한 웹서핑은 w3m을 사용한다. 특히 textarea 에서 vim을 불러와서 문서편집이 가능하다는게 정말 맘에 든다.

https://lh5.googleusercontent.com/-9fGbX8Xhubk/T_UB7w4kg2I/AAAAAAAACKs/0aTXmkoWcvk/s400/w3m02.png

설치하기

왠만한 Linux 배포판은 기본적으로 포함하고 있다. 설치역시 배포판에서 제공하는 패키지 관리 프로그램을 이용하면 간단하게 설치할 수 있다. 이 문서는 Ubuntu를 기준으로 작성되었다.

실행

xterm, konsole, hanterm 같은 터미널 에뮬레이터에서 w3m을 입력하면 된다.

w3m의 특징

  1. 테이블 렌더링 : 위의 화면을 보면 테이블을 시각적으로 매우 깔끔하게 정리해서 보여주고 있음을 알 수 있다. 자고로 보기좋은 떡이 먹기에도 좋은 법이다.
  2. 프레임 렌더링 : 놀랍게도 프레임역시 화면에 표시해준다. lynx를 통해서 프레임을 사용하는 웹페이지를 브라우징해본 적이 있다면 이게 얼마나 편리한 기능인지 동감할 것이다.
  3. 마우스 지원 : w3m은 화면제어를 위해 ncurses를 사용하고 있으며 마우스를 지원한다. 마우스를 통해서 스크롤과 링크를 통한 이동, 입력선택 등이 가능하다.
  4. textarea에서의 외부편집기 지원 : w3m을 사용하는 가장 큰 이유중 하나다. Firefox나 IE의 빈약한 편집기를 통해서 textarea를 입력해본적이 있다면 그게 얼마나 짜증나는 일인지 잘 알것이다. 때문에 많은 경우 별도의 에디터 프로그램을 띄워서 내용을 작성하고 긁어 붙이는 편법을 동원한다. w3m에서는 vim와 같은 외부 프로그램을 textarea입력시 사용가능하다. 특히 wiki(:12)에서와 같이 많은 내용을 편집할 때 빛나는 기능이다.
  5. SSL 지원 : SSL을 기본 지원한다.
  6. UTF-8 지원
  7. vi 키지원 : vim를 주로 사용하는 유저에게는 희소식이다. 화면의 이동/찾기등의 기능이용을 vi키로 할 수 있다. 다음은 이동/찾기에 사용되는 대표적인 키들이다.
|| J || 아래 || K || 위 ||
H 오른쪽으로 L 왼쪽으로
^ 줄의 처음 $ 줄의 마지막
/ 앞으로 찾기 ? 뒤로 찾기
  1. Emacs 키 지원 : Emacs를 주로 사용하는 유저에게도 희소식이다. 화면의 이동/찾기 등의 기능 이용을 Emacs 키로 할 수 있다. 다음은 이동/찾기에 사용되는 대표적인 키들이다.
|| C-n || 아래 || C-p || 위 ||
C-f 오른쪽으로 C-b 왼쪽으로
C-a 줄의 처음 C-e 줄의 마지막
C-s 앞으로 찾기 C-r 뒤로 찾기
  1. Emacs 버퍼 내에서 w3m 브라우징을 할 수 있는 Emacs-w3m.el 역시 이용할 수 있다.
  2. Tab 의 지원 : 모질라를 이용해 봤다면 Tab기능이 상당히 편리하다는데 동의 할 것이다. 여러개의 창으로 인하여 데스크탑이 지저분해지지 않으면서 간단하게 사이트사이를 이동할 수 있기 때문이다. w3m역시 Tab을 지원한다. 역시 너무 편리한 기능이다.
Tab같의 이동은 단축키와 마우스 모두를 통해서 가능하다.

joinc과 w3m은 찰떡궁함

joinc는 몇몇 매우 특별한 경우를 제외하고는 자바스크립트를 사용하지 않으며 순수하게 HTML만을 사용해서 작성되었다. 프레임을 사용하지도 않았으며, 브라우저 독립적인 HTML테그역시 사용하지 않았다. 그러므로 익스플로어, 넷스케이프, 모질라, lynx, w3m모든 브라우저로 브라우징이 가능하며 특히 w3m을 이용하면 매우 편하게 브라우징 가능하다. https://lh5.googleusercontent.com/-fNqaMyqRJTw/T_UA65voWbI/AAAAAAAACKk/NThWSEZpx38/s400/w3m01.png

https://lh5.googleusercontent.com/-9fGbX8Xhubk/T_UB7w4kg2I/AAAAAAAACKs/0aTXmkoWcvk/s400/w3m02.png

w3m 사용 메뉴얼

페이지/커서 이동 관련 단축키

SPC,+,C-v 다음 페이지로 이동
ESC-v 이전 페이지로 이동
l 커서를 오른쪽으로 이동
h 커서를 왼쪽으로 이동
j 커서를 아래로 이동
k 커서를 위로 이동
K 한줄씩 위로 스크롤
J 한줄씩 아래로 스크롤
< 화면을 왼쪽으로
> 화면을 오른쪽으로
, 화면을 한 열씩 왼쪽으로
. 화면을 한 열씩 오른쪽으로
^ 줄의 처음으로
$ 줄의 마지막으로
G 지정한 줄번호로 이동
숫자+G 숫자 라인으로 이동
w 다음 단어로 이동
W 이전 단어로 이동
[ 첫번째 링크로
] 마지막 링크로
DOWN,C-n,TAB 다음 링크로
UP,C-p,C-u 이전 링크로
ESC-m 전체 링크 목록

하이퍼링크 관련

C-f,C-j,C-m,RIGHT 링크페이지로 이동
d, ESC-C-j,ESC-C-m 링크를 파일로 저장
I 이미지 보기
ESC-I 이미지를 파일로 저장
c 현재 URL 출력
u 링크 URL출력
i 이미지 URL출력
= 현재 페이지 정보
C-g 라인번호 출력
L 모든 링크와 이미지의 목록 출력

파일 관련

U,g URL입력창
V 지역파일 읽어들이기
@ 쉘명령 실행
# 쉘명령 실행
| 문서를 파이프로 보냄

버퍼 관련

|| LEFT,B,C-b || 이전 버퍼로 이동 ||
s 버퍼 선택 메뉴
\ HTML 소스 출력
ESC-s HTML 소스를 파일로 저장
S,p 렌더링된 페이지를 파일로 저장
E 현재 문서 편집
ESC-e 렌더링된 현재 문서 편집
R,C-r 페이지를 다시 읽기
C-l,C-w 페이지를 다시 그리기

Tab 관련

T 새로운 탭 생성
C-q 현재 탭 닫기
} 다음 탭으로
{ 이전 탭으로
ESC-t 탭선택 메뉴

북마크 관련

ESC-b,v 북마크 보기
a,ESC-a 현재 페이지를 북마크에 등록

찾기 관련

/,C-s 앞으로 찾기
n 다음 찾기

마킹 관련

C-@ mark생성/삭제
ESC-n,N 다음 마크로 이동
ESC-p,P 이전 마크로 이동

명령행 옵션들

유용한 명령행 옵션들을 소개한다.
# cat foot.html | w3m -dump -T text/html > foot.txt
# w3m -dump -T text/html http://www.joinc.co.kr > foot.txt

기타등등

?,H 도움말
o 옵션 설정화면
r w3m의 버젼정보
C-k cookie 리스트
C-h URL 히스토리
m 마우스 활성화/비활성화
ESC-c w3m 명령어 실행
Esc-o 옵션설정
C-z 페이지 로딩 중지
q w3m 끝내기
Q w3m 끝내기(묻지않고)