레이블이 timeout인 게시물을 표시합니다. 모든 게시물 표시
레이블이 timeout인 게시물을 표시합니다. 모든 게시물 표시

fzf esc delay

# 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