2012-04-27 65 views
1

編輯Vim中的默認Django設置文件以使用SQLite的最有效方式(即最少的擊鍵次數)是什麼?在Vim中編輯Django設置文件的最有效方法

裸露的設置文件看起來是這樣的:

# Django settings for mysite project. 

DEBUG = True 
TEMPLATE_DEBUG = DEBUG 

ADMINS = (
    # ('Your Name', '[email protected]'), 
) 

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', '[email protected]'), 
) 

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更高效,所以我很好奇,如果其他人有更快的方法來處理這個重複的任務。

+0

vim是唯一的選擇嗎?你可以嘗試使用納米? – user1360107 2012-04-27 03:26:34

+3

(1)這個問題是關於Vim的。 (2)在這種情況下,如果Nano比Vim更高效,我會感到驚訝。 – 2012-04-27 03:29:20

回答

2

我相信這不會贏得Vim Golf,但這是我該怎麼做的。從正常模式開始:

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

即:搜索後端。通過整個緩衝區,用backends.sqlite3替換第一個實例。然後,搜索NAME並將光標移至找到的第一個實例。然後,在當前行上搜索第二次出現的'(單引號)。進入插入模式。鍵入出local.db

更新

在提高效率,並在評論中使用建議的興趣,這裏是一個仍然使用相同的方法略有縮短的版本:

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

我打算使用/NA,直到我注意到MANAGER出現在NAME之前。這種方法的Vim高分得分:38.

+0

我期待着更好的答案,以便我可以提高我的Vim技能。 – asfallows 2012-04-27 03:37:00

+0

最後,如果您好奇,我將vim高分標記爲51.如果您將搜索字符串的長度縮短到最小的唯一字符串以確保達到所需的位置,則可以將其降低。 – asfallows 2012-04-27 03:39:43

+3

對於vim高爾夫,你可以將第一行減少到':%s/backends ./&sqlite3/':) – mMontu 2012-04-27 12:25:15