Я недавно написал сценарий Python для прибой Веб (см. Результаты поиска) непосредственно в терминал.
Вот демо
Сценарий доступен на моем гадость
Это не так большая сделка, так как весь кредит уходит Searx Конфиденциальность соответствует механизму FOSS MetaSearch
Почему searx.
Почему нет?
- Это уважает вашу конфиденциальность. Никаких пользовательских отслеживаний
- Открытый источник
- Вы даже можете создать свой собственный (частный/публичный) экземпляр Searx на VPS. Список публичных экземпляров
- Агрегаты результаты из более чем 70 поисковых услуг (Duckduckgo, Wikipedia и т. Д.)
Установка
Сценарий не требует никаких зависимостей (кроме Python 3), просто загрузите скрипт и запустите его.
Обратите внимание, что прибой был написан для/в качестве пользователя Linux. Он должен работать на Mac без проблем. Если вы находитесь в Windows, рассмотрите рассмотрение отправки исправлений, если скрипт перерывается. Спасибо!
wget -q https://raw.githubusercontent.com/Bhupesh-V/.Varshney/master/scripts/surf chmod +x surf && mv surf $HOME/.local/bin/
Если вы больше плохого мальчика/девочки, добавьте местоположение скрипта серфинга на ваш ДОРОЖКА
export PATH="DIR_PATH_WHICH_CONTAINS_SURF:$PATH" # e.g export PATH="$HOME/Documents/.Varshney/scripts:$PATH"
Вы можете просматривать справку и использование на прибой, делая простой Surf --help
Отказ Давайте пройдем все доступные варианты.
использование
- Просто запустите скрипт, без каких-либо аргументов. Surf подскажет вам поисковый запрос:
$ surf
- Показать описание ссылки.
$ surf -d
- Обеспечить поисковый запрос как аргумент (также
- Quary
):
$ surf -dq "how to change the world"
- Вы также можете проводить данные для серфинга
¯ \ _ (ツ) _/¯
:
$ echo "search this" | surf
- Использовать
-C
Чтобы указать категорию поиска (по умолчанию: General):
$ surf -c "videos" -dq "how to make a pizza"
Другие категории: «Новости», «Файлы», «Изображения», «Карта»
- Обновление списка кеша Searx экземпляра перед выборами результатов:
$ surf -udq "when is doomsday"
Обновление кеша обычно не требуется Я рекомендую запустить его один раз/два раза в неделю, чтобы получить список активных экземпляров.
Кэш расположен в $ Главная/.local/.searx_instances
на Linux и $ Главная/Библиотека/Кэши/.searx_instances
на Mac
- Показать только Top N результатов (также
--top
):
$ surf -t 5 -dq "check if key exists in map"
Searx поддерживает эти подлый поисковые трюки,
surf -dq "site:youtube.com how to make pizza" surf -dq "site:stackoverflowcom" surf -dq "intitle:best vim plugins" surf -dq "inurl:docs.djangoproject.com templates"
Ну, теперь вы бы спрашивали: «Что такое использование этого bhupesh, если я должен открыть ссылку в браузере в конце»
Но то, что я понял, состоит в том, что это может случайно соответствовать в My/ваш рабочий процесс, если вы используете VIM, позвольте мне показать как
Просмотр внутри vim, сказать, что
Нам нужен способ открыть ссылки прямо с нашего терминала VIM. Добавьте это на ваш Vimrc
или init.vim.
" Open hyper link in current line function! OpenLink() let links = [] try call substitute(getline('.'), 'http[s]\?:\/\/[^) \"]*', '\=add(links, submatch(0))', 'g') echo "Opening " . links[0] exe "silent! !xdg-open " . links[0] catch E684 echo "No link found :(" return endtry endfunction
Линия
exe "silent! !xdg-open " . links[0]
будет напрямую открыть ваш браузер по умолчанию со ссылкой.
Если вы не используете X11, то вы можете просто поменять его напрямую с браузером на ваш выбор или ваш файловый менеджер по умолчанию
- Fire Fox
exe "silent! !firefox --new-tab " . links[0]
- Хромизм
exe "silent! !chromium-browser " . links[0]
Кроме того, я недавно нашел менее громоздкий подход на vimtricks.com
function! OpenURLUnderCursor() let s:uri = expand('') let s:uri = substitute(s:uri, '?', '\\?', '') let s:uri = shellescape(s:uri, 1) if s:uri != '' silent exec "!open '".s:uri."'" :redraw! endif endfunction nnoremap gx :call OpenURLUnderCursor()
Поиск сообщений об ошибках внутри VIM
Скажем, я что-то отлаживаю и в конечном итоге с никогда не видел сообщение об ошибке. Я могу быстро отправить строку ошибки в прибой
И получите ссылки на Stackoverflow или GitHub!
Вот демонстрация меня, используя хлопья На серфинге и поисках правил:
Как это работает довольно просты. Нам просто нужно получить текущий визуальный выбор.
function! GetVisualSelection() " Thanks: https://stackoverflow.com/a/6271254/8209510 let [line_start, column_start] = getpos("'<")[1:2] let [line_end, column_end] = getpos("'>")[1:2] let lines = getline(line_start, line_end) let lines[-1] = lines[-1][: column_end - (&selection == 'inclusive' ? 1 : 2)] let lines[0] = lines[0][column_start - 1:] return join(lines, "\n") endfunction xnoremapt :split call SendQueryToTerm() function! SendQueryToTerm() let selection = GetVisualSelection() exe ":term surf -dq \'" . selection . "\'" endfunction
Это откроет разделение выше с новым терминальным буфером.
Убедился еще?
Может быть нет
Если вам понравилось прибой Обязательно подпишитесь на Atom Feed или посмотреть мой dotfiles Репо для последнего развития или лучшего вилки и взломать свои функции!
Оригинал: “https://dev.to/bhupesh/surfing-web-inside-a-terminal-because-why-not-5f1g”