컬러스킴을 전환하기

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

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

스크립트에서 파일명 확장 – vim

vim 명령줄 모드에서 %는 보통 현재 파일의 전체 범위1현재 파일 이름의 의미가 된다. 예를 들어 C 파일을 작성하던 중에 현재 파일을 컴파일하고 싶다면 :!gcc -c % 라고 할 수 있다. 그렇다면 함수와 같은 스크립트 문맥에서는 어떨까? 스크립트 문맥에서는 파일명확장이 이루어지지 않고, 대신에 expand()함수를 써서 수동으로 처리해야 한다.

let current_file_name = expand('%')
let current_file_prefix = expand('%<')

그외 몇 가지 옵션이 있는데 이는 :h expand()로 찾아보면 된다.

  • % : 현재 파일이름
  • # : 대체 이름 (아마 이전 파일?)
  • #n : 대체이름 (n번째 이전 파일)
  • <cfile>: 커서가 있는 위치의 파일 이름
  • <cword> : 커서가 있는 위치의 단어
  • <cWORD> : 커서가 있는 위치의 단어를 대문자로

그외에 확장자가 붙어서 이를 변환할 수 있다. 그 중 일부만 소개하면 아래와 같다. (전체 목록은 도움말 내용을 확인하자.)

  • :p : full path로 확장한다.
  • :h : 헤드 (마지막 패스 요소를 제거한다.)
  • :t: 꼬리 (첫 패스 요소를 제거한다.)

  1. %s/ ... // 등에서 범위로 사용될 때는 전체 범위를 의미한다.