1

SQLite を使用するために Vim でデフォルトの Django 設定ファイルを編集する最も効率的な方法 (つまり、最も少ないキーストローク数) は何ですか?

ベア設定ファイルは次のようになります。

# Django settings for mysite project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', 'your_email@example.com'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}
...

...そして、私はそれを次のようにしたい:

# Django settings for mysite project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', 'your_email@example.com'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'local.db',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}
...

これは些細な質問であることは承知していますが、私は Vim をより効率的に使用できるように努めているので、他の人がこの繰り返しの作業により迅速に対処できるかどうか知りたいです。

4

1 に答える 1

3

これではVim Golfには勝てないと思いますが、私ならこうします。通常モードで開始:

:%s/backends./backends.sqlite3/ <Enter>
/NAME <Enter>
2f'
i local.db

つまり、バックエンドを検索します。バッファ全体を通して、最初のインスタンスを backends.sqlite3 に置き換えます。次に、NAME を検索し、最初に見つかったインスタンスにカーソルを移動します。次に、' (一重引用符) の 2 番目の出現を現在の行で前方検索します。挿入モードに入ります。local.db と入力します

アップデート

効率を最大化し、コメントの提案を使用するために、同じアプローチを使用するわずかに短縮されたバージョンを次に示します。

:%s/ends./&sqlite3/ <Enter>
/NAM <Enter>
2f'
i local.db

/NAMANAGER が NAME の前に表示されることに気付くまで、私は使用するつもりでした。このアプローチの Vim Golf スコア: 38.

于 2012-04-27T03:36:36.643 に答える