Sublimeでvimreplaceの代わりに

A.ウィルソン

vimの「replacewithcharacter」コマンドの代わりを探しています。具体的には、テキストを選択して、各文字を入力した文字に置き換えられるようにしたいです(難易度:「ビンテージ」モードなし)

例:

で始まります

I am some text with an arbitrary number: 12358998281

簡単に選択12358998281して変換し99999999999、結果を出す方法が欲しい

I am some text with an arbitrary number: 99999999999

(vimでは、これはカーソルをの先頭に移動し、12358998281で選択してveからを押すことで実行されますr9

これを行うには、テキストを選択し、[検索]ダイアログを表示し、[選択中]と[正規表現による]が有効になっていることを確認し、。を検索して、結果の複数選択に文字を入力します。ただし、これは非常に面倒で12358998281あり、複数選択でこのプロセスを実行できません(たとえば、ファイルの複数の部分に存在する場合、99999999999上記のプロセスを実行するのではなく、すべてのインスタンスをすばやく置き換えることができます。置換を取得し、クリップボードにコピーしてから、それと置き換えます)。

Sublimeには、何かにバインドできるvimの「置換」のように機能するコマンドがありますか、それとも必要なものを取得するためにマクロを作成する必要がありますか?または、私はこれに完全に間違った方向からアプローチしていますか?

これについてのより一般的な考え方は、「すべての文字で選択を複数選択に分割するにはどうすればよいですか」です。

A.ウィルソン

私はこれを単純な(エレガントでない場合)プラグインで解決することになりました:

import sublime_plugin
import sublime


class MultiSelectWithinSelectedCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        selection = self.view.sel()
        new_regions = []

        for selected_region in selection:
            if selected_region.empty():
                selection.add(self.view.word(selected_region))

        for selected_region in selection:
            if selected_region.a > selected_region.b:
                region_begin = selected_region.b

            else:
                region_begin = selected_region.a

            for pos in range(selected_region.size()):
                subregion_begin = region_begin + pos
                subregion_end = subregion_begin + 1
                new_regions.append(sublime.Region(subregion_begin, subregion_end))

        selection.clear()
        selection.add_all(new_regions)

これをプラグインディレクトリに貼り付けたら、通常のようにキーマップファイルのコマンドをバインドします。

{ "keys": ["alt+f"], "command": "multi_select_within_selected" }

(alt + fを任意に選択)、およびlo、キーを押すことで選択したすべての文字を複数選択します(その後、置換文字を押すことができます)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JsonResponsesymfonyで ""の代わりに\ u0022

分類Dev

Javascriptで加算の代わりに連結

分類Dev

NEST5.5.0で.Filteredの代わりに

分類Dev

代わりに、AsyncTaskのRxJava?

分類Dev

SwingWorkerの代わりにSecondaryLoop?

分類Dev

GetPropertyの代わりにGetRuntimeProperties

分類Dev

.includes()の代わりに?

分類Dev

vlookupの代わりにVBA

分類Dev

componentDidReceivePropsの代わりにReact

分類Dev

Keycloakの代わりにAWSCognito

分類Dev

groupboxの代わりに?

分類Dev

onSaveInstanceStateの代わりにonPause

分類Dev

JTextFieldの代わりにJFormattedTextField

分類Dev

AppendTextの代わりにPrependText?

分類Dev

`<<-`の代わりに `Reduce`

分類Dev

RavenDB Studioの代わりに?

分類Dev

.parentElementの代わりに?

分類Dev

DTOの代わりにHashMap?

分類Dev

Psensorの代わりに?

分類Dev

</> の代わりに HTML 印刷 </>

分類Dev

値の代わりにDataRowView

分類Dev

CASE WHENの代わりに?

分類Dev

数字の代わりにLbels

分類Dev

Sublime Textは、Pythonコードを実行する代わりに、常にpandocでhtmlを出力します

分類Dev

gccの代わりにclangでAndroidをビルドしますか?gnustllibの代わりにclangstl lib?

分類Dev

Sublime TextでPythonプラグインの代わりにプラグインとしてC#クラスライブラリを使用する

分類Dev

sizeof(<type>)の代わりにsizeof(<variable>)は常に安全ですか?

分類Dev

Android Studio 2.3 で PNG の代わりに WebP を排他的に使用

分類Dev

1の代わりに0で数字を逆にする方法は?

Related 関連記事

ホットタグ

アーカイブ