Onde está o meu arquivo .vimrc?

436

Estou usando o Vim e gostaria realmente de salvar minhas configurações. O problema que estou tendo é que não consigo encontrar meu arquivo .vimrc e ele não está no /home/user/.vimrclocal padrão . Como posso encontrar esse arquivo?

Eman
fonte
21
Se não estiver lá, crie-o.
10
Minha máquina Ubuntu tinha em um arquivo chamado /usr/share/vim/vimrc.
ckjbgames
4
Possível duplicata de Como localizar o arquivo vimrc usado pelo editor vim?
yashgarg1232

Respostas:

512

Você precisa criá-lo. Na maioria das instalações que usei, ele não foi criado por padrão.

Você geralmente cria como ~/.vimrc.

AlG
fonte
17
também verificar / etc / vim / vimrc
Natesh bhat
@ Nateshbhat: devo continuar usando /etc/vim/vimrcou copiar isso para ~/.vimrc? Ou posso ter os dois?
Mohammad Faisal
Se você quiser personalizá-lo, eu o copio local primeiro. Caso contrário, você está alterando as configurações para todos os usuários.
26919 AlG
353

Esses métodos funcionam, se você já possui um arquivo .vimrc:

:scriptnamesliste todos os arquivos .vim que o Vim carregou para você, incluindo seu .vimrcarquivo.

:e $MYVIMRCabra e edite o .vimrc atual que você está usando e use Ctrl+ Gpara visualizar o caminho na barra de status.

Philia Fan
fonte
7
@ OrganWilde Não necessariamente, :scriptnamese :e $MYVIMRCambos retornam saídas em branco para mim.
Rohmer 28/01
1
+1 para :scriptnames. No entanto, $MYVIMRCnão é garantido que seja definido, por exemplo, ao iniciar o vim com vim -u filename.
1983
4
: scriptnames tem vimrc, mas não .vimrc, eles são iguais? Acho que eles estão localizados na minha pasta usr / share, adicionando ~ / .vimrc (como resposta aceita) até faria qualquer coisa sem configuração adicional? Essa é uma maneira de adicionar opções específicas do usuário ao vimrc, talvez?
Tyler
14
Observe que :e $MYVIMRCsó funciona quando há um vimrcarquivo em primeiro lugar. Caso contrário, isso começará a editar um arquivo chamado literalmente $MYVIMRC.
precisa
1
@ Shadoninja - que não era "seu", esse é o rcarquivo global . Tudo o que você definir em seu .vimrcarquivo (na maioria dos casos em seu diretório pessoal) substituirá os padrões /etc/vimrc.
mathguy
92

Resposta curta:

Para criar seu vimrc, inicie o Vim e siga um destes procedimentos:

:e $HOME/.vimrc  " on Unix, Mac or OS/2

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

Insira as configurações desejadas e salve o arquivo.

Observe que a existência desse arquivo desativará o compatible opção. Veja abaixo os detalhes.

Resposta longa:

Existem dois tipos de vimrc:

  • o usuário vimrc em$HOME
  • o sistema vimrc in $VIM(nos sistemas Amiga, s:.vimrcé considerado um usuário vimrc)

O arquivo vimrc do usuário geralmente não existe até ser criado pelo usuário. Se você não conseguir encontrar $HOME/.vimrc(ou$HOME/_vimrc no Windows), poderá, e provavelmente deve, apenas criá-lo.

O sistema vimrc normalmente não deve ser modificado e está localizado no diretório $VIM* . O sistema vimrc não é um bom lugar para você manter suas configurações pessoais. Se você modificar este arquivo, suas alterações poderão ser substituídas se você atualizar o Vim. Além disso, as alterações aqui afetarão outros usuários em um sistema multiusuário. Na maioria dos casos, as configurações no usuário vimrc substituem as configurações no sistema vimrc.

De :help vimrc:

Um arquivo que contém comandos de inicialização é chamado de arquivo "vimrc". Cada linha em um arquivo vimrc é executada como uma linha de comando Ex. Às vezes, também é conhecido como arquivo "exrc". Eles são do mesmo tipo de arquivo, mas "exrc" é o que o Vi sempre usou, "vimrc" é um nome específico do Vim. Veja também | vimrc-intro |.

