LoginSignup
23
24

More than 5 years have passed since last update.

RSSリーダー決定版 canto の紹介

Posted at

はじめに

Feedlyが不安定で遅かったり、取得できなかったりすることがあるので、コマンドラインで使えるcantoを使ってみました。なかなかいいかんじです。

今回は、cantoの使い方を紹介していきます。ついでにCLIを好むユーザーにオススメできるブラウザの使い方なども紹介します。

一応、Linuxで動作する手順を書きますが、Macでも動かせます。ただし、cantoは、バージョンによって仕様がだいぶ異なりますので注意が必要です。

canto

cantoのインストール

Linux/Arch
$ sudo yaourt -S canto

$ canto
Mac
$ sudo port install canto

$ canto

cantoの起動オプション

# アップデート
$ canto -u 

# 未読数の確認
$ canto -a

cantoの基本操作

基本的に、ノーマルモード(Normal Mode)とリードモード(Reader Mode)に分けられ、キーバインドも異なります。

Normal

キー 内容 設定
h ヘルプ help
j カーソル移動(下) next_item
k カーソル移動(上) prev_item
space 読む(リードモードに移行) "reader"
q 終了 quit
R すべて既読 all_read

参考:
http://codezen.org/canto/config/#main-view

Reader

Spaceを押すと、記事を読むことが出来ます。その時有効なキーバインドは以下の通りです。

キー 内容 設定
l リンク番号を表示する toggle_show_links
g リンク番号をブラウザで開く goto
スクロール(下) page_down
スクロール(上) page_up

参考:
http://codezen.org/canto/config/#reader-view

リンク先をブラウザで開く

リンク先をブラウザで開くには、まず、Spaceでリードモードに移行します。

これにより、上の方に記事の中身が表示されます。ここで、l(L)を押すと、リンクに番号が割り振られます。

そこでgを押すと、番号を指定し、ブラウザで開くという処理を実行できます。

なお、ブラウザの設定は以下のような感じになります。ヘッダとイメージでブラウザ(ツール)を分けられます。

~/.canto/conf.py
link_handler("w3m \"%u\"", text=True)
image_handler("dwb \"%u\"", fetch=True)

ただし、ここではまだ設定しないでください。次に、cantoの初期設定方法を紹介します。

cantoの初期設定

MacとLinuxでは、よく使用されているパッケージマネージャーによりインストールされるバージョンが異なります。したがって、設定も若干異なることになります。注意が必要です。

具体的には、Macの場合、設定ファルをダウンロード後に、URLのみの設定をconfに書かなければなりません。

では、以下は、Linuxで有効な設定方法を紹介します。

まず、設定ファイルをダウンロードします。

$ cd ~/.canto

$ curl -O http://codezen.org/static/conf.py.example

$ chmod +x conf.py.example

$ cp conf.py.example conf.py

$ vim conf.py

次に、設定ファイルの設定を見直していきましょう。

フィードを追加するには、以下のように書きます。表示数の指定やタグ付け、フィルタなどが利用できます。

~/.canto/conf.py
add("http://someurl", rate=30, keep=100)

add("http://some-blog", tags=[None, "blogs"])
add("http://some-other-blog", tags=[None, "blogs"])
filters = [ None, with_tag_in("blogs") ]

add("http://feeds.penny-arcade.com/pa-mainsite") # Implicitly creates "Penny Arcade" tag
add_tag("Penny Arcade", filters=[only_with("Comic:"), only_with("News:")])

次にキーバインドの設定です。ノーマルモードとリードモードがあります。モードによりキーバインドが異なります。

~/.canto/conf.py
keys['/'] = search_filter
keys['y'] = yank

reader_key['n'] = ["destroy", "just_read", "next_item", "reader", "toggle_show_links"]
reader_key['p'] = ["destroy", "just_read", "prev_item", "reader", "toggle_show_links"]

最後の行だけ見ていきましょう。

reader_key['p'] = ["destroy", "just_read", "prev_item", "reader", "toggle_show_links"]

この設定は、前の記事を開いた状態で移動するというものです。末尾に toggle_show_linksを追加したので、リンク番号を表示するという処理になります。

つまり、最後の行では、pを押すと、「前の記事を"リンク番号を表示したまま"開く」というキーの設定ということになります。

これによりlを押す手間が省けます。

ブラウザの設定は、以下の通りです。

~/.canto/conf.py
link_handler("w3m \"%u\"", text=True)
image_handler("dwb \"%u\"", fetch=True)

テキストブラウザかそうでないかで、記述が変わってきますので注意が必要です。

ここで、w3mdwbというブラウザを設定してみました。

つまり、g(goto)でリンクを開くと、w3mが起動し、イメージを開くと、dwbが起動することになります。

参考:
http://codezen.org/canto/config/#example-config

では、以下では、w3mdwbの基本的な使い方を紹介していきたいと思います。

