터미널에서 크롬 기록을 증분 검색 및 열기

3178 단어 ChromeTerminalPeco

소개


Chrome에서 과거 방문한 페이지를 열고 싶을 때 주소 표시 줄에 URL의 일부를 입력하여 표시되는 후보에서 열지 않겠습니까?
github에서 특정 리포지토리 페이지를 열고 싶거나 개발중인 화면을 열 때 자주 위의 작업을 수행합니다.
Chrome의 주소 표시줄도 보관해 줍니다만, 후보가 조금밖에 나오지 않거나, 키워드 검색과 혼잡해 사용성이 나쁘다고 느꼈습니다.
이 스트레스로부터 해방되는 방법을 계속 생각하고 있었습니다만, 터미널을 사용해 히스토리를 검색해 Chrome에서 여는 명령이 생겼으므로 소개합니다.

명령 이미지


문장만으로는 이해하기 어렵지만 ↓ 같은 이미지입니다.
  • 터미널에서 ch 입력
  • url의 일부를 입력. 공백으로 구분하여 여러 키워드를 넣을 수도 있습니다. 검색 사양은 peco 홈페이지를 참조하십시오 (htps : // 기주 b. 코m/페코/페코)
  • 해당 URL에 커서를 놓고 return . 커서 이동은 control+n(아래), control+p(위) 또는 화살표 키입니다.
  • Chrome에서 해당 화면이 열립니다.


  • 명령을 만드는 방법


    환경 준비


    아래와 같은 환경에서 작성·동작했습니다.

    오 S


    macOS Mojave(10.14.5)

    sqlite3


    3.24.0
    Chrome의 기록이 sqlite 형식으로 저장되어 있으므로 기록을 읽는 데 사용됩니다.
    macOS라면 ​​처음부터 설치됩니다.

    peco


    기록을 증분 검색할 때 사용합니다.
    그 밖에도 여러가지 활용할 수 있는 멋진 코멘드이므로 꼭 넣어 둡시다.
    아래 페이지를 참고로 설치해 둡시다.
    htps : // 기주 b. 코 m / 페코 / 페코

    Chrome


    75.0.3770.142

    명령


    명령은 다음과 같습니다. 명령명은 ch.bashrc 에 기술했습니다.

    .bashrc
    function ch {
      # Chromeの履歴ファイル(sqlite形式)をそのまま使ったらlockされていてエラーになったので/tmpにコピー
      # たぶんChromeがLockしているんだろう
      cp -p $HOME/Library/Application\ Support/Google/Chrome/Default/History /tmp/chrome_history
      # sqliteを使ってURL履歴を取得してpecoに流す
      # pecoでインクリメンタルサーチした結果をcに格納
      local c="$(sqlite3 /tmp/chrome_history 'select url from urls' | peco)"
      if [ -n "$c" ]; then
        # 対象urlが選択されている場合、Chromeで開く
        open -a '/Applications/Google Chrome.app' "$c"
      fi
    }
    

    마지막으로


    URL 이력의 후보에 file://... 이나 chrome-extension: 등 불필요한 것이 나와 방해이므로 sql을 개수하는 등 개선의 여지는 있을 것 같다.
    그리고 순진하게 전 이력을 select하고 있지만 Chrome의 이력은 어느 정도 있었을까. 수가 많으면 노이즈도 많아지므로 어떠한 조건으로 짜내면 좋을 것 같다.
    뭐 이 편은 사용해 나가는 중에 개선해 가고 싶습니다.

    좋은 웹페이지 즐겨찾기