Locais para suas inicializações pessoais:

    Unix            $HOME/.vimrc or $HOME/.vim/vimrc
    OS/2            $HOME/.vimrc, $HOME/vimfiles/vimrc
                    or $VIM/.vimrc (or _vimrc)
    MS-Windows      $HOME/_vimrc, $HOME/vimfiles/vimrc
                    or $VIM/_vimrc
    Amiga           s:.vimrc, home:.vimrc, home:vimfiles:vimrc
                    or $VIM/.vimrc

Os arquivos são pesquisados ​​na ordem especificada acima e somente o primeiro encontrado é lido.

(MacOS conta como Unix para o acima.)

Observe que a mera existência de um usuário vimrc mudará o comportamento do Vim desativando a compatibleopção. De :help compatible-default:

Quando o Vim inicia, a opção 'compatível' está ativada. Isso será usado quando o Vim iniciar suas inicializações. Porém, assim que um arquivo vimrc do usuário for encontrado, ou um arquivo vimrc no diretório atual ou a variável de ambiente "VIMINIT" for configurada, ela será configurada como 'nocompatible'. Isso tem o efeito colateral de definir ou redefinir outras opções (consulte 'compatível'). Mas apenas as opções que não foram definidas ou redefinidas serão alteradas.


* $VIMpode não estar definido no seu shell, mas está sempre definido no Vim. Se você quiser ver o que está definido, inicie o Vim e use o comando:echo $VIM

Laurence Gonsalves
fonte
28

Como informações adicionais, principalmente no macOS, o arquivo .vimrc está localizado no diretório:

/usr/share/vim/.vimrc
olá
fonte
25
Esse é o sistema vimrc. É melhor editar $ HOME / .vimrc e criá-lo se ele ainda não existir.
Laurence Gonsalves
1
Se o arquivo .vimrc não for criado no diretório inicial, o vi fará referência ao /usr/share/vim/.vimrcarquivo para uso.
Sandeep
O mesmo no Ubuntu, como eu encontrei.
ckjbgames
25
:echo($MYVIMRC)

fornecerá a localização do seu arquivo .vimrc.

:e $MYVIMRC

vai abrir.

Torre
fonte
1
Retiro o seguinte: -bash: erro de sintaxe próximo ao token inesperado '$ MYVIMRC'
Yannis Dran
@YannisDran - Uhmm, o que?
Rook
@ Idigas Eu estava digitando: echo (xxx) na minha janela de comando, mas eu percebi agora que você queria digitar isso no editor vim. No entanto, embora: e xxx funcione, o: echo (xxx) não funciona. Diz E121 Variável indefinida: xxx E15: Expressão inválida: ($ xxx)
Yannis Dran
@YannisDran - Só para esclarecer, você recebeu esse erro ao digitar: echo ($ myvimrc) na linha de comando do vim? Não: echo (myvimrc) por acaso?
01
1
Eu uso o $ e o fiz no editor vi (Digitação: ativa a linha de comando). Btw, agora o vim não responde nada, apenas coloca o indicador na primeira linha do vim. (Vim-Vi Melhorado v.7.3 no OSX)
Yannis Dran
15

Por qualquer motivo, essas respostas não funcionaram para mim. Isto é o que funcionou para mim:

No Vim, o :versioncomando fornece os caminhos dos arquivos vimrc e gvimrc do sistema e do usuário (entre outras coisas), e a saída se parece com isso:

 system vimrc file: "$VIM/vimrc"
   user vimrc file: "$HOME/.vimrc"
    user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
  user gvimrc file: "$HOME/.gvimrc"

O que você quer é user vimrc file: "$HOME/.vimrc"

Então, para editar o arquivo: vim $HOME/.vimrc

Fonte: Abrir arquivo vimrc

Aaron Alphonsus
fonte
2
Não entendo como as respostas existentes não funcionaram para você quando, na verdade, a solução que você propôs já está coberta por elas. Esta resposta menciona $HOME/.vimrce a resposta principal menciona ~/.vimrcqual é o mesmo que $HOME/.vimrc.
doubleDown
Concordo plenamente com você. O que eu quis dizer foi perdido quando a minha resposta foi editado
Aaron Afonso
11

