6

作業中のコード規則の 1 つは、角括弧と括弧内に 1 つのスペースのパディングを含めることです。そうlist[ index ]ではありませんlist[index]。これらのスペースを追加するのは面倒なので、スニペットを書いてみました:

# name: Bracket
# key: [
# --
[ ${1:exp} ]

これは、開始角括弧の前にスペースまたは行頭がある場合は機能しますが、識別子が前にある場合は機能しません。これを行う1つの方法は、トリガーを正規表現にすることだと思います:

# key: "[:ascii:]"[

またはそのようなもの。これは可能ですか?または、これを機能させる他の賢い方法はありますか? 私はこれをpython用に書いていますが、それは問題ではないと思います。

ありがとう!

4

3 に答える 3

1

マイナーモードソリューション

私もそのようなコーディング標準に対処しなければなりませんでした。私の最初の解決策は、自動ペアリングに基づく@Francescoのものと同じでした。

ただし、実際にはこのパディングを削除したかったので、このマイナーモードをより柔軟にしました。ある種のペアの区切り文字挿入ツールと一緒に使用することを強くお勧めします(私のお気に入りは自動ペアリングです)。

参照: delim-pad

yasnippetの使用

yasnippetを使用するという元のトラックをたどります...(ところで、autopairとyasnippetは両方ともJoãoTávoraによって書かれてます。どちらも非常に強力で柔軟性があります。その人に称賛を送ります!)

「[」がキーとして認識された場合でも、スニペットを展開するにはトリガーキーを押し続ける必要があります。それはすぐに疲れることがあります。

Yasnippetを使用すると、スニペットをキーに直接バインドすることもできるため、これは機能します。

# -*- mode: snippet -*-
# name: beginsquare
# binding: [
# --
[ $0 ]
于 2013-01-04T14:33:39.300 に答える
0

これが機能しない理由は、この角括弧の前に何かがある場合とはlist[対照的に、展開しようとしているからです。[Yasnippet は[. 最後に、より一般的な yasnippet の使用方法を示します。

括弧を入力するたびにアクティベーション キー (例: ) を押したくないことを考えるとTAB、Francesco からの上記の回答を使用します。それが役立つ場合は、自動ペアリングも使用します。

さらに、yasnippet を使用する良い方法、または少なくともより良い方法は、これをリストのみに使用することに実際に興味がある場合、または事前に定義したい状況です。頻繁に使用するコードのスニペットを多数作成することを検討してください。そうすれば、コードを非常に高速に生成できます。とにかく、この状況でのニーズに合っていると思う例を次に示します。

list[ $0 ]

あなたのボートを浮かせるものは何でも、listまたはそれよりも短いものにバインドします。l

個人的には、autopair と yasnippet の両方を組み合わせて使用​​しますが、どちらも優れています。幸運を!

コピーペースト:

# name: List
# key: list
# --
list[ $0 ]
于 2013-01-04T09:08:40.777 に答える