2

Я пытаюсь переназначить ключи Nerdtree, чтобы <cr> открыл файл, но курсор остался в окне nerdtree. Nerdtree имеет эту возможность по умолчанию и может запускаться с помощью сопоставления клавиш g + o . Я хочу это отображение только в Nerdtree.

Из того, что я понимаю из документов Nerdtree, функции, которые вызывает это отображение, являются NERDTree-go что является сокращением для 'g' + NERDTreeMapActivateNode

Это то, что я попробовал в моем vim rc из комбинации документов NerdTree и из решений, предложенных для подобных вопросов.

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, который, я думаю, должен работать, но а) кажется, что это должно быть легко сделать с помощью простого переназначения и б) я не могу понять, как его настроить. Я дошел до загрузки, но в файле vimscript было следующее: ошибка

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

1 ответ1

2

NERDTree обычно настраивается с помощью переменных g:NERDTreeMap... ; к сожалению, нет отдельной опции карты для go . От :help NERDTree-go:

Ключевым списком для этого сопоставления всегда является "g" + NERDTreeMapActivateNode (см. NERDTree-o).

Итак, вы должны сделать переназначение самостоятельно. Чтобы применить это только к окну NERDTree, это должно быть локальное отображение буфера, запускаемое при открытии боковой панели NERDTree:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .