Рубрики
Без рубрики

Серфинг в Интернете внутри терминала, потому что почему нет?

Недавно я написал сценарий Python для серфинга в Интернете (см. Результаты поиска) непосредственно в терминал. Он… Теги с Linux, Vim, Python.

Я недавно написал сценарий 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, то вы можете просто поменять его напрямую с браузером на ваш выбор или ваш файловый менеджер по умолчанию

  1. Fire Fox
exe "silent! !firefox --new-tab " . links[0]

  1. Хромизм
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

xnoremap t :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”