fzf + sqliteを使ってChromeの閲覧履歴をインクリメンタルサーチする

  • POSTS
JSL (日本システム技研) Advent Calendar 2018 - Qiita の12日目の記事です。 モチベーション Chromeの履歴が見辛いのでいい感じに表示したい 履歴を見やすくするプラグインはいくつかあるが、ターミナルから「履歴閲覧→開く」ができるとシームレスにWebブラウジングに移れそう なので今回は、sqliteを使ってユーザのローカルに保存してある履歴ファイルを閲覧 + fzfを使ってインクリメンタルサーチ するコマンドを実現するための方法を書く。 最終的にやったこと fzfの公式サンプルに載ってた。 Examples · junegunn/fzf Wiki サンプルに沿って、パスの通った場所に以下のようなコマンドを置きました。名前はChromeHistoryで ch としました。 #!/usr/bin/env zsh ch() { local cols sep google_history open cols=$(( COLUMNS / 3 )) sep='{::}' if [ "$(uname)" = "Darwin" ]; then google_history="$HOME/Library/Application Support/Google/Chrome/Default/History" open=open else google_history="$HOME/.config/google-chrome/Default/History" open=xdg-open fi cp -f "$google_history" /tmp/h sqlite3 -separator $sep /tmp/h \ "select substr(title, 1, $cols), url from urls order by last_visit_time desc" | awk -F $sep '{printf "%-'$cols's \x1b[36m%s\x1b[m\n", $1, $2}' | fzf --ansi --multi --preview-window down:1 | sed 's#.

PyCharmの機能をIdeaVimのnormalモードに割り当てる

  • POSTS
IDEにPyCharm、Vim用のキーバインド設定のためにIdeaVimというPluginを使っています。 PyCharmはそれ自体が便利で、機能も豊富で素晴らしいIDEです。今回はPyCharmに備わっている各機能をVimのnormalモードに割り当てるまでの設定をしたいと思います。 今回はPyCharmですが、JetBrains系のIDEであれば同様に設定できるかと思います。 今回は Navigator > Next Method / Previous Method をVimのnormalモードの <C-n / C-p> に割り当てます。 Next Method / Previous Method は、名の通り、今いる位置から次/前のメソッドの行頭に移動する機能です。 デフォルトではCtrl + Shift + Option[Alt] + ↓ / ↑ なので結構押しづらい。 単に当該機能のキーマップを Ctrl + n / p に割り当てることでも問題ないのですが、自分の設定だと、それぞれUp / Downが割り当てられているため、normalモードのみこの機能が効くようにしたい。 .ideavimrc を作成する 通常のVimを使用するときに、 .vimrc を設定するように、IdeaVimでも同様の設定ファイル .ideavimrc があります。 これに通常のVimの設定に加えて、IdeaVim独自の設定をします。 $ touch ~/.ideavimrc .ideavimrc を設定する 以下のようにnormalモードの にそれぞれの機能をマッピングします。 nnoremap <C-n> :action MethodDown<CR> nnoremap <C-p> :action MethodUp<CR> なお、設定できるPyCharmのアクションの一覧は、IdeaVimを導入したPyCharmのエディタ上で、 :actionlist とすると見ること出来ます。