Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

netrwを気持ちよく使いたい

$
0
0

あけましておめでとうございました。年末くらいからvim-jpのslackに忍び込んで読書会に参加したりしてモチベーションが高かったのでスクリプトが出来ました。

netrwのブックマーク先にダイレクトに移動するスクリプト

とりあえずソースから

netrwbook.vim
function! netrwBook#open(...) abort
    ifa:0>0&& a:1!=0
        echo a:1let selectIdx =a:1elselet idx =1forning:netrw_bookmarklist
            echo printf('%3d: %s',idx,n)let idx +=1endforlet selectIdx = input('番号と<Enter>を入力して下さい (空でキャンセル): ')endiftryif selectIdx <=0throw'E684'endif
        execute 'silent Explore '.g:netrw_bookmarklist[selectIdx-1]catch/E684/if selectIdx !=''
            echo "\rブックマークのインデックスが範囲を超えています。"endifendtryendfunction

なにこれ

vimのノーマルモードのキーマップgbが空いていて、netrwと共通なのでnoremap gb :<C-u>netrwBook#open(v:count)とかで登録しておくとノーマルモードから直にnetrwのブックマークを開けます。引数がなければ入力待ち、netrwの仕様どおり3gbで3番目のブックマークも出来る様になっています。

最近覚えたこと

v:countの使い方

vim-jpのslackで教えてもらいました。<C-u>でコマンドのカウントを無視して、変数v:countを使ってコマンド内にカウントの数値を使うことが可能なんだけど、変数展開に気をつけること。デフォ値を1にしたい時はv:count1が使える。

printf()がある

全然気がついてなかった…


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>