카테고리 보관물: 도구

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

vim 명령줄 모드에서 %는 보통 현재 파일의 전체 범위1현재 파일 이름의 의미가 된다.

그렇다면 함수와 같은 스크립트 문맥에서는 어떨까? 스크립트 문맥에서는 파일명확장이 이루어지지 않고, 대신에 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/ ... // 등에서 범위로 사용될 때는 전체 범위를 의미한다. 

(Javascript | mithril) m.render – 가상 DOM 렌더링하기

mithril 관련 글

  1. mithril 앱의 기본 구성 및 m()
  2. * m.render – 가상 DOM 렌더링하기
  3. m.mountmithril을 이용한 양방향 바인딩 & 템플릿 렌더링
  4. m.prop 양방향 바인딩을 위한 데이터 래퍼
  5. m.withAttr 양방향 바인딩을 위한 이벤트 매퍼
  6. m.componentmithril 앱을 컴포넌트 화하기
  7. Todo
  8. m.route – 단일페이지 애플리케이션 및 라우팅 규칙
  9. m.request – 서버 API와 통신하기

m.render

m.render는 미리 구성된 컴포넌트 단위를 주어진 DOM 위에 렌더링하는 일을 담당한다. 이 메소드가 동일한 가상 DOM 세트에 대해서 한 번 이상 호출되는 경우에는 기존 DOM 트리와 신규 트리 사이의 차이를 지능적으로 분석하여 변경이 일어난 부분에 대해서만 재 렌더링을 하는 방식으로 성능을 높이게끔 동작한다. 계속 읽기