カーソルから111行を選択して削除するSublime Text 3マクロを作成したいと思います。私はこれを記録しようとしましたが、それはすべて1文字を後方に削除していましたが、それはまだ私が混乱しています。私は手動でマクロを書いてみましたが、関連するコマンドhereがありましたが、私はまだそのページから、私が望むものが可能かどうか、それがどういうものかを理解できませんでした。これに関していくつかの助けに本当に感謝します。Sublime Text 3キャレットからx行を削除するマクロ
答えて
残念ながら、一度に複数の移動を行う内部のサブライムテキストコマンドはありません。ただし、プラグインコードを使用して独自の移動コマンドを定義することは可能です。これを回避することができます。
このルートに行くには、メニューからTools > Developer > New Plugin...
を選択し、デフォルトのコードを次のコードに置き換えてから、ファイルをPythonファイル(例:move_repeat.py
)として保存します。これを行うためにメニュー項目を使用することにより、SublimeはプラグインがUser
パッケージに格納されていることを確認します。
import sublime
import sublime_plugin
class MoveRepeatCommand(sublime_plugin.TextCommand):
def run(self, edit, repeat=1, **kwargs):
for num in range(repeat):
self.view.run_command("move", kwargs)
これは、あなたが提供する運動を実行する回数を指定repeat
の余分な引数を提供move
コマンドの代替の低下、あるmove_repeat
という名前の新しいコマンドを実装しています。交換の低下として
、これは任意のカーソル移動(線、ワード、等)のために使用することができます。私はちょうどそれを手でコーディングすることによって、マクロを作成した。ここ
[
{
"command": "move_repeat",
"args":
{
"by": "lines",
"extend": true,
"forward": true,
"repeat": 111
}
},
{
"command": "left_delete"
}
]
:これを使用して
は、あなたのマクロは次のようになります。実際のマクロレコーディングでこれをやりたければ、別の方法で進む必要があります。
たとえば、マクロを1行だけ書き留めて削除してから、手動で追加した後に余分な値を手動で追加するか、キーバインドを最初に繰り返してコマンドにバインドしてからマクロ記録を行うことができます。
メッシーウェイ
私は、以来、マクロを記録する方法を考え出すことができました。何らかの理由で、レコーダーはマウスでテキスト選択を登録しないので、マクロを記録しているときにキーボードショートカットでテキストを選択しなければなりませんでした。これは私が記述するマクロを作成するという点では仕事をしますが、それは私が推測しているスクリプトも、知っている人が書いた場合よりもはるかにエレガントではありません。それはにつれてそれは、粗ようだ
[
{
"args":
{
"by": "lines",
"extend": true,
"forward": true
},
"command": "move"
},
{
"args":
{
"by": "lines",
"extend": true,
"forward": true
},
"command": "move"
},
{
"args":
{
"by": "lines",
"extend": true,
"forward": true
},
"command": "move"
},
{
"args":
{
"by": "lines",
"extend": true,
"forward": true
},
"command": "move"
},
{
"args":
{
"by": "lines",
"extend": true,
"forward": true
},
"command": "move"
},
{
"args": null,
"command": "left_delete"
}
]
:
は、ここで私がなってしまったスクリプトの短縮バージョンです。一度に1行ずつ選択するには、move
コマンドを使用します。つまり、このコマンドブロックは、削除する各行に対して繰り返す必要があります。削除する場合は、としてください。私の場合、私はそれらの111が必要でした。うまくいけば、誰かが一緒に来て、より良い解決策を提供するだろうが、それまでは、これは仕事をする。
- 1. Sublime Text 3 Javaオートコンプリート
- 2. Sublime Text 3 - キャメルケースのスニペット - 特殊文字の削除または単語変換
- 3. tinyMCEのキャレット位置からx個の文字を削除する
- 4. Windowsのgit bashの3行目を起動する:C:\ Program Files(x86)\ Sublime Text 3
- 5. Sublime Text 2&PYTHONPATH
- 6. Joomla 3.X - ヘッダーからツールチップスクリプトを削除しますか?
- 7. Sublime Textサイドパネル
- 8. Sublime Text(3)でmessages.jsonをどのように開きますか?
- 9. 各行から下の境界線を削除するWordマクロ
- 10. Sublime - 検索結果から.cacheファイルを削除する
- 11. Sublimeのクイックパネルからファイル名を削除する方法
- 12. PowershellをTerminal Sublime Text 3の管理者として実行する
- 13. Visual Basic Excel - 行を削除するマクロ
- 14. Sublime Text C++のオートコンプリートプラグイン?
- 15. チャットウィンドウからキャレットを無効/削除する
- 16. Sublime Text 3のSortTabsまたはそれに類するもの
- 17. BSD/OS Xでs行目のX行を削除/削除する方法
- 18. Python 2.7とSublime Text 2セットアップガイド
- 19. Python 3.1とSublime Text 2エラー
- 20. x軸から銀行休業日を削除する
- 21. Sublime Text 3 + Gitパッケージ:difftool(Meld)を起動しません
- 22. IPythonはSublime Text 3内にプロットを表示しません
- 23. ブートストラップ3からブレークポイントを削除する
- 24. Sublime Text、auto fix "Missing semicolon"
- 25. HttpClientの移行3.xから4.x
- 26. ストリームリーダーから最後のx行を削除します
- 27. Sublime Text 3 sublコマンドがWindowsで動作しません。
- 28. Sublime Text 3または端末で動作しないEslint
- 29. LiveReload for Sublime Text 3 - 動作していません
- 30. AnacondaプラグインがSublime Text 3で動作していない
ありがとうございます! ST3がコマンドの繰り返しを許さないということは私の心にも入りませんでした。そして、そうする方法がないので奇妙ですが、これはすばらしい解決策です。この質問には、マクロコマンドを繰り返す必要があることがわかって以来、ちょうどその時に戻ってきました。 1つの質問 - 'run_command(" move ")を他のコマンドを繰り返すコマンドに置き換えるか、あるいは' move'を使うように特別に設計されていますか? – Hashim
書かれている方法は、あなたが 'run_command'に入れたコマンドを繰り返します。その場合でもクラスの名前を変更して、コマンド名が理にかなっているようにすることもできます。 – OdatNurd
鮮やかな、まさに私が聞きたかったもの。もう一つのこと - あなたが任意の大きな数のためにそれを繰り返し、それが文書の最後に来た場合、この機能はどういうものでしょうか?私は現在、文書の終わりになるとすぐに実行を停止する何かを探していますが、それ以上の行は削除されないようにしていますが、このシナリオではどのように動作するのかわかりません。 – Hashim