Atom Editor; (파이썬을 위한) 기본 설정. 우쿠분투/리눅스

Sublime Text 3 을 그동안 써오다가, 뭐 굳이 내가 그걸 계속 고집해야할 필요가 있을까.. 하는 생각이 들어서 아톰으로 바꿔보았다.
SLT 주요 기능들은 대부분 아톰에서도 구현이 된다. 게다가 아톰은 (리눅스용) 소프트웨어를 평가할 때, 가장 높은 점수를 받을 수 있는 요소가 있다.
"현재 활발하게 개발 중"

이거면 충분하다 할 수 있지 않을까.

2015년 11월 중순 현재, 1.2.0 이 나와있고, 앞으로도 한동안은 열심히 버그잡고 기능추가하는 작업이 계속되리라 믿어 의심치 않는다.

잠깐 써본 결과, 우분투에서 사용하기에 문제점이라 할만한 것은 역시 한국어 관련한 것들이다.
  • iBus, 고질적인 끝글자 문제. (다른 입력기는 모르겠지만, 적어도 다솜에서는 이 문제가 없다.)
  • UHC/Euc-kr 등, 기본 인코딩이 아닌 다른 문서들 자동 인식 불가.

끝글자 문제는 이미 오래 전부터 문제가 되어 왔고, 아톰만의 문제는 아니므로, 적절한 '피해가기'를 쓰는 수밖에 없다. 아니면 다솜을 쓰든지. 피해가기 신공에 익숙해지면 사실 크게 불편하지는 않다. (피해가기 신공이 별건 아니고, 내 경우 글을 끝내고 싶을 때 오른쪽 화살표를 누르는 습관을 들이는 것이다.)

인코딩 문제는 좀 번거로울 수도 있다. 기본 인코딩은 UTF8 로 되어 있는데, 이것이 아닌 모든 다른 파일들의 인코딩을 자동으로 인식하지는 못한다. 다른 인코딩으로 된 문서는 일단 깨진 상태로 열리고, 후에 사용자가 자동(수동)인식을 시켜줘야 제대로 인식이 된다.
만약, 여러 인코딩이 섞여있는 환경에서 작업해야 한다면, 약간은 번거로울 수도 있다. (Sublime Text3 은 이 부분에선 월등히 뛰어나다고 할 수 있다.)
얼마 전까지는 다른 인코딩을 인식하는 과정이 좀 오래걸렸었는데, 지금은 많이 개선된 것 같다. 즉, 열릴 때 자동으로 인코딩 인식이 안된다 뿐이지 그 뒤 작업은 번거롭기는 하지만, 그런대로 쓸만은 하다는 얘기.
이 정도는 충분히 감안할 만 하다고... (볼 수 있을까? ㅎㅎ)

이전에 쓴 글에서 언급한 '한글'이 표시되지 않는 문제는 지금은 고쳐졌다.

..................................
설치는 Andrei 의 도움을 받는게 편하다.
sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom

** 요즘 안드레이가 쉬고 있는지 홈페이지도, PPA 도 정체중이다.
직접 Deb 꾸러미를 받아 설치하는 것이 좀 더 최신판을 쓸 수 있는 방법이 되겠다.
https://atom.io/


설치 후, 몇몇 편의를 위한 꾸러미(Package)를 설치하는 것이 필요한데, 주로 파이썬을 사용하므로 그 용도로만 설치했다.
autocomplete-python
emmet
linter
linter-pylint (시스템에서 pylint 설치 필요)
atom-beutify (시스템에서 autopep8 설치 필요)
atom-minimap
open-recent
save-session

마지막, save-session 은 SLT3 의 기능을 흉내내는 것인데, 똑같은 환경을 제공해주지는 못한다.
SLT3 에서 가장 편리했던 것이, 저장하지 않고 프로그램을 그냥 끝내도 모든 것이 저장되어 있다는 점이었다. 심지어 Untitled 문서인 경우도 그대로 보존됐는데.. 아톰에는 아직까지 이 기능은 추가되지 않았다. 제작자 페이지에는 아톰에서 일부 이 기능을 구현하고는 있다고 하는 것 같은데.. 아무튼 적어도 1.2.0 까지는 완전하진 않다. 따라서 이것을 추가하는 편이 좋은데, save-session 도 그렇게 완전하진 못하다는 것이 문제라면 문제다. Atom 1.2.1(인가?)부터는 save-session 기능이 작동하지 않는다.

