19

По какой-то причине команда Firefox vimperator:tabopen неожиданно не работает. :open еще работает. Кто-нибудь знает, как это исправить?

9 ответов9

8

Обновление № 2: исправление выпущено

  • переустановить Вимператор

Обновление: исправление сделано

Исправление было сделано и внесено в Vimperator, новая версия была построена с ним, но перед публикацией требуется проверка Mozilla, так что это займет время.

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

Причина, почему это не работает

Firefox изменил то, как их движок рендеринга обрабатывает JS, и Vimperator необходимо настроить (например, устаревшие функции генератора - те, которые имеют yield - теперь отбрасываются).

Источник: https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/Firefox_JavaScript_changelog#Firefox_51

Обходной путь открытия вкладки

  1. Откройте файл .vimperatorrc (GNU/Linux: /home/username/.vimperatorrc)
  2. Добавьте это (странный формат из-за - я думаю - <<, приводящий к ТАКому думанию, что я пытаюсь сделать грязную работу здесь, а НЕ отображать часть кода):

" Example keybinding: xt

nmap xt :extraTab<SPACE>

command! extraTab -nargs=1 -description "Open an extra tab" :js extraTab("<args>");

:js <<EOF

function extraTab(args) {

liberator.open(args, liberator.NEW_TAB)

}

EOF

Реальное решение

Необходимо заново определить tabs , так как теперь нет необходимости делать много вещей, связанных с вкладками.

Требуется доработка кода Vimperator и обновление, так что зайдите и добавьте комментарий (не комментируйте, просто добавьте комментарий к исходному сообщению):

https://github.com/vimperator/vimperator-labs/issues/568

3

Это сломано для многих людей. Если вы не можете дождаться выпуска исправления, существует обходной метод (который мне подходит, по крайней мере) https://github.com/vimperator/vimperator-labs/issues/568#issuecomment-275755483

2

Решение состоит в том, чтобы понизить Firefox до 50.1.*

РЕДАКТИРОВАТЬ: Vimperator работает в версии 54.0.1

Только что опробовал qutebrowser , браузер, написанный для пользователей VIM . Это выглядит потрясающе, но у него нет инструментов разработчика (поправьте меня, если я ошибаюсь). Сейчас я использую cVim в Chrome, и я очень доволен этим, рекомендую его.

2

Я сопоставил t с Control+t + open в .vimperatorrc следующим образом:

nnoremap t <C-t> o
nnoremap T y <C-t> o <C-v>

Это имитирует старую команду tabopen.

Вы также можете сделать это для других команд, таких как шоу Джека Доу.

1

Добавьте эту строку в файл ".vimperatorrc" или "_vimperatorrc":

nnoremap t <C-t>

Поэтому, когда вы нажимаете "t" вместо «:tabopen», он открывает новую вкладку в Firefox и позволяет вам вводить в строке URL.

Я пользователь Windows, поэтому я создал свой файл "_vimperatorrc" в папке с именем "Мое имя" (в той же папке, где находятся "Мои документы").

PS: Если вы set gui=nonavigation в вашем vimperatorrc, это не будет работать, вы вместо этого используете

nnoremap t <C-t>:open с пробелом после open .

Кроме того, для меня "r" также перестало обновляться, а "d" также перестало закрывать вкладки, поэтому строки ниже исправили это.

nnoremap r <C-r>

nnoremap d <C-w>

0

Я использую этот обходной путь в Windows, Firefox версии 51.0.1.

В _vimperatorrc:

nnoremap t <C-t> <ESC> o

Это откроет новую вкладку, а затем переключится обратно в обычный режим для запуска: команда open.

0

У него была такая же проблема, и похоже, что это FF51.0, поэтому сделал отчет об ошибке:https://github.com/vimperator/vimperator-labs/issues/671

НТН

0

Маленький Древний Лес У Ками был правильный обходной путь, но он пропустил несколько строк (так как переполнение стека, похоже, удаляет его, так как это команда). С этим в вашем .vimperatorrc вы можете открыть новые вкладки с помощью команды:extraTab (url)

"Пример связывания клавиш: xt nmap xt: extraTab

команда! extraTab -nargs = 1 -описание "Открыть дополнительную вкладку":js extraTab("");

:js << EOF

function extraTab(args) {liberator.open(args, liberator.NEW_TAB)} EOF

0

Определите команду как newtabright чтобы использовать ее следующим образом:

newtabright www.example.com

Посмотрите ЗДЕСЬ ответ о том, как это сделать.

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