読者です 読者をやめる 読者になる 読者になる

くいでのあるあし

ロボットの研究とか

Vim でコマンドを打つとき,ファイル名が欲しい

また

備忘録です

例えば

texだのプログラムだのVimを使ってソースを書いているのですが,

$ make
$ catkin_make #ROSですね
$ platex hoge.tex

みたいにコマンドを打ちたくなった時,よその端末にマウスで移動したり,Ctrl+zで一度端末に戻ったり,:!commandしていたりすると思います.

玄人の方はいろいろスマートにやっているのでしょうが,わたしはとりあえず上のみっつです.

で,tex を書いてる時にわたしはよく,

$ platex hoge.tex && dvipdfmx hoge.dvi && evince hoge.pdf

みたいなワンライナーを叩きます.シェル芸というほどでもないですが.

これはtexのソースをコンパイルして,成功したら出てきたdviファイルをpdfに変換して,またまた成功したらpdfを閲覧するというものです.一回書いてしまえばコマンドの履歴からそのまま使いまわしてしまいます.

これをVimで:!から叩くとき,そのまま書いてしまってもいいのですが, 以下のように,現在Vimで開いているファイル名を取得して実行することができます.

!:platex % && dvipdfmx %:r.dvi && evince %:r.pdf

ファイル名を%で取得したり,%:rで拡張子抜きで取得できるみたいです.他にもフルパス取得とか拡張子のみ取得などいろいろあるようです.

他にもわたしが覚えててちょくちょく使うのが

:view %
:e #

のように,現在見ているファイルをread onlyにするとか,間違って変なファイルを開いた時に前に開いていたものに戻るとかです.

文章力が低くて読みにくいけどいいか