Vim
tips

vimの公式リファレンスの便利なTipsたち

Vim Advent Calendar 2018 その2 18日目の記事です。

こんにちわ

自分は普段vimに関するTipsや情報を記事から得る事がほとんどで、

マニュアルをあまり読んできませんでした。

マニュアルを読まない癖がついてしまっていますが、

記事などでは得られない情報があるので、最近はなるべくマニュアルを読むようにしています。

vimにはvim-jpの方々が翻訳してくださったマニュアルがあり、vimの機能について細かく紹介されています。

今回の記事はそのマニュアルからこれは便利だなと思う機能を紹介していきます。

各項目はリンクになっているので、詳細を知りたい方はリンク先を参照してください。


セッション

vimには現在の作業状態をセッションとして保存・復元する機能があります。

開いているファイルや分割ウィンドウなどがそのままファイルに出力して、ファイルを読み込むことで復元できます。

これがあれば、tmuxの代用できそうですね。

そんなことはなかった…

[追記]

先日sessionについてこちらの記事でも触れたので、合わせて読むことをおすすめします。

vim-session.gif


セッション保存

:mksession vimbook.vim


セッション復元

sourceコマンドでファイルを読み込むか

:source vimbook.vim

もしくは起動時にファイルを指定するかで復元可能。

vim -S vimbook.vim

他に色々細かいオプションがありますので気になった方はマニュアルへ。


ネットワーク上のファイルを編集する

vimはgfでカーソル上にあるファイルを開くことができるが、実はネットワーク上にあるファイルをダウンロードして編集することもできます。

対応しているプロトコルは以下の様です。

ftp://          ftp を使う

rcp:// rcp を使う
scp:// scp を使う
http:// wget を使う (読込専用)

gf-vim.gif

httpプロトコルでは外部でwgetを実行しているのはgifから確認できますね。

使用する時は外部コマンドが必要なので、ご注意ください。


履歴からファイルを開く

:oldfilesor:olでファイルの履歴一覧を確認できます。

ただ、これだけでは一覧の確認しかできないので、:browse olで番号を選択してファイルを開くことができます。

oldfiles.gif


複数のファイルを変更する

sedコマンドを使用して複数のファイルを一括で変更することが多いと思いますが、

vimでも同じことができます。

vimでは:argsでファイルを開き、:argdoでバッファを含むファイル達に対して、

一括でコマンドを実行してファイルを保存することができます。

:args *.c

:argdo %s/\<x_cnt\>/x_counter/ge | update

ただ、バッファのファイル全部対象となるため、対象外のファイルが入っていないことを確認しておいたほうが良いと思います。


他のTips

マニュアルにTipsがいくつか紹介されています。

例えば複数のファイル名をリネームする方法です。

自分自身ドキュメントを読んでいてvimを理解し、使いこなしていく上でかなり大事なドキュメントだなと思いました。

では良きvimライフをー