試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

GtkSourceViewのビューとバッファに関する色々な設定に関して(メモ・後半)

GtkSourceViewのビューとバッファに関する色々な設定に関して(メモ・前半)」の続き。

ソースビュー(gtksourceview2.Viewクラス)

インデント(字下げ)

字下げされている行で改行したときにその字下げ分のスペースが次の行の先頭に自動的に入る機能(自動インデント)があるが、これはGObjectプロパティauto-indentをTrueにするかメンバ関数set_auto_indent()にTrueを渡すことで有効にできる。
GObjectプロパティindent-on-tabをFalseにするかメンバ関数set_indent_on_tab()にFalseを指定すると、行を選択したときにTab/Shift+Tabで字下げの段階を調整しないようにできる(既定では有効)。
GObjectプロパティindent-widthもしくはメンバ関数set_indent_width()を用いてインデント幅を設定できる。既定値は-1で、この値のときにはGObjectプロパティtab-widthの値が用いられる。有効範囲は-1から32。

表示関係

GObjectプロパティshow-line-numbersをTrueにするかメンバ関数set_show_line_numbers()にTrueを渡すと、行番号を左に表示することができる。
GObjectプロパティshow-line-marksをTrueにするかメンバ関数set_show_line_marks()にTrueを渡すと、バッファ内に追加したマーク(gtksourceview2.Markクラス,バッファのメンバ関数create_source_mark()で作成)のある行に画像を表示することができる。
GObjectプロパティshow-right-marginをTrueにするかメンバ関数set_show_right_margin()にTrueを渡すと、80桁の位置に線が引かれる。この位置はGObjectプロパティright-margin-positionもしくはメンバ関数set_right_margin_position()で指定できる。
GObjectプロパティtab-widthもしくはメンバ関数set_tab_width()を用いるとタブの表示幅が設定できる。既定値は8で有効範囲は1から32。
GObjectプロパティhighlight-current-lineをTrueにするかメンバ関数set_highlight_current_line()にTrueを渡すことでカーソルのある行を強調表示できる。
メンバ関数set_draw_spaces()に特定のフラグを組み合わせて指定することで、スペース,タブ,改行を個別に表示/非表示にすることができる。指定可能なフラグは以下。

  • gtksourceview2.DRAW_SPACES_SPACE
  • gtksourceview2.DRAW_SPACES_TAB
  • gtksourceview2.DRAW_SPACES_NEWLINE

この他、引数にgtksourceview2.DRAW_SPACES_ALLを指定すると上記の全てを表示するようにできる。