Vim – 레지스터에 관해

vim에서 문자열을 복사하는 것을 매뉴얼에서는 copy가 아니라 yank로 설명한다. 이는 전통적인 이유가 있긴한데, 어쨌든 보통의 응용프로그램에서의 ‘복사’는 클립보드에 콘텐츠를 써 넣는 것을 의미한다. 하지만 vim은 항상 클립보드를 사용할 수 있는 것은 아니다. 대신에 ‘레지스터’라는 별도의 메모리 공간을 사용해서 텍스트를 따로 보관했다가 나중에 사용한다. 이는 sed의 홀드 영역과 비슷하다고 할 수 있다. 대신에 vim은 단순히 하나의 저장 영역을 사용하는 것이 아니라 매우 다양하고 많은 레지스터를 사용한다.

레지스터 사용방법

레지스터는 각각의 이름이 있고, 각 이름은 모두 키 하나에 맵핑되어 있다. 레지스터는 기본적으로 편집 명령을 통해서 쓰거나 읽을 수 있다. 복사(y)는 물론 삭제(d, x) 및 교체 (r, s)시에도 제거되는 내용은 즉시 폐기된다기 보다는 특정한 레지스터에 복사할 수 있다. 특정 레지스터에 복사된 내용을 p 등으로 붙여넣는 경우에 레지스터를 사용할 수 있다.

Vim – 레지스터에 관해 더보기

열려진 모든 파일에서 찾기 (Vim)

:bufdo 명령

:bufdo는 버퍼 리스트의 모든 버퍼에 대해서 동일한 명령을 수행하는 기능으로, 찾기/바꾸기나 그 외에 여러 파일에 대해서 한꺼번에 적용될 수 있는 명령을 수행할 수 있다. 참고로 문자열이 아닌 일반 명령 시퀀스가 뒤에 오게 된다. 예를 들어 vim에서 열어본 모든 파일에 대해서 ‘sample’ 이라는 단어를 ‘fixed’라고 변경하려면, 모든 파일을 일일이 옮겨다닐 필요없이 :bufdo %s/sample/fixed/g를 입력하면 된다.

이와 비슷하게 :windo 명령은 모든 윈도우에 대해서 적용되며, 모든 탭에 대해서 적용할 수 있는 :tabdo 명령도 있다. (참고로 :bufdo는 버퍼 리스트 상의 모든 버퍼에 대해 적용된다. :windo는 버퍼 중에서 창을 통해 표시되는 버퍼만 해당한다.)

:bufdo 명령을 사용하면 모든 버퍼에서 특정 패턴을 검색할 수 있을 것 같다. 검색을 위한 명령을 살펴보자.

열려진 모든 파일에서 찾기 (Vim) 더보기

컬러스킴을 전환하기

vim에서 컬러 스킴을 변경하고 싶을 때에 :colorscheme 명령을 사용한다. (줄여서 :color로 쓸 수 있다.) 이 명령으로 컬러 스킴을 변경할 때에는 테마 이름을 알아야 하는데, 사실 몰라도 상관없다. :color<space> 한 후에 탭 키를 누르면 테마 이름은 자동완성되기 때문이다. 근데 이것보다도 키 하나만 눌러서 다른 테마로 적용되는 것을 보면서 전환하도록 하는 것이 더 편리할 것 같다. 이 기능을 vim 안에서 어떻게 만들면 좋을지 알아보자.

컬러스킴을 전환하기 더보기

IJulia 설치방법

IJulia는 Jupyter용 Julia 커널로 Jupyter 노트북에서 julia를 사용할 수 있게 해준다. 이를 사용하려면 시스템에 당연히 줄리아가 설치되어 있어야 하고, 파이썬 및 jupyter도 설치돼 있어야 한다. 여기서는 Julia를 업그레이드(재설치)하면서 IJulia를 어떻게 다시 설치했는지 그 과정을 기록한다.

IJulia 설치방법 더보기

파이썬은 인터프리터언어입니까?

최근에 많이 보게 되는 질문 중 하나가 ‘파이썬은 인터프리터 언어입니까? 컴파일언어입니까?’라는 것이다. 개인적으로 이 질문은 사람을 참 난감하게 하는데, 어떻게 답해야하나에 앞서 아직까지도 이 개념을 이렇게 잘못 가르치는 교재 혹은 과정이 대부분이라는 점 때문이다. 그럼 인터프리터 언어와 컴파일 언어가 무엇인지 알아보고, 과연 파이썬은 인터프리터 언어인지 생각해보자.

Richard Holloway quote: The wrong question to ask of a myth is ...

참고로, 보통 나는 이 질문에 ‘반만 맞다’고 말하거나 더 이상의 설명이 귀찮은 경우에는 ‘통상 인터프리터 언어라고 합니다.’라고 답한다.

파이썬은 인터프리터언어입니까? 더보기