Abra o Vim e, no modo normal, digite:

:echo $VIM
adem
fonte
resposta subestimada
Fl.pf.
Para mim, ele produz apenas /usr/share/vim. Versão 8.2.100, Arch Linux.
Yaroslav Nikitenko 28/01
Isso informa o diretório em que o vimrc do sistema está localizado, mas não informa para onde o usuário vimrc deve ir ou qual deve ser o nome dele.
Laurence Gonsalves
Bem, a pergunta "onde" é o arquivo vimrc. Para onde o usuário vimrc deve ir? Coloque dentro~/.vimrc ou ~/.vim/vimrcobserve que este último não possui um ponto na frente.
adem 5/02
8

on unix vim --versioninforma os vários locais dos arquivos de configuração do vim:

   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
qrtLs
fonte
Pode verificar se isso funciona com o VIM que acompanha o Git for Windows. (Observando isso apenas porque há tanta coisa que uma resposta do SO pode presumir que NÃO funciona no Git Bash.) #
191 Janet Janet
5

Aqui estão mais algumas dicas:

  • No Arch Linux, o global está em /etc/vimrc. Existem alguns comentários lá com detalhes úteis.

  • Como o nome do arquivo começa com a ., ele fica oculto, a menos que você use ls -apara mostrar TODOS os arquivos.

  • Digitar :versionno Vim mostrará várias informações interessantes, incluindo o local do arquivo.

  • Se você não tem certeza do que ~/.vimrcsignifica olhar para esta pergunta .

Ben
fonte
5

Gostaria de compartilhar como defino mostrando o número da linha como padrão no Mac.

  1. Em um terminal, digite cd. Isso o ajudará a ir para a pasta pessoal.
  2. No terminal, digite vi .vimrc . Isso criará um arquivo de sistema vimrc vazio que você deseja usar.
  3. No arquivo, digite set numbere, em seguida, pressione Esco teclado e digite :wq. Isso definirá o número da linha mostrado no arquivo de configuração padrão vimrce o salvará.
  4. vi somethingpara ver se isso funciona. Caso contrário, tente reiniciar o terminal completamente.

Se em um terminal, digite cd /usr/share/vim/, vá para essa pasta e digite ls. Você pode ver diretamente um arquivo chamado vimrc. Mas é um arquivo do sistema que diz somente leitura. Acho que não é uma boa ideia tentar modificá-lo. Portanto, é melhor seguir as etapas acima para criar um vimrc sozinho. Funcionou para mim.

Jinggang
fonte
Uma coisa que precisei mudar para a instalação acima do CentOS7: após a etapa 1, digite "cd username".
HoldOffHunger
2

Eu tentei de tudo na resposta anterior e não consegui encontrar um .vimrc arquivo, então tive que criar um.

Eu copiei o arquivo de exemplo, cp vimrc_example.vim ~/.vimrc .

Eu tive que criar o arquivo, copiando de /usr/share/vim/vim74/vimrc_example.vimpara ~/.vimrc. Essas foram as instruções novimrc_example arquivo.

Minha solução é para Unix para outros sistemas operacionais. De acordo com a documentação do Vim, seu caminho de destino deve ser o seguinte:

    For Unix and OS/2   : ~/.vimrc
    For Amiga           : s:.vimrc
    For MS-DOS and Win32: $VIM\_vimrc
    For OpenVMS         : sys$login:.vimrc
deb2fast
fonte
1

No cmd (Windows):

C\Users\You> `vim foo.txt`

Agora no Vim, entre no modo de comando digitando: " : " (ou seja, Shift+ ;)

:tabedit $HOME/.vimrc
Jason
fonte
Isso pressupõe um teclado com um layout dos EUA.
Peter Mortensen
1

O arquivo vimrc no Ubuntu ( 12.04 (Precise Pangolin) ) : Eu tentei :scriptnamesno Vim e mostra ambos /usr/share/vim/vimrce ~/.vimrc.

Mas eu tinha criado manualmente ~/.vimrc.

mythicalcoder
fonte