빔 NERDTree | '다시 매핑''가다' | 파일을 열었지만 NerdTree 창에 남아 있습니다.

빔 NERDTree | '다시 매핑''가다' | 파일을 열었지만 NerdTree 창에 남아 있습니다.

<cr>파일을 열지만 커서가 nerdtree 창에 유지되도록 Nerdtree 키를 다시 매핑하려고 합니다 . Nerdtree에는 기본적으로 이 기능이 있으며 g + o키 매핑으로 트리거될 수 있습니다. 나는 Nerdtree에 있을 때만 이 매핑을 원합니다.

Nerdtree 문서에서 내가 이해한 바에 따르면 이 매핑이 호출하는 함수는 NERDTree-go약어 입니다.'g' + NERDTreeMapActivateNode

이것은 NerdTree 문서의 조합과 유사한 질문에 대한 솔루션을 통해 vim rc에서 시도한 것입니다.

let NERDTree-go=<cr>

nnoremap <CR> :call nerdtree#ui_glue#invokeKeyMap("go")<CR>

nnoremap <CR> :call nerdtree#invokeKeyMap("go")

let g NERDTreeMapActivateNode = <cr>

let g NERDTree-go

작동해야 한다고 생각하는 API 방법도 있지만 a) 간단한 재맵핑으로 쉽게 수행할 수 있을 것 같고 b) 설정 방법을 알 수 없습니다. 로드하는 데까지 이르렀지만 vimscript 파일에 다음이 있어서 오류가 발생했습니다.

NERDTreeAddKeyMap({
  'key': '<cr>',
  'callback': 'NERDTree-go',
  'scope': 'FileNode',
  'overide': '1'
})

답변1

NERDTree는 일반적으로 변수를 통해 구성됩니다 g:NERDTreeMap.... 안타깝게도 에 대한 별도의 지도 옵션은 없습니다 go. 에서 :help NERDTree-go:

이 매핑의 주요 조합은 항상 "g" + NERDTreeMapActivateNode입니다(NERDTree-o 참조).

따라서 직접 재매핑을 수행해야 합니다. 이를 NERDTree 창에만 적용하려면 NERDTree 사이드바를 열 때 트리거되는 버퍼-로컬 매핑이어야 합니다.

:autocmd FileType nerdtree nmap <buffer> <CR> go

관련 정보