Изменение активации (вкладка "Фокус") Поведение для сопоставлений Vimperator

Я хочу создать новое сопоставление ключей vimperator, которое дублирует функциональность отмены, но открывает вкладку в несфокусированной / фоновой вкладке.

Я знаю, что Tabopen использует флаг! переключить поведение активации для новой вкладки, но команда: u! не работает таким же образом. Есть ли способ сделать это, не прибегая к JavaScript (который я не знаю)?

1 ответ

Решение

Добавьте следующий код к вашему .vimperatorrc файл для создания команды undob который открывает закрытые вкладки в фоновом режиме, сохраняя их историю и не влияя на текущую альтернативную вкладку.

command! undob -description "Undo closed tab in background" :js undob();
:js <<EOF
  undob = function() {
      var currT = gBrowser.selectedTab;
      var ssService = Components.interfaces.nsISessionStore;
      var ssClass = Components.classes['@mozilla.org/browser/sessionstore;1']
      var ss = ssClass.getService(ssService);
      var closedTabs = JSON.parse(ss.getClosedTabData(window));
      var ct0 = closedTabs[0]
      ss.undoCloseTab(window, ct0);
      gBrowser.selectedTab = currT;
  }
EOF

Пример привязки ключа Ccu:

nnoremap <C-c>u :undob<CR>
Другие вопросы по тегам