6.72. Vim-8.2.0190

Vim 패키지에는 강력한 텍스트 편집기가 포함되어 있다.

예상 빌드 시간: 1.7 SBU
필요 디스크 공간: 202 MB
[작은 정보]

Vim의 대체제

Emacs, Joe 또는 Nano와 같은 다른 편집기를 선호한다면 http://www.linuxfromscratch.org/blfs/view/9.1/postlfs/editors.html에서 제안된 설치 지침들을 참고하기 바란다.

6.72.1. Vim 설치

먼저 vimrc 설정 파일의 기본 위치를 /etc로 변경하라:

echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h

Vim 컴파일을 준비한다:

./configure --prefix=/usr

패키지를 컴파일한다:

make

테스트를 준비하기 위해 nobody 유저가 소스 트리에 쓰기 가능하도록 설정한다:

chown -Rv nobody .

이제 nobody 유저로 테스트를 실행하라:

su nobody -s /bin/bash -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log

테스트 스위트는 많은 바이너리 데이터를 화면에 출력한다. 이로 인해 현재 터미널의 설정에 문제가 발생할 수 있다. 이 문제는 위에서 보인 바와 같이 출력을 로그 파일로 리다이렉팅해서 방지할 수 있다. 테스트가 성공적으로 끝나면 로그 파일 안에 "ALL DONE"이라는 문구가 표시된다.

패키지를 설치한다:

make install

많은 사람들이 vim 대신 vi을 입력한다. 사용자가 습관적으로 vi를 입력해도 vim이 실행되게 하려면, 실행 파일과 제공된 언어의 man 페이지에 심볼릭 링크를 생성하면 된다.:

ln -sv vim /usr/bin/vi
for L in  /usr/share/man/{,*/}man1/vim.1; do
    ln -sv vim.1 $(dirname $L)/vi.1
done

기본적으로 Vim의 문서들은 /usr/share/vim에 설치된다. 다음과 같이 심볼릭 링크를 만들어서 다른 패키지의 문서들처럼 /usr/share/doc/vim-8.2.0190를 통해 문서들에 접근할 수 있다:

ln -sv ../vim/vim82/doc /usr/share/doc/vim-8.2.0190

X 윈도우 시스템을 LFS 시스템에 설치하려는 경우, X 설치 후 Vim을 다시 컴파일해야 할 수도 있다. Vim은 X와 추가 라이브러리를 몇 개 설치해야 하는 GUI 버전이 같이 제공된다. 이 절차에 대한 자세한 내용은 Vim 설명서와 http://www.linuxfromscratch.org/blfs/view/9.1/postlfs/vim.html에서 BLFS 책의 Vim 설치 페이지를 참고하라.

6.72.2. Vim 설정

기본적으로 vim은 vi-비호환 모드로 실행된다. 이는 평소 다른 편집기를 사용하던 사용자들에게는 낯설 것이다. 아래에는 vi 대신 새로운 vim이 사용되고 있다는 것을 강조하기 위해 nocompatible(비호환) 설정이 명시되어 있다. 그리고 compatible(호환) 모드로 변경하려는 사용자들에게는 이 항목을 설정 파일의 첫 번째로 두어야 함을 상기시키고자 명시하였다. 이 설정은 다른 설정들을 변경하기 때문에 그 위에 덮어쓰기 위해선 반드시 이 설정 뒤에 기재되어야 한다. 다음을 실행하여 기본 vim 설정 파일을 생성하라:

cat > /etc/vimrc << "EOF"
" Begin /etc/vimrc

" Ensure defaults are set before customizing settings, not after
source $VIMRUNTIME/defaults.vim
let skip_defaults_vim=1 

set nocompatible
set backspace=2
set mouse=
syntax on
if (&term == "xterm") || (&term == "putty")
  set background=dark
endif

" End /etc/vimrc
EOF

set nocompatible 설정은 vim을 vi-compatible 방식보다 더 유용한 방식으로(기본값) 동작하게 한다. no를 지우면 오래된 vi 방식을 고수한다. set backspace=2 설정은 줄 바꿈, 자동 들여쓰기, 삽입의 시작 부분에서도 Backspace로 글자를 지울 수 있게 한다. syntax on 매개 변수는 Vim의 문법 강조 기능을 활성화한다. set mouse= 설정은 chroot나 원격 연결로 작업할 때 텍스트를 마우스로 적절히 붙여넣을 수 있다. 마지막으로, if 문의 set background=dark 설정은 일부 터미널 에뮬레이터의 배경색을 vim이 알맞게 인식하도록 한다. 즉, 저 프로그램들의 검정 배경에 쓰기 더 좋은 색 구성표를 적용한다.

다른 사용 가능한 옵션에 대한 문서는 다음 명령을 통해 얻을 수 있다:

vim -c ':options'
[참고]

참고

기본적으로 Vim은 영어용 철자 파일만 설치한다. 원하는 언어의 철자 파일을 설치하려면 ftp://ftp.vim.org/pub/vim/runtime/spell/에서 *.spl과 언어 및 문자 인코딩용 *.sug 파일(선택 사항)을 다운로드하여 /usr/share/vim/vim82/spell/에 저장하라.

이러한 철자 파일을 사용하려면 /etc/vimrc에서 일부 설정이 필요하다. 예:

set spelllang=en,ru
set spell

더 많은 정보는 위의 URL에 있는 해당 README 파일을 참고하라.

6.72.3. Vim의 내용

설치된 프로그램들: ex (vim으로 링크), rview (vim으로 링크), rvim (vim으로 링크), vi (vim으로 링크), view (vim으로 링크), vim, vimdiff (vim으로 링크), vimtutor, xxd
설치된 디렉토리: /usr/share/vim

요약

ex

Vim을 ex 모드로 시작

rview

View의 제한된 버전; 셸 명령을 시작할 수 없으며 view를 일시 중지할 수 없음

rvim

Vim의 제한된 버전; 셸 명령을 시작할 수 없으며 vim을 일시 중지할 수 없음

vi

Vim으로의 링크

view

읽기 전용 모드에서 vim 시작

vim

편집기

vimdiff

Vim을 사용하여 한 파일의 둘이나 세 가지 버전을 편집하고 차이점을 표시

vimtutor

Vim의 기본적인 조작과 명령을 배울 수 있음

xxd

지정된 파일의 16진수 덤프 생성; 역으로도 가능하기 때문에 바이너리 패치에 사용할 수 있다