Мои вкладки:

[1] [2] [3] [4] [ 5 ] [6] [7] [8] [9]

сценарий

Я работаю над 5-й вкладкой в Firefox и ищу способ открыть вкладку между 5-й и 6-й, а не после 9-й, что будет сделано т или о

Я провожу много исследований, и пока я работаю, я стараюсь держать открытыми несколько (нуминовых) вкладок, а иногда я стараюсь временно удерживать связанные рядом друг с другом. В случае, если вам интересно, почему.

2 ответа2

1

Способ 1: общий

Следующий код определяет команду для открытия URL-адреса на вкладке рядом с текущей вкладкой. Вы можете поместить его в свой файл .vimperatorrc или сохранить как отдельный файл и поместить его в .vimperatorrc .

" Defines commands to open new tab to right of current tab

" Example keybinding: xt
nmap xt :newtabright<SPACE>

command! newtabright -nargs=1 -description "Open new tab to right of current tab" :js newTabRight("<args>");

:js <<EOF
function newTabRight(args) {
    var origOrd = gBrowser.selectedTab._tPos;
    var numTabs = tabs.count;
    liberator.open(args, liberator.NEW_TAB)
    var newTab = tabs.getTab();
    tabs.move(newTab, origOrd+1);
}
EOF

Я загрузил этот код в виде гистограммы, так что вы можете скачать его и сохранить в своем .vimperator если хотите. Затем вы можете получить его из вашего файла с помощью

:source ~/.vimperator/newtabright.vimperator

Есть также версия пентадактиля.

Чтобы открыть URL-адрес на вкладке справа, просто введите в командной строке Vimperator следующее:

newtabright www.example.com

... или, используя пример связывания клавиш, введите:
x t www.example.com Enter


Способ 2: требуется настройка about.config browser.tabs.insertRelatedAfterCurrent

Предполагая, что для about.config для browser.tabs.insertRelatedAfterCurrent установлено значение true , вы можете использовать более простой метод (который можно даже - условно - использовать без Vimperator/Pentadactyl).

Создайте новый букмарклет. Назовите его как угодно (например, "новая вкладка справа") и в поле location введите следующее:

javascript:window.open('%s');void(0);

В поле keyword введите удобное ключевое слово, например. r

Это комбинация или букмарклет и закладка "поиск" (хотя мы не используем ее для поиска). Вы можете использовать его либо из строки адреса FF, либо из открытого приглашения Vimperator. Просто введите ключевое слово, а затем URL. Таким образом, используя сочетания клавиш Vimperator, чтобы открыть example.com, мы просто набрали:
o Space r Space example.com Войти

С панелью локации Firefox (ванильный FF)...

Мы также можем использовать букмарклет с адресной строкой FF. Используя стандартную привязку ключа FF, мы открыли example.com , набрав:
Ctrl-L r Пробел example.com Войти
... что на самом деле немного быстрее, чем командная строка Vimperator.

Однако использование этого метода из строки адреса не будет работать, если у вас активен блокировщик всплывающих окон FF (меню ▷ «Настройки» ▷ «Содержимое» ▷ «Всплывающие окна»). Это связано с тем, что URL-адреса схемы JavaScript, введенные в адресной строке (или из букмарклета), обрабатываются так же, как и JavaScript, выполняемый веб-страницей, тогда как командная строка Vimperator: команда :javascript выполняет код со своими привилегиями расширения.

0

Чтобы получить точно такое же поведение, как :tabopen , используйте это:

nnoremap    <A-[>       :tabopenleft<SPACE>
nnoremap    <A-]>       :tabopenright<SPACE>

:js <<EOF
commands.addUserCommand
    ( ["tabopenright", "tabnewright"]
    , "Open one or more URLs in a new tab to the right"
    , function (args)
        { var origOrd = gBrowser.selectedTab._tPos;
          commands.get("tabopen").action(args);
          var newTab = tabs.getTab();
          tabs.move(newTab, origOrd + 1);
        }
    , { bang        : commands.get("tabopen").bang
      , completer   : commands.get("tabopen").completer
      , literal     : commands.get("tabopen").literal
      , privateData : commands.get("tabopen").privateData
      }
    , true
    );
commands.addUserCommand
    ( ["tabopenleft", "tabnewleft"]
    , "Open one or more URLs in a new tab to the left"
    , function (args)
        { var origOrd = gBrowser.selectedTab._tPos;
          commands.get("tabopen").action(args);
          var newTab = tabs.getTab();
          tabs.move(newTab, origOrd + 0);
        }
    , { bang        : commands.get("tabopen").bang
      , completer   : commands.get("tabopen").completer
      , literal     : commands.get("tabopen").literal
      , privateData : commands.get("tabopen").privateData
      }
    , true
    );
EOF

Этот ответ был создан частично с использованием 1-го метода пирократизма и с использованием источника vimperator.

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