パーソナルツール

vimエディタの印刷機能を使用する #2 (ヘッダー、余白、改行位置の設定)

作者: 小見 拓 最終変更 2012年01月08日 11時59分

vimエディタの印刷機能に関する説明です。 この記事ではvimエディタの印刷機能のうち、ヘッダー、ページ余白、改行位置の設定について解説します。 (Windows)

概要

vimエディタの印刷機能に関する説明です。
この記事ではvimエディタの印刷機能のうち、ヘッダー、ページ余白、改行位置の設定について解説します。

ヘッダーを設定する

ヘッダーの設定方法

ヘッダー部分にプリントする文面は「printheader」オプションで指定できます。
「printheader」オプションの書式は「statusline」オプションの書き方と同じです。

オプション 説明 初期設定
printheader ヘッダー部分の印刷設定オプション %<%f%h%m%=Page\ %N

「printheader」オプションの設定をvimエディタの設定ファイルに書き込むか、印刷前にオプションを設定すると、
ヘッダーの印刷に設定が反映されます。

" 「printheader」オプションを設定する
:set printheader=%<%f%h%m%=Page\ %N

" ↓ オプション設定後、印刷する
:hardcopy

Note

「printheader」オプションの書き方については、 「statusline」のヘルプの項を参照してください。

:help statusline

ヘッダーの左右の印刷位置

「printheader」オプションの設定に「%=」を含めると、 「%=」の位置でヘッダーのテキストの印刷位置が左右に分かれます。
例えば、「%=」を右端に配置すれば左寄せで、

" 「ファイル名 ページ番号」を左寄せで印刷
:set printheader=%t\ %N%=

「%=」を左端に配置すれば右寄せで、

" 「ファイル名 ページ番号」を右寄せで印刷
:set printheader=%=%t\ %N

「%=」を中央に配置すれば、「%=」の位置では左右に分けて、ヘッダーを印刷します。

" 「ファイル名」を左に、「ページ番号」を右に印刷
:set printheader=%t%=%N

「printheader」オプションの設定例

「printheader」オプションの設定例をあげておきます。 下記の例は「MS Word 2000」で用意されているヘッダーを参考にしました。

" -ページ-
:set printheader=-%N-

" ファイル名
:set printheader=%t

" ファイル名(パス含む)
:set printheader=%F

" 最終印刷日時
:set printheader=%{strftime('%Y/%m/%d\ %H:%M')}

" 最終保存者、作成者
:set printheader=山田\ 太郎

" 作成者 ページ 日付
:set printheader=山田\ 太郎\ %N\ %{strftime('%Y/%m/%d')}

" 社外秘 ページ 日付
:set printheader=社外秘\ %N\ %{strftime('%Y/%m/%d')}

総ページ数を計算する確実な方法はありません。
次に紹介する方法では、フォントサイズなどの要因で総ページ数が変わってきてしまいます。
改ページ文字である程度、ページ数をコントロールすることは可能です。

" ページ / 総ページ数
:set printheader=%N\ /\ %{line('$')/73+1}

作成日時はvimスクリプト単独では取得不可能です。

" 作成日時

Note

「printheader」オプションの設定で、 半角スペース、「"」を使用する場合は、 「\」でエスケープする必要があります。

" 最終保存者、作成者
:set printheader=山田\ 太郎

ヘッダーを印刷しない、ヘッダーの高さを調節する

ヘッダーを印刷する領域(高さ)は「printoptions」オプションの「header」で設定できます。
デフォルトでは2行の高さに設定されており、
この設定を変更することで、本文とヘッダー間のスペースを調節したり、
あるいは、ヘッダーを印刷しないようにできます。

" ヘッダーを印刷しない
:set printoptions=header:0

" ヘッダー、本文の間に行を入れない
:set printoptions=header:1

" ヘッダー、本文の間に2行の空間を入れる
:set printoptions=header:3

ページ余白の幅を設定する

印刷時のページ余白は「printoptions」オプションに、 「top」「bottom」「left」「right」を指定することで設定します。

" 左余白 10in
" 右余白 5in
" 上余白 5in
" 下余白 5in
:set printoptions=left:10in,right:5in,top:5in,bottom:5in

各オプションの間はカンマで区切ります。 サイズの指定で使用可能な単位は「in」「pt」「mm」「pc」です。

余白位置
指定 説明 デフォルト値
top 上余白 10pc
bottom 下余白 5pc
left 左余白 5pc
right 右余白 5pc
余白のサイズ指定単位
単位 説明
in インチ
pt 1/72インチ
mm ミリメートル
pc 用紙サイズに対する割合

ページの改行位置

「printoptions」オプションに「formfeed:y」をセットすると、
改ページ文字を入れた位置で、改ページが行われるようになります。

" 改ページ文字の位置で改行する
:set printoptions+=formfeed:y

改ページ文字の入力方法は、 Control-v を押してから Control-l です。

<C-v><C-l>
改ページ文字
ドキュメントアクション
コメント
blog comments powered by Disqus