Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Linux에서 Vim을 기본 편집기로 구성하는 방법

저는 약 25년 동안 Linux를, 그 전에 몇 년 동안 Unix를 사용해 왔습니다. 그 동안 나는 매일 사용하는 몇 가지 도구에 대한 선호도를 개발했습니다. 제가 사용하는 가장 중요한 도구 중 하나는 Vim 편집기입니다.

90년대 초 Solaris를 배웠을 때 Vi를 사용하기 시작했습니다. 내 경험에 비추어 볼 때 Vi는 모든 시스템에서 항상 사용할 수 있다는 말을 들었기 때문입니다. 나는 다른 편집자들을 시험해 보았고 그들은 모두 일을 합니다. 하지만 Vim이 저에게 가장 적합하다는 것을 알게 되었고 Vim을 너무 많이 사용하여 Vim의 근육 기억으로 인해 다른 편집자와도 명령 키 입력을 사용하려고 합니다.

게다가 저는 Vim을 정말 좋아합니다.

많은 구성 파일은 Vim 대신 Vi를 사용하며 vi를 실행할 수 있습니다. 명령. 그러나 vi 명령은 vim에 대한 링크입니다. .

많은 Linux 도구는 Nano, Emacs 또는 Vim을 에뮬레이트하거나 호출하는 편집기를 사용합니다. 일부 다른 도구를 사용하면 선호도가 분명한 사용자와 같은 사용자가 좋아하는 편집기에 연결할 수 있습니다. 나에게 가장 큰 영향을 미친 두 가지 예는 기본값이 Emacs인 Bash 명령줄 편집과 Pico 편집기가 기본값인 알파인 텍스트 모드 이메일 클라이언트였습니다. 사실 Pico 편집기는 Alpine의 전신인 Pine 이메일 클라이언트에서 사용하도록 명시적으로 작성되었습니다.

외부 편집기를 사용하는 모든 프로그램을 구성할 수 있는 것은 아닙니다. 일부는 개발자가 지정한 편집기만 사용합니다. 구성 가능한 애플리케이션의 경우 선호하는 편집기를 선택하는 다양한 방법이 있습니다.

Linux 명령줄 편집

실제로 텍스트 파일을 편집하는 것 외에도 가장 편집이 필요한 다른 도구는 Bash 셸입니다. 기본 Bash 편집기는 Emacs입니다. Emacs를 사용했지만 확실히 Vim을 선호합니다. 몇 년 전 저는 Bash 명령줄 편집을 위한 기본 편집 스타일을 Emacs에서 Vim으로 바꿨는데, 이 스타일이 훨씬 더 편했습니다.

Bash를 구성하는 몇 가지 방법이 있습니다. /home/yourhomedirectory/.bashrc와 같은 로컬 구성 파일을 사용할 수 있습니다. , 동일한 시스템의 다른 사용자가 아닌 사용자 계정의 기본값만 변경합니다. 나는 기본적으로 내 개인 계정과 루트를 의미하는 이러한 유형의 변경을 전역적으로 수행하는 것을 선호합니다. 이 두 번째 경우에는 고유한 구성 파일을 만들어 /etc/profile.d에 배치할 수 있습니다. 디렉토리.

myBashConfig.sh라는 파일을 추가했습니다. /etc/profile.d로 . /etc/profile.d에 설치된 모든 쉘에 대한 파일이 있습니다. 예배 규칙서. 터미널 세션을 시작하는 동안 각 셸은 파일 이름 확장명을 기반으로 의도된 파일만 읽습니다. 예를 들어, Bash 셸은 .sh가 있는 파일만 읽습니다. 확장자.

<SNIP>
alias vim='vim -c "colorscheme desert" '
# Set vi for bash editing mode
set -o vi
# Set vi as the default editor for all apps that check this
EDITOR=vi
<SNIP>

set -o vi 줄 이 전역 Bash 구성 파일 세그먼트에서 Vi를 기본 편집기로 설정합니다. -o세트 옵션 명령은 vi를 편집기로 정의합니다. 실행 중인 Bash 세션을 닫고 새 세션을 열어야 적용됩니다.

이제 커서 이동을 포함하여 익숙한 모든 Vim 편집 명령을 사용할 수 있습니다. Esc 키를 누르기만 하면 됩니다. 키를 눌러 Vim 편집 모드로 들어갑니다. 특히 b를 사용하는 기능이 마음에 듭니다. 커서를 여러 단어 뒤로 이동하려면 여러 번 누르십시오.

Vim을 다른 프로그램의 기본값으로 설정

일부 Linux 명령줄 도구 및 프로그램은 $EDITOR 사용할 편집기를 결정하는 환경 변수. 다음 명령을 사용하여 이 변수의 현재 값을 직접 확인할 수 있습니다. 기본값이 실제로 무엇인지 확인하기 위해 새로 설치된 가상 머신 중 하나에서 이 작업을 수행했습니다.

# echo $EDITOR
/usr/bin/nano
#

기본적으로 $EDITOR 환경 변수는 Nano 편집기를 사용합니다. EDITOR=vi 줄 추가 위의 스니펫에서 myBashConfig.sh에 표시된 대로 기본값을 Vi(Vim) 편집기로 변경합니다. 외부 편집기를 사용하는 모든 명령줄 프로그램이 이 환경 변수를 확인하는 것은 아닙니다.

Alpine에서 이메일 수정

몇 주 전에 Pico가 이메일 편집기로 적합하지 않다고 판단했습니다. Thunderbird에서 Alpine으로 전환한 후 얼마 동안 작동하게 만들 수 있었습니다. Vim 키 시퀀스를 사용하려고 할 때 Pico가 방해가 되어 생산성에 영향을 미치는 것을 발견했습니다.

알파인 도움말에서 기본 편집기를 변경할 수 있다고 읽었습니다. Vim으로 변경하기로 결정했습니다. 이것은 실제로 매우 쉽습니다.

알파인 메인 메뉴에서 S를 누릅니다. 키를 눌러 설정을 입력한 다음 C 구성을 위해. 작곡가 환경설정에서 섹션에서 대체 편집기 명령 활성화를 선택합니다. 및 암시적으로 대체 편집기 활성화 X가 있는 항목 . 고급 사용자 환경설정의 여러 페이지 아래 섹션에서 편집자를 찾습니다. 선. 아직 변경되지 않은 경우 다음과 같이 표시되어야 합니다.

Editor    = <No Value Set>

편집기 강조 커서 막대로 줄을 선 다음 Enter 키를 누릅니다. 라인을 편집합니다. <값 설정 없음> 변경 vim으로 , Enter 키를 누릅니다. 를 누른 다음 E를 누릅니다. 종료 키 및 Y 변경 사항을 저장합니다.

Vim을 사용하여 이메일 메시지를 편집하려면 이메일 본문을 입력하기만 하면 Vim이 Pico처럼 자동으로 시작됩니다. 내가 좋아하는 모든 편집 기능은 실제로 Vim을 사용하기 때문에 있습니다. Esc :wq Vim을 종료하는 순서는 동일합니다.

최종 생각

나는 다른 편집기보다 Vim을 훨씬 선호하며, 내 시스템에 대한 이러한 변경으로 인해 기본적으로 다른 편집기를 사용하는 프로그램에서 기본적으로 Vim을 사용할 수 있습니다. 일부 프로그램은 $EDITOR를 사용합니다. 환경 변수이므로 한 번만 변경하면 됩니다. Alpine과 같은 다른 프로그램에는 각 프로그램에 대해 개별적으로 설정해야 하는 사용자 구성 옵션이 있습니다.

선호하는 외부 편집기를 선택할 수 있는 이 기능은 "각 프로그램은 한 가지 일을 하고 잘 해야 한다"는 유닉스 철학과 매우 일치합니다. 완벽하게 좋은 편집기가 여러 개 있는데 왜 다른 편집기를 작성해야 합니까? 또한 "가장 좋아하는 편집기를 사용하십시오"라는 Linux 철학 신조를 충족합니다.

물론 기본 텍스트 모드 편집기를 Nano, Pico, EMACS 또는 원하는 다른 편집기로 변경할 수 있습니다.