# fzf 에서는 esc 키 처리 시 기본 50ms delay가 있고 $ESCDELAY 환경변수가 있으면 이 값에 영향을 받는다고 한다.
# 그런데 fzf.vim 을 사용시 :FZF, :Rg, :History 등으로 나오는 팝업창을 취소하려고 esc 키를 누르면 50m 보다 더 지연된다.
# 반면 ctrl+c 키로 취소하면 바로 닫힌다.
# 알고보니 .vimrc 환경에서 mapping/keycode(<esc><up><left><enter>등) 입력완료를 위한 타임아웃을 1초로 설정하고 있었다.
# 이 값을 줄이니 esc 로 취소가 바로 된다.
set timeoutlen=1000
# 흠 그런데 다른 shortcut 을 사용중이라. 저값을 너무 줄일 수는 없었다.
# ctrl+c 를 사용한던가 esc를 연속으로 두번 누르면 되긴 하지만 좀더 근본적인 해결을 위해선 다음과 같이 ttimeoutlen(ttm) 50m 정도로 줄이면 된다.
# ttimeoutlen 은 디폴트가 -1 이다.
# ttimeoutlen < 0 일때는 mapping, keycode 지연모두 timeoutlen값을 사용한다.
# ttimeoutlen >= 0 일때는 mapping 은 timeoutlen, keycode 는 ttimeoutlen값을 사용한다.
ttimeoutlen mapping delay key code delay
< 0 'timeoutlen' 'timeoutlen'
>= 0 'timeoutlen' 'ttimeoutlen'
# 그래서 다음과 같이 설정해서 해결함
# mapping 타임아웃1초
set timeoutlen=1000
# key code 타임아웃 50ms
set ttimeoutlen=50
comments:
댓글 쓰기