といっても、cantoとの連携に役立つ限りで紹介していきます。

w3m

w3mのインストール

$ sudo pacman -S w3m xclip

w3mの便利設定

w3mをブラウザに設定した場合は、以下の様なキーバインドを設定しておくと便利です。

~/.w3m/keymap
keymap m EXTERN_LINK "echo %s | xclip -i -selection clipboard"
keymap M EXTERN "echo %s | xclip -i -selection clipboard"

参考:
http://mba-hack.blogspot.jp/2012/10/w3m.html

x11 Clipboard

Linuxのx11クリップボードは、以下の様な形態になっています。 -selectionで指定します。

-selection 内容
primary マウスでテキストを反転させてコピーした場合
clipboard マウスでテキストを反転させ、右クリックしてコピーを選択した場合
secondary -

Linuxのx11クリップボードを使う場合は、必須の知識です。シェルや端末で独自に設定したい場合は、このようなコマンドになります。

x11 クリップボードへ放り込む

$ xclip -i -selection clipboard

x11 クリップボードから読み込む

$ xclip -o -selection clipboard

参考:
http://l-w-i.net/t/x/clipboard_001.txt

なお、Linuxのクリップボードには、xselもよく使われます。Arch Wikiなどでは、xclipが推されていますが…。

しかし、Arch Wikiの充実度は、素晴らしいですね。私が、Archを使っているのは、この影響も大きいです。

話が逸れましたね。話を戻します。

w3mの話は、これで終わります。次は、debというブラウザの使い方を紹介していきます。

dwb

dwbとは

軽量のGUIブラウザです。

私は、Linuxでは、普段使いとしてdwbというブラウザを使用しています。簡易なブラウジングには、オススメできます。

また、デフォルトのキーバインドがとても優れています。dwbがデフォルトで持っている拡張は、不要ですし、容易です。

不要というのは、基本機能とキーバインドがデフォルトで素晴らしいので、dwbは、あまり拡張する必要がないと個人的には考えています。

dwbのキーバインド

キー 内容 エイリアス,コマンド
i インサートモードに移行 i
: コマンドモードに移行 -
Esc,C-n ノーマルモードに移行 -
/ 検索 ffind
f リンクを開く hi
F リンクをタブで開く thi
j, k, h, l スクロール、戻る、進む down …etc
C+Tab タブ移動 ttab
d タブを閉じる close_tab
;y リンクをクリップボードに保存します chi
yy URLをクリップボードに保存します yank
yt タイトルをクリップボードに保存します tyank
Sk キーバインドの設定を開く skeys
Ss 設定を開く ssettings
C-q 終了 q

dwbの設定

カスタムキーを設定するには、 ~/.config/dwb/default/custom_keysに書きます。

書き方は、以下の様な感じです。

~/.config/dwb/default/custom_keys
Control ;g :t http://google.com;; 150zoom
Control w :close_tab

例えば、上記は、;gを押すと、Googleをタブでズーム+150の状態で開くというものです。

その他の設定についても、同様のフォルダ内にあります。

参考:
http://portix.bitbucket.org/dwb/resources/manpage.html
https://wiki.archlinux.org/index.php/Dwb

dwbでのテキストコピー

例えば、テキストの選択は以下のようにします。

  1. /https + n

  2. i + Shift + → + C+c

簡単には、検索した後、インサートモードでテキストを選択、コピーします。

リンクをコピーしたければ、;yなどのキーが便利です。

tmux

tmuxとの連携


テキストブラウザを使用する場合は、tmuxを使って、画面をコピーできるようにしておくと便利です。1キーでコピーできるように工夫しています。

~/.tmux.conf
# 設定リロード
bind r source-file ~/.tmux.conf \; display-message "Reload Config!!"

# "C-b, [" コピーモードの設定 vi
#set-window-option -g mode-keys vi
setw -g mode-keys vi

# [?]キーバインドの確認

# [p]貼り付け
bind p paste-buffer

# c[Enter]コピー
#bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
bind -t vi-copy Enter copy-pipe "xclip -i -selection clipboard"

# c[Space]選択

# [y]1行コピー(クリップボードとの連携がない場合)
bind -t vi-copy Enter copy-pipe "xclip -i -selection clipboard"
bind -t vi-copy Y select-line
bind y run 'tmux copy-mode\; send-keys Y Enter'

## [y]1行コピー(クリップボードとの連携がある場合)
#bind -t vi-copy Y select-line
#bind y run 'tmux copy-mode\; send-keys Y'

# [v]全行コピー
bind -t vi-copy V begin-selection
bind v run 'tmux copy-mode\; send-keys ggVG Enter'

参考:
http://mba-hack.blogspot.jp/2013/05/tmux.html

追記

だれか、dwbで連続hintsを行うマクロかTipsがあれば教えて下さい。

23
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
24