左マージンにテキストを追加する


7

vimドキュメントの左マージン(行番号の左側)にテキストを追加する簡単な方法はありますか?

vim-signatureのようなプラグインがそれを行うのでそれが可能であることは知っていますが、これがどのように行われるのか、そしてそれを行う最も簡単な方法は何なのか知りたいです。

回答:


10

あなたが言及しているのはvimによるサインと呼ばれていると思います。

標識の追加は2段階のプロセスのようです。まず外観を定義してから、必要な場所に配置します。

符号を定義する基本的な構文は次のとおりです。

:sign define {name} {argument}...

{argument}...選択できる一連の引数はどこにありますか。

  • icon= アイコンへの絶対パス
  • linehl= 標識を配置するライン全体の強調グループ
  • text= アイコンがない場合、またはターミナルでvimを実行した場合に表示するテキスト
  • texthl= グループの強調表示 text

サインを配置するには、定義したら:

:sign place {id} line={lnum} name={name} file={fname}
  • {id} 後で標識を操作できるようにする任意の番号です
  • {lnum}および{fname}はそれぞれ、記号を配置する行番号とファイルです
  • {name} あなたの看板の名前です

サインを一覧表示してその属性を確認するには:

:sign list

標識を削除するには:

:sign unplace {id} file={fname}

使用例

:sign define mysign text=>> texthl=Search

...は、強調表示グループの色でmysignテキスト>>を表示する記号を定義しますSearch

今、あなたがファイルを編集していると仮定して/tmp/foo、あなたはあなたのサインをその10行目に置くことができます:

:sign place 9999 line=10 name=mysign file=/tmp/foo

ここでは、ID 9999が選択されています。

最後に、配置したばかりの看板を削除するには:

:sign unplace 9999 file=/tmp/foo

標識を定義、配置、配置解除する方法は他にもたくさんあります。
詳細については、以下を参照してください。

:help sign-commands
:help :sign-define
:help :sign-undefine
:help :sign-list
:help :sign-place
:help :sign-unplace
:help :sign-place-list
:help :sign-jump

1
これはまさに私が探していたものです:)...私は最初に好奇心のために知りたかったのですが、vim-signatureとgitgutterをvimに使用していますが、どちらもsign列を使用しています。両方のプラグインからの情報を同時に使用できるように、追加の符号列を追加できるかどうかを確認したかったのですが、これは不可能のようです。vim-signatureには、これに役立つフラグを設定できることがわかりました。私がここ開い問題を参照してください。これには私の解決策と、それを使用するためにvimrcで作成したコミットへのリンクも含まれています。
Steven Hall、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.