2013-08-30 52 views
7

我有2个.vimrc配置文件~/.vimrc~/.vimsqlrc启动没有vimrc的vim /用打开文件更改vimrc

当我有一些文件已经打开的时候,有什么方法可以让它们中的任何一个(从一个切换到另一个)? 作为一个扩展,当我打开文件时,如何关闭vimrc的加载(即不要使用任何vimrc)?

+1

是不是':source filename'工作? – Adrian

+0

当vim被加载时,vimrc被找到一次。它永远不会再被采购(除非你手动来源)。 (所以我认为你的问题的答案是你不能) – FDinoff

+0

@Adrian没有它itn't。 –

回答

27

您的~/.vimrc仅被读取和执行一次。如果你想用另一个文件取消它,你将不得不改变每一个选项的值,并且取消映射当前两个文件中的每一个映射。这听起来像是一个不好的和不必要的复杂想法。

如果想要另一个环境,只是用另一种环境:

$ vim     <-- starts Vim normally, reading ~/.vimrc 
$ vim -u ~/.vimsqlrc <-- starts Vim using your alternative vimrc 
$ vim -u NONE   <-- starts Vim without any vimrc 
$ vim -u NORC   <-- starts Vim without any vimrc, but with plugins 

但恐怕你必须停止并重新启动Vim为。

无论如何,你的问题具有非常强的XY problem气味。你想要具有*.sql文件的特定设置吗?

如果这是你的目标,你可以把你的设置中~/.vim/after/ftplugin/sql.vim这样的:

setlocal autoindent 
nnoremap <buffer> <F6> :echo "F6"<CR> 

使用setlocal的选项和<buffer>的映射确保您的设置只适用于*.sql文件。

+0

随着他最后的评论,这正是他想要的 – FDinoff

+0

@FDinoff,是的,这正是我在看评论数量增长时所认为的。 – romainl

+0

@romainl不完全* .sql文件。假设我有一个文件,其中有sql语句散布在每个地方。 现在,只要我想编辑这样的文件,就会应用默认的vimrc设置,即使我打开文件后我所要做的只是摆弄sql。 –