Computer >> 컴퓨터 >  >> 시스템 >> Linux

나노(Nano) vs Vim: 터미널 텍스트 편집기 완벽 비교

리눅스 데스크톱의 많은 부분이 복잡한 코드 뒤에 숨겨져 있지 않다는 사실에 놀랄지도 모릅니다. 수많은 프로그램과 시스템 설정은 사실 일반 텍스트 파일 안에 저장되어 있습니다.

이런 파일은 Gedit이나 Kate 같은 기본 텍스트 편집기로 열 수 있지만, 관리자 권한이 필요한 경우가 많기 때문에 터미널을 이용하는 편이 훨씬 빠르고 효율적입니다.

터미널 기반 텍스트 편집기 중 가장 인기 있는 두 가지가 바로 GNU 나노(nano)와 Vim입니다. 그렇다면 어느 쪽이 더 좋을까요? 이 질문에 대한 결론을 내리기보다는, 두 편집기를 구분짓는 핵심적인 차이점을 살펴보겠습니다.

GNU 나노와 Vim의 역사

GNU 나노(흔히 'nano'라고 불림) 프로젝트는 1999년에 Pico 텍스트 편집기를 대체하고 개선하기 위해 시작되었습니다. 개발자들은 GNU 나노가 Pico 바이너리 크기의 3분의 2에서 8분의 1 수준이라고 주장했으며, 덕분에 매우 가벼워서 저사양 시스템에서도 원활하게 사용할 수 있었습니다.

Vim은 1991년에 처음 개발되었으며, 1976년에 만들어진 원조 Vi 텍스트 편집기를 기반으로 합니다. GNU 나노와 마찬가지로 Vim 역시 기존 프로젝트를 개선하려는 노력에서 출발한 것입니다.

GNU 나노(Nano)

GNU 나노는 초보자에게 비교적 친숙한 편집기라는 평판을 얻고 있습니다. 나노를 한 번도 사용해 본 적이 없더라도 도움 없이도 충분히 사용법을 익힐 수 있을 것입니다.

시작하는 방법은 간단합니다. 다음 명령어로 파일을 열거나 새로 생성할 수 있습니다:

nano /home/user/HelloWorld.txt

그러면 누구나 알아볼 수 있는 직관적인 사용자 인터페이스가 나타납니다. 화면 상단에는 텍스트 파일의 제목이 표시되고, 가운데에는 파일 내용이 나타나며, 하단에는 실행할 수 있는 작업 목록이 정렬되어 있습니다. 이러한 작업은 Ctrl 키와 함께 표시된 키를 눌러 수행합니다.

예를 들어 Ctrl + X를 누르면 파일을 종료하고 저장할 수 있습니다. 처음 나노를 사용했을 때 파일 저장 방법 때문에 꽤 걱정했던 것이 사실인데, 편집기에는 이 명령이 단순히 'Exit(종료)'로만 표시되기 때문입니다. 하지만 실제로 편집을 시도하면 나노가 저장 여부를 물어봅니다.

화면 하단에 표시된 것처럼, 나노에는 그래픽 애플리케이션에서 기대할 수 있는 대부분의 기능이 포함되어 있습니다. 잘라내기와 붙여넣기, 단어 찾기 및 바꾸기 등 다양한 작업이 가능합니다.

