Между несколькими вкладками, как использовать Vimperator, чтобы открыть вкладку сразу после текущей

1851
Mehrad

Мои вкладки:

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

сценарий

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

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

0
Между 5-м и 6-м: другими словами, справа от 5-го. Как вы говорите, это * почти * звучит так, будто вы хотите разделить вкладку по центру. Но у меня есть идея. Как знакомый * любитель табов * (это официальный термин, используемый Mozilla), я могу понять, почему вы этого хотите. Боюсь, я не знаю, как этого добиться. Ну, не так легко в любом случае. Samir 9 лет назад 0
Когда вы создаете новую вкладку, она открывается в конце полосы вкладок. Но когда вы откроете ссылку в новой вкладке, она откроется справа от текущей вкладки. Я понимаю, это то, что вы хотите. Возможно, если бы мы исследовали исходный код этой функции (в конце концов, Firefox является открытым исходным кодом), мы могли бы создать расширение, которое будет вызывать эту функцию, и привязать его к сочетанию клавиш. Возможно, что-то вроде Ctrl + Alt + T? Samir 9 лет назад 0
Но это, конечно, потребует много времени и усилий. Вероятно, лучше взглянуть на то, какие расширения и расширенные настройки и опции уже существуют, которые мы можем использовать. Я вижу, вы используете тот, который называется Vimperator. Я не знаком с этим. Это где вы используете клавиши T и O? Это без Ctrl? Samir 9 лет назад 0
Вы можете попробовать Tab Groups, встроенный в Firefox. Вы вызываете его с помощью Ctrl + Shift + E. Там вы можете группировать связанные вкладки. Также есть возможность закрепить вкладки. Это также может быть полезно. Это заставляет их сворачиваться так, что виден только значок, и перемещает их в крайнюю левую часть полосы вкладок. Samir 9 лет назад 0
@ sammyg Я наркоман в Firefox, но, честно говоря, не знал о * tab tabicic *. Я знаю о функциях Firefox, и да, я упомянул ключи Vimperator и работают самостоятельно. И нет, я не хочу разделять вкладку :) Mehrad 9 лет назад 0

2 ответа на вопрос

1
pyrocrasty

Способ 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 

... или, используя пример связывания клавиш, введите:
xtwww.example.comEnter


Способ 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, мы просто набрали:
oSpacerSpaceexample.comEnter

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

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

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

0
user19087

Чтобы получить точно такое же поведение :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 .