2017-07-19 29 views
2

私はいくつかの文字列、Xを持っていて、これを他の文字列の中に入れたいとしましょう。例えば、\emph{X}です。たとえば、テキストを選択してキーボードのショートカットを押すなどして、これをすばやく実行できるツールがありますか?私はmacOS SierraのSublimeテキストで作業しています。文字列を別の文字列に自動的に囲みますか?

+0

LaTeXToolsを使用している場合、Cl、Ceを押して選択したテキストを '\ emph'で囲むことができます。https://latextools.readthedocs.io/en/latest/keybindings/#wrapping-existing-textin -commands-and-environments(LaTeXingとLaTeBoxには同様のキーバインディングがあると思います)。 –

答えて

3

これは、スニペット本体に現在選択されているテキストを含めるように指示されているスニペットを挿入するキーバインディングを使用して、Sublime内で直接行うことができるものです。

上記の例では、次のキーバインディングで選択範囲が\emph{}にラップされます。私はスーパー+ Wを私自身のテストのために使用しましたが、あなた自身の目的のために何か良いものを選びたいと思うかもしれません。ここcontext

{ 
    "keys": ["super+w"], 
    "command": "insert_snippet", 
    "args": {"contents": "\\emph{${0:$SELECTION}}"}, 
    "context": [ 
     { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }, 
    ] 
}, 

含めることは、すべてのカーソルが、少なくとも一つの文字を選択したときにキーが唯一のアクティブバインディングます。必要に応じて、contextセクション全体を削除することができます。この場合、キーバインディングはスニペットを挿入してカッコの間に置くか、選択範囲の状態に応じて選択範囲をラップします。

スニペットがこれより複雑で複雑な場合(複数行など)、その本体全体をキーバインディングに挿入しようとすると、少し課税される可能性があります。その場合は、代わりに外部スニペットを使用することをお勧めします。あなたは、メニューからTools > Developer > New Snippet...を選択し、サブライムデフォルトことに場所にあなたが保存する必要があり、次のようなスニペットを使用することができ、それを行うために

:場所にこれで

<snippet> 
    <content><![CDATA[ 
\emph{${0:$SELECTION}} 
]]></content> 
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> 
    <!-- <tabTrigger>hello</tabTrigger> --> 
    <!-- Optional: Set a scope to limit where the snippet will trigger --> 
    <!-- <scope>source.python</scope> --> 
</snippet> 

、上からキーバインディングは、特定のファイル名ではなく、生のコンテンツとスニペットを挿入するようにinsert_snippetコマンドを伝えるために修正する必要がある。ここで注意すべき

{ 
    "keys": ["super+w"], 
    "command": "insert_snippet", 
    "args": {"name": "Packages/User/emph.sublime-snippet"}, 
    "context": [ 
     { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }, 
    ] 
}, 

物事はキーバインディングファイルがJSONであるので、ということです継続スニペットを有効なJSONにするために少し調整する必要があります。上記の例では、を指定するのに\の代わりに\\を使用することを意味します。

スニペットには一般に独自の特殊文字も含まれていますので、たとえば$を挿入する必要がある場合は、サブライムが意味するところがわかるように\$とする必要があります。スニペットがスニペットファイルであるかインラインであるかにかかわらず、これは当てはまります。

キーバインディングとスニペットの詳細は、Unofficial Documentationを参照してください。

+0

すばらしい答え、ありがとう!キーバインディングとスニペットは私にとっては未知の機能でした。私は間違いなくここからこれらをさらに探求します! – Speldosa

関連する問題