По какой-то причине команда Firefox vimperator:tabopen неожиданно не работает. :open еще работает. Кто-нибудь знает, как это исправить?
9 ответов
Обновление № 2: исправление выпущено
- переустановить Вимператор
Обновление: исправление сделано
Исправление было сделано и внесено в Vimperator, новая версия была построена с ним, но перед публикацией требуется проверка Mozilla, так что это займет время.
Если вы хотите получить его, следуйте этому комментарию к проблеме. Я еще этого не сделал, поэтому не буду переиздавать под своим именем (пока).
Причина, почему это не работает
Firefox изменил то, как их движок рендеринга обрабатывает JS, и Vimperator необходимо настроить (например, устаревшие функции генератора - те, которые имеют yield
- теперь отбрасываются).
Обходной путь открытия вкладки
- Откройте файл
.vimperatorrc
(GNU/Linux:/home/username/.vimperatorrc
) - Добавьте это (странный формат из-за - я думаю - <<, приводящий к ТАКому думанию, что я пытаюсь сделать грязную работу здесь, а НЕ отображать часть кода):
" 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#issuecomment-275755483
Решение состоит в том, чтобы понизить Firefox до 50.1.*
РЕДАКТИРОВАТЬ: Vimperator работает в версии 54.0.1
Только что опробовал qutebrowser
, браузер, написанный для пользователей VIM . Это выглядит потрясающе, но у него нет инструментов разработчика (поправьте меня, если я ошибаюсь). Сейчас я использую cVim
в Chrome, и я очень доволен этим, рекомендую его.
Я сопоставил t
с Control+t + open
в .vimperatorrc следующим образом:
nnoremap t <C-t> o
nnoremap T y <C-t> o <C-v>
Это имитирует старую команду tabopen.
Вы также можете сделать это для других команд, таких как шоу Джека Доу.
Добавьте эту строку в файл ".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>
Я использую этот обходной путь в Windows, Firefox версии 51.0.1.
В _vimperatorrc:
nnoremap t <C-t> <ESC> o
Это откроет новую вкладку, а затем переключится обратно в обычный режим для запуска: команда open.
У него была такая же проблема, и похоже, что это FF51.0, поэтому сделал отчет об ошибке:https://github.com/vimperator/vimperator-labs/issues/671
НТН
Маленький Древний Лес У Ками был правильный обходной путь, но он пропустил несколько строк (так как переполнение стека, похоже, удаляет его, так как это команда). С этим в вашем .vimperatorrc вы можете открыть новые вкладки с помощью команды:extraTab (url)
"Пример связывания клавиш: xt nmap xt: extraTab
команда! extraTab -nargs = 1 -описание "Открыть дополнительную вкладку":js extraTab("");
:js << EOF
function extraTab(args) {liberator.open(args, liberator.NEW_TAB)} EOF
Определите команду как newtabright
чтобы использовать ее следующим образом:
newtabright www.example.com
Посмотрите ЗДЕСЬ ответ о том, как это сделать.