ОБНОВЛЕНИЕ: полностью рабочее решение (см. Нижнюю часть ответа)
Встроенное решение: сломано?
На самом деле есть клавиша Ctrl +T, которая предназначена для выполнения следующего отображения в новой вкладке. Тем не менее, это не работает для меня вообще. Я не знаю почему.
Также есть tab
команды ex, которая делает то же самое для следующей команды ex. Тем не менее, он не работает должным образом с командами истории. Он дублирует вкладку, но не возвращается.
Двухступенчатое решение
Вы можете достичь этого, комбинируя две команды:
tabduplicate
(или tabdu
) дублирует текущую вкладку, сохраняя историю.
Вы можете привязать его к ключу, добавив такую строку в ваш файл .pentadactylrc:
map -g user -ex C :tabduplicate
H и L назад и вперед, как вы упомянули.
Поэтому, если вы используете приведенный выше пример привязки, вы можете использовать C H, чтобы открыть предыдущую страницу в новой вкладке.
примечание: положение новых вкладок.
Одним из важных предостережений является то, что, в зависимости от ваших настроек, этот метод может открывать новую вкладку в другом положении, чем нажатие правой кнопки мыши на кнопках истории. Команда C, как определено выше, откроет вкладку в конце панели вкладок, а не после текущей вкладки.
Если вы предпочитаете, чтобы вкладки открывались рядом с текущей, вы можете использовать расширение, чтобы открывать все новые вкладки после текущей вкладки. Tab Mix Plus является популярным выбором.
Первая попытка решения с одной командой.
У меня возникли проблемы при попытке получить одну команду, чтобы дублировать вкладку, а затем двигаться вперед или назад в ней. Тем не менее, легко скопировать вкладку в фоновом режиме, а затем переместиться вперед или назад в исходной вкладке.
Это имеет в основном тот же эффект, за исключением того, что позиции двух вкладок переключаются: вы возвращаетесь в историю, где находитесь, и вкладка в ее первоначальном состоянии остается там, где открываются новые вкладки. Возможно, вы захотите учесть это, только если вы используете расширение, чтобы все новые вкладки открывались рядом с текущей.
map -g user -ex [t :execute "tabduplicate! | back"
map -g user -ex ]t :execute "tabduplicate! | forward"
Затем вы можете открыть предыдущую страницу в новой вкладке с помощью [ t (вы можете использовать однобуквенную привязку клавиш, если она у вас есть).
ОБНОВЛЕНИЕ: Полностью рабочее решение Javascript
У меня это работает сейчас, с помощью команды Javascript. Проблема с моими ранними наивными попытками заключалась в том, что они пытались вернуться в историю до того, как история станет доступной. После некоторых исследований я решил проблему со слушателем событий.
Код находится в этой сути (обновление: версия vimperator). Либо включите его непосредственно в файл .pentadactylrc, либо сохраните его отдельно (предпочтительно в каталоге .pentadactyl) и получите его из .pentadactylrc. например.
:source "~/.pentadactyl/backt-forwardt.penta"
Затем вы можете использовать g h и g l для достижения тех же результатов, что и при нажатии средней кнопки «назад» /«вперед».