2015-04-10 4 views
0

Я хотел бы нанести ключ открытия вкладки NERDTree, 't', чтобы сделать несколько вещей. А именно, я бы хотел, чтобы он открыл вкладку, а затем выполнил следующий список команд: TlistToggle Ctrl W, Ctrl T, Ctrl W, Shift K, 30, Ctrl W, знак минус. Чтобы открыть файл taglist для файла, затем горизонтально разбить список и файл, а затем изменить размер списка тегов.Есть ли способ сопоставить определенные ключи плагина для выполнения нескольких клавиш в Vim?

Я попытался следующие:

nnoremap <t> NERDTree-t TlistToggle <C-W><C-T><C-W><S-K>30<C-W> - 

, но это, кажется, не делать ничего.

Мысли? Я просто полностью ошибаюсь. Возможно ли это?

ответ

0

Вот окончательное решение, которое я используется, чтобы открыть файл в новой вкладке из NERDTree, а затем разделить и изменить размер файла & TlistToggle:

autocmd FileType nerdtree nnoremap <buffer> t :call nerdtree#ui_glue#invokeKeyMap("t")<CR> :TlistToggle<CR> <C-w><C-t><C-w>K :exe "resize " . ((winheight(0) + winheight(1)) * 3/20)<CR> 

и это изменяет список тегов, которые был открыт на горизонтальной вкладке на 15% от общего количества строк во всем окне.

2
  • Отображение NERDTree не является глобальным, но только существует (и имеет смысл) в боковой панели плагина. Это делает его более трудным для переопределения, но вы можете подключить в NERDTree установив его 'filetype', а затем определить буфера локального отображение переопределить NERDTree-х:

    : autocmd FileType nerdtree nnoremap т ...

  • В то время как команды normal (например, <C-w>...) действительно могут быть объединены, это неверно для подключений плагина. Вы можете узнать NERDTree с помощью :nmap <buffer> t:

    : вызов nerdtree # invokeKeyMap ("Т")

Taglist является также команда Ex; Вы можете комбинировать как с | (записывается как <Bar> в отображений):

:call nerdtree#invokeKeyMap("t")<Bar>TlistToggle<CR> 

Так, что-то, как это должно работать (я не проверял):

:autocmd FileType nerdtree nnoremap <buffer> t :call nerdtree#invokeKeyMap("t")<Bar>TlistToggle<CR><C-W><C-T><C-W>K30<C-W>- 
+0

К сожалению, это не сработало. – Mastergeek

+0

В чем проблема? Попытайтесь создать эту команду командой (concatenated). –

+0

Проблема в том, что ничего не происходит. Есть ли способ включить какой-то подробный вывод ошибки? – Mastergeek

 Смежные вопросы

  • Нет связанных вопросов^_^