GNU 나노의 주요 기능

  • Autoconf 지원
  • 플래그 없이 줄 번호로 이동(Goto-line#)하는 명령
  • 대소문자 구분 검색 기능
  • 대화형 검색 및 바꾸기
  • Slang 및 ncurses 지원
  • 자동 들여쓰기(Autoindent)
  • 탭 너비 표시 옵션
  • 정규 표현식 검색 및 바꾸기
  • 메타 키를 통한 명령줄 플래그 토글
  • 파일 읽기/쓰기 시 탭 자동 완성
  • 소프트 텍스트 줄바꿈(일반 문서 편집기처럼 줄이 바뀌지 않으며, 연속 표시는 $ 기호로 나타남)

전반적으로 나노는 터미널 텍스트 편집을 처음 접하는 입문자에게 훌륭한 선택입니다. 명령줄에서 파일을 열고 주로 키보드만으로 탐색하는 경험을, 기존에 알고 있던 텍스트 편집기 사용 방식을 크게 바꾸지 않고도 익힐 수 있습니다.

Debian이나 Ubuntu 같은 DEB 기반 시스템에서는 다음 명령어로 GNU 나노를 설치할 수 있습니다:

sudo apt install nano

Fedora 같은 RPM 기반 시스템에서는 다음과 같이 설치합니다:

sudo dnf install nano

나노는 명령줄 프로그램이기 때문에 GNOME 소프트웨어나 기타 리눅스 앱 스토어에서는 찾기 어렵습니다. 하지만 Synaptic 같은 전통적인 패키지 관리자를 통해 설치할 수 있습니다.

Vim

반면 Vim은 초보자에게 그리 호의적이지 않습니다. 텍스트 파일을 열면 파일 내용만 보일 뿐, Vim 자체를 사용하는 방법에 대한 어떤 안내도 표시되지 않습니다.

시작하는 방법 자체는 간단합니다. 다음 명령어로 파일을 엽니다:

vim /home/user/HelloWorld.txt

이 시점부터는 공식 문서를 읽거나 온라인에서 검색하거나, 아니면 무작위로 키를 눌러가며 감으로 익히는 수밖에 없습니다. 만약 마지막 방법을 선택한다 해도 몇 가지 안전장치는 마련되어 있습니다. I 키를 눌러 '입력(Insert)' 모드에 진입하지 않으면 실질적인 편집은 불가능합니다. 편집을 마친 후에는 Esc 키를 눌러 해당 모드를 벗어납니다(적어도 이 정도는 짐작할 수 있을 겁니다).

다른 기능을 수행하려면 입력 모드가 아닌 상태에서 :(콜론) 키를 누릅니다. 그다음 원하는 작업에 해당하는 키 또는 키 조합을 입력하고 Enter를 누르면 됩니다.

예를 들어 텍스트 파일에 대한 변경 사항을 저장하려면 :w를 입력하고 Enter를 누릅니다. 이렇게 하면 변경 사항이 파일에 '쓰기(write)' 됩니다. 생각해 보면 '열기/저장'이 아닌 '읽기/쓰기'의 관점에서 보면 w가 꽤 직관적임을 알 수 있습니다.

작업을 마친 후에는 :q를 입력하고 Enter를 눌러 프로그램을 종료합니다. 이것 역시 상당히 직관적입니다.

사용 방식을 한번 익히고 나면 Vim의 미니멀한 미학에서 일종의 아름다움을 발견하게 됩니다. 터미널 창 안에 불필요한 요소가 어수선하게 떠 있지 않고, 화면에 보이는 것은 오직 텍스트 파일의 내용뿐입니다. 명령줄 환경에 있다는 것은 이미 타이핑에 익숙하다는 뜻이기도 하므로, Vim의 인터페이스는 의외로 자연스럽게 느껴질 수 있습니다.

노력해 볼 만한 또 다른 이유가 있습니다. Vim은 GNU 나노보다 더 강력하다는 장점이 있습니다. 기본적으로 더 많은 기능을 제공할 뿐만 아니라, 플러그인과 스크립트를 통해 프로그램을 자유롭게 확장할 수도 있습니다.

Vim의 주요 기능

  • 자동 명령(Automatic commands)
  • 명령 자동 완성
  • 연자(digraph) 입력
  • 기존 vi보다 확장된 메모리 한도
  • 화면 분할(Split screen)
  • 세션 복구
  • 탭 확장
  • 태그 시스템
  • 구문 강조(Syntax coloring)

원하는 플러그인을 추가하는 데 시간을 투자하고 나면, Vim은 Sublime Text나 Visual Studio Code 같은 완전한 기능을 갖춘 그래픽 텍스트 편집기에 필적하는 대안이 됩니다. 코딩을 하지 않는다고 해서 Vim을 외면할 필요는 없습니다. 마크다운 플러그인을 활용하면 글쓰기 작업에도 훌륭한 선택지가 되기 때문입니다.

Vim이 나노보다 배우기 어려운가? 분명히 그렇습니다. 하지만 다른 텍스트 편집기의 기능을 가져와 추가할 수 있다는 점에서, Vim을 자신만의 도구로 완전히 재단할 수 있습니다.

Debian이나 Ubuntu에서는 다음 명령어로 Vim을 설치할 수 있습니다:

sudo apt install vim

Fedora에서는 다음과 같이 설치합니다:

sudo dnf install vim

GNU 나노 vs Vim: 당신의 선택은?

가파른 학습 곡선을 감수할 수 있다면 Vim에 푹 빠지게 될지도 모릅니다. 단순하면서도 나름의 매력을 지닌 편집기입니다.

하지만 복잡한 과정 없이 바로 작업을 처리할 수 있는 도구를 원한다면 GNU 나노를 선택할 이유가 충분합니다. 나노에는 Vim 특유의 신비함이 없지만, 사용 설명서를 읽지 않고도 프로그램을 사용할 수 있다는 점은 훌륭한 디자인의 핵심 요소이기도 합니다.

결국 두 편집기 모두 동일한 텍스트 파일을 편집할 수 있는 역량을 갖추고 있습니다. 어느 쪽이든 마음에 드는 편집기를 찾았다면, 이제 일반 텍스트 파일을 컴퓨터 활용 방식에 통합해 볼 차례입니다.