0

テキストを標準のテキストファイルにフォーマットできたらいいのにと思います。
フレーズまたは単語を選択し、簡単なコマンドを呼び出して、次のフォーマットでフォーマットしたいと思います。

  • 大胆な
  • イタリック
  • 下線
  • 赤いフォントの色
  • 黄色の背景色

それは可能ですか?(vimファイルでの構文の強調表示のようなものですが、私の場合は選択されたテキストを使用します)

vimにTxtfmtプラグインがあることは知っています。ここ数年、2回試しましたが、毎回アンインストールしました。
これが理由です:

  1. テキストを視覚的に選択してフォーマットする方法はありません。コマンドラインに開始コードを挿入してテキストを書き込み、コマンドラインに終了コードを挿入する必要があります。
  2. Txtfmtプラグインがテキストに非表示のフォーマットコードを挿入するため、テキストをコピーできません
  3. コマンドラインに開始コードと終了コードを挿入するのは複雑すぎて(一般的なコマンドを呼び出した後)、コードは複雑すぎます
4

2 に答える 2

1

これはおそらく、あなたが望むと私が信じているものの可能な限り最も単純な実装です。これにより、説明した色/スタイルを使用して、現在のバッファーでカスタム文字列を強調表示できます。ハイライトするように選択したカスタム文字列は、Vimセッション間で保存できません。

まず、SpecialTxt特注のハイライトのハイライトグループを定義します。

au ColorScheme * hi SpecialTxt guibg=yellow guifg=red gui=bold,underline,italic

(これは、新しいカラースキームをロードしても上書きされないように、autocmdを介して実行する必要があることに注意してください)。

これで、次を使用してこの色を継承する正規表現を選択できます。

call matchadd( 'SpecialTxt', [YOUR_REGEX], 1 )

または、一致を設定する簡単なコマンドを作成することもできます。

command! -nargs=1 Special :call matchadd('SpecialTxt',"<args>",1)

または、単語をダブルクリックすると次の色に設定されるようにマップを作成します。

nnoremap <silent> <2-LeftMouse> :call matchadd('SpecialTxt',expand('<cword>'),1)<CR>

お役に立てば幸いです。それがあなたが求めているものではない場合は、お詫び申し上げます。

于 2013-02-19T17:07:51.757 に答える
1

テキストに一種のマークアップを挿入する必要があります。Vimはプレーンテキストで動作し、ワードプロセッサのような個別のメタデータレイヤーはありません。構文の強調表示と新しい隠蔽機能を使用すると、Vimを部分的にWYSIWYGのように見せることができますが、実際には未加工のテキストを操作しています。

その制限に問題がなく、編集タスクにVimを使い続けたい場合は、新しいマークアップソリューションを最初から作成するのではなく、既存のマークアップソリューションを使用することをお勧めします。今では、いくつかの構文から選択できますが、Markdownがおそらくお気に入りです。(ここではStack Overflowでも使用されています!)既存の構文を使用すると、既存のすべてのプラグイン/マッピング/コマンド、さらには一部の外部ツール(HTMLへの変換など)を活用できます。

于 2013-02-19T16:57:31.183 に答える