2012-04-27 64 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