save-session 은 1.4.0 에는 확실히 포함되어 있긴 한데.. 뭔가 완벽하진 않다. 파일을 새로 열면 이전에 열어놨던 파일들이 사라지는 경향이 있는데.. 뭐가 문제인지는 모르겠다.

SLT3 는 꾸러미를 설치하기가 다소 복잡하고, 너무 전문가스러운 방법을 따라야 하는데 비해, 아톰은 직관적이고 쉽게 설치할 수 있게 되어 있다.
Preferences - Packages 에서는 설치한 꾸러미들을 살펴보고 설정(Settings)할 수 있으며,
Preferences - Install 에서는 이름으로 검색한 뒤 쉽게 찾아서 설치할 수 있다.

자세하게는 모르지만, SLT3 에서 사용가능한 많은 패키지들이 이미 아톰에서도 사용 가능한 것 같다.

꾸러미는 Community Package 와 Core Package 가 나뉘어 있어서, 사용자가 좀 더 확실하게 선택할 수 있도록 해놨다. 이것도 마음에 드는 부분이다.

위의 것들 중, linter 와 atom-beutify 는 추가 설명이 필요하다.
먼저 linter 는 소스 코드가 규정에 맞게끔 작성되었는지 확인해주는 것이다. 언어가 다양하기 때문에 linter 만 설치한다고 해서 되는 것은 아니고, 일단 linter 를 설치한 후에 해당 언어 패키지를 또 설치해줘야 한다.

'linter' 는 linter 의 기반이고, linter-pylint 는 linter 의 파이썬용 꾸러미이다. 그런데, 여기서 끝이 아니다. linter-pylint 는 시스템의 pylint 꾸러미에 기반하고 있으므로, 시스템(우분투)에서 pylint 를 또 설치해줘야 한다.
  • Atom 에서 linter 설치
  • Atom 에서 linter-pylint 설치
  • 우분투에서 pylint 설치. (sudo pip3 install pylint)

한가지 더. 우분투에선 python2 용 pylint 만 꾸러미(deb)로 제공한다. python3 용을 설치하려면 pip3 를 이용해야 한다.
이 방법은 아래 글에서 알아낼 수 있었다. (고맙습니다!)
How to install PyLint for Python 3


다음은 atom-beutify 인데, 이것은 코드를 역시 규격에 맞춰서 재구성해주는 것이다. 띄어쓰기, 들여쓰기등등.
일단 atom 에서 atom-beutify 꾸러미를 설치하고 시스템(우분투)에서 추가로 python-autopep8 을 설치해줘야 한다.
  • Atom 에서 atom-beutify 설치.
  • 우분투에서 python3용 autopep8 설치. (sudo pip3 install autopep8)

역시 이것도 pip3 를 이용하여 python3 용 autopep8 을 설치한다.

추가로 Emmet 은 일종의 입력도구이다. 명령어의 일부만 입력한 뒤 Tab 으로 선택할 수 있게 한다든가, 괄호를 열면 닫는 괄호까지 자동으로 넣어주는 것 등등을 제공해준다.

autocomplete-python 은, Python 명령어를 일부만 입력해도 나머지를 자동으로 입력해줄 수 있게 해주는 도구이다. 이 기능은 아톰에도 기본적으로 들어있긴 하지만, 좀 더 강력한(?) 힘을 원할 때 사용한다.
문제는, from urllib.parse import unquote 이런 식으로 import 를 했을 때, unquote 등이 자동 선택이 안될 때가 있다는 것이다.
이럴 경우, (적어도 내 경우엔), autocomplete-python 설정으로 가서 파이썬 실행 경로(Python Executable Paths)를 지정해주면 제대로 작동했다.

마지막, open-recent 는, 대부분 프로그램에는 기본적으로 들어있는, '최근 파일 열기' 기능이다. 왜 이게 아직도 기본 메뉴에 추가가 안됐는지??
아무튼 지금 현 시점에서 이 기능을 원한다면 이 꾸러미를 추가해줘야 한다.

기타, 이런 꾸러미도 필요할런지도.
10 Most Useful Atom Packages for Web Developers

자.. 앞으로는 아톰으로.
우주소년 아아토옴~

덧글

댓글 입력 영역

Google Analyze


LastFm

MathJax