1

私は本を​​書いています。関心のあるハイパーリンクを含む大きなメモファイルがあります。カーソルをハイパーリンク上に移動し、コマンドを実行し、読み取り、切り取り、および変更のためにWebページのテキストを挿入できるようにしたいと思います。理想的には、完全なHTMLではなく、読み取り可能なテキストのみですが、取得できるもの(または、適切なシェル関数の場合は取得できるもの)を使用します。

確かにそういうことはすでにまとめられていますが、「viminserttexthyperlink」などの検索はあまり役に立ちません。この機能を見たことがありますか?

4

2 に答える 2

2

カーソルを誇大広告リンクに移動し、次のコマンドを入力します。

:exec 'r!wget -q -O- ' getline('.') ' | html2text'

誇大広告リンクの後に誇大広告リンクの内容を追加します。
このコマンドを機能させるには、installを実行する必要がありますhtml2text
幸運を!

于 2012-05-08T21:00:29.640 に答える
2

ハイパーリンク上にマウスカーソルを置いて、実行します

:rC-rC-aEnter

これにより、生のコンテンツが次の行に挿入されます。前処理するには:

:r !links -dumpC-rC-aEnter

もちろん、これをキーにマップすることもできます。

:nnoremap <F6> :r !links -dump <C-r><C-a><CR>

さまざまなメモ:

C-rC-aURLを引用している場合は、引用符が含まれるため、満足できない場合があります。行うことを検討してください

:se iskeyword+=/,:,.

C-rC-w代わりに使用してください。または、

:se isfname-="

代わりに使用できますC-rC-f

設定をいじりたくない場合は、&iskeywordまたはの値を保存および復元する関数を作成することを検討してください&isfname。大きな銃を引き出すには、URLの正規表現を記述し、それを使用します。

func! ReadFromUrl()
    let url = substitute(getline('.'), '\c\v^.*((https?|ftp|file)://[a-z0-9.:/%+()]+).*$', '\1', '')
    exec 'r! links -dump "' . url . '"'
endf

command! ReadFromUrl call ReadFromUrl()
nnoremap! <F6> ReadFromUrl<CR>
于 2012-05-08T22:40:42.780 に答える