Gdzie jest mój plik .vimrc?


438

Korzystam z Vima i naprawdę chciałbym zapisać moje ustawienia. Problemem jest to, że nie mogę znaleźć mojego pliku .vimrc i nie znajduje się on w standardowej /home/user/.vimrclokalizacji. Jak mogę znaleźć ten plik?


21
Jeśli go nie ma, utwórz go.

10
Moja maszyna Ubuntu miała go w pliku o nazwie /usr/share/vim/vimrc.
ckjbgames

Odpowiedzi:


513

Musisz go stworzyć. W większości instalacji, z których korzystałem, nie zostało utworzone domyślnie.

Zwykle tworzysz go jako ~/.vimrc.


17
sprawdź także / etc / vim / vimrc
Natesh bhat

@Nateshbhat: czy powinienem nadal go używać, /etc/vim/vimrcczy kopiować ~/.vimrc? Czy mogę mieć oba?
Mohammad Faisal

Jeśli chcesz go dostosować, najpierw skopiuję go lokalnie. W przeciwnym razie zmienisz ustawienia dla wszystkich użytkowników.
AlG

354

Te metody działają, jeśli masz już plik .vimrc:

:scriptnameswypisz wszystkie pliki .vim, które załadował dla ciebie Vim, w tym .vimrcplik.

:e $MYVIMRCotwórz i edytuj bieżący plik .vimrc, którego używasz, a następnie użyj Ctrl+, Gaby wyświetlić ścieżkę na pasku stanu.


7
@MorganWilde Niekoniecznie :scriptnamesi :e $MYVIMRCoba zwracają dla mnie puste dane wyjściowe.
Rohmer

1
+1 dla :scriptnames. Jednak $MYVIMRCnie ma gwarancji, że zostanie ustawiony, na przykład podczas uruchamiania vima z vim -u filename.
1983

4
: skrypty mają vimrc, ale nie mają .vimrc, czy są takie same? Znajduję je w folderze usr / share, czy dodanie ~ / .vimrc (jako zaakceptowanej odpowiedzi) zrobiłoby coś jeszcze bez dalszej konfiguracji? Czy to sposób na dodanie specyficznych dla użytkownika opcji do vimrc?
Tyler

15
Pamiętaj, że :e $MYVIMRCdziała tylko wtedy, gdy vimrcplik jest w pierwszej kolejności. W przeciwnym razie rozpocznie się edycja pliku o nazwie dosłownie $MYVIMRC.
Tomalak,

1
@Shadoninja - to nie był „twój”, to jest rcplik globalny . Cokolwiek zdefiniujesz w .vimrcpliku (w większości przypadków w katalogu domowym), zastąpi ustawienia domyślne w /etc/vimrc.
mathguy,

92

Krótka odpowiedź:

Aby utworzyć vimrc, uruchom Vima i wykonaj jedną z następujących czynności:

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

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

Wstaw odpowiednie ustawienia i zapisz plik.

Pamiętaj, że istnienie tego pliku spowoduje wyłączenie tej compatibleopcji. Szczegóły poniżej.

Długa odpowiedź:

Istnieją dwa rodzaje vimrc:

  • vimrc użytkownika w$HOME
  • vimrc systemu w $VIM(w systemach Amiga, s:.vimrcjest uważany za vimrc użytkownika)

Plik vimrc użytkownika często nie istnieje, dopóki nie zostanie utworzony przez użytkownika. Jeśli nie możesz znaleźć $HOME/.vimrc(lub $HOME/_vimrcw systemie Windows), możesz i prawdopodobnie powinieneś po prostu go utworzyć.

Systemowy vimrc powinien normalnie pozostać niezmodyfikowany i znajduje się w katalogu $VIM* . System vimrc nie jest dobrym miejscem do przechowywania osobistych ustawień. Jeśli zmodyfikujesz ten plik, twoje zmiany mogą zostać zastąpione, jeśli kiedykolwiek zaktualizujesz Vima. Również zmiany tutaj wpłyną na innych użytkowników w systemie z wieloma użytkownikami. W większości przypadków ustawienia w vimrc użytkownika zastąpią ustawienia w vimrc systemu.

Od :help vimrc:

Plik zawierający polecenia inicjujące nazywa się plikiem „vimrc”. Każda linia w pliku vimrc jest wykonywana jako linia poleceń Ex. Czasami jest również nazywany plikiem „exrc”. Są to pliki tego samego typu, ale „exrc” zawsze używało Vi, „vimrc” to nazwa specyficzna dla Vima. Zobacz także | vimrc-intro |

Miejsca na osobiste inicjalizacje:

    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

Pliki są wyszukiwane w podanej wyżej kolejności i odczytywany jest tylko pierwszy znaleziony plik.

(MacOS dla powyższego liczy się jako Unix).

Zauważ, że samo istnienie vimrc użytkownika zmieni zachowanie Vima poprzez wyłączenie compatibleopcji. Od :help compatible-default:

Kiedy Vim się uruchamia, opcja „kompatybilny” jest włączona. Będzie to wykorzystane, gdy Vim rozpocznie inicjalizację. Ale gdy tylko zostanie znaleziony plik vimrc użytkownika lub plik vimrc w bieżącym katalogu lub zmienna środowiskowa „VIMINIT”, zostanie ustawiona wartość „niekompatybilna”. Ma to efekt uboczny ustawiania lub resetowania innych opcji (patrz „zgodny”). Ale zostaną zmienione tylko opcje, które nie zostały ustawione ani zresetowane.


* $VIMmoże nie być ustawiony w twojej powłoce, ale zawsze jest ustawiony w Vimie. Jeśli chcesz zobaczyć, co to jest ustawione, uruchom Vima i użyj polecenia:echo $VIM


28

Jako dodatkowe informacje, głównie w systemie macOS, plik .vimrc znajduje się w katalogu:

/usr/share/vim/.vimrc

25
To jest vimrc systemu. Lepiej jest edytować $ HOME / .vimrc i utworzyć go, jeśli jeszcze nie istnieje.
Laurence Gonsalves

1
Jeśli plik .vimrc nie jest tworzony w katalogu domowym, to /usr/share/vim/.vimrcplik referencyjny vi służy do użycia.
Sandeep

To samo w Ubuntu, jak znalazłem.
ckjbgames

25
:echo($MYVIMRC)

poda lokalizację twojego pliku .vimrc.

:e $MYVIMRC

otworzy to.


1
Cofam następujące: -bash: błąd składni w pobliżu nieoczekiwanego tokena „$ MYVIMRC”
Yannis Dran

@YannisDran - Uhmm, co?
Wież

@Idigas Wpisałem: echo (xxx) w oknie poleceń, ale zdałem sobie sprawę, że masz zamiar wpisać to w edytorze vim. Jednak pomimo tego, że: e xxx działa, to: echo (xxx) nie działa. Mówi E121 Niezdefiniowana zmienna: xxx E15: Niepoprawne wyrażenie: (xxx $)
Yannis Dran

@YannisDran - Żeby było jasne, dostałeś ten błąd po wpisaniu: echo ($ myvimrc) w linii poleceń vim? Nie: echo (myvimrc) przypadkiem?
Rook

1
Używam $ i zrobiłem to w edytorze vi (Wpisanie: włącza wiersz poleceń). Btw, teraz vim nic nie odpowiada, umieszcza wskaźnik tylko w pierwszej linii vim. (Vim-Vi Improved v.7.3 na OSX)
Yannis Dran

15

Z jakiegokolwiek powodu te odpowiedzi nie do końca działały. To właśnie działało dla mnie zamiast tego:

W Vimie :versionpolecenie podaje ścieżki (między innymi) do systemowego i użytkownika plików vimrc i gvimrc, a dane wyjściowe wyglądają mniej więcej tak:

 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"

Ten, którego chcesz, to user vimrc file: "$HOME/.vimrc"

Aby edytować plik: vim $HOME/.vimrc

Źródło: Otwórz plik vimrc


2
Nie rozumiem, w jaki sposób istniejące odpowiedzi nie do końca działały, skoro zaproponowane przez Ciebie rozwiązanie jest już w nich zawarte. Ta odpowiedź wspomina, $HOME/.vimrca najwyższa odpowiedź wspomina, ~/.vimrcktóra jest taka sama jak $HOME/.vimrc.
doubleDown,

Całkowicie się z tobą zgadzam. To, co chciałem powiedzieć, zostało utracone, gdy zredagowałem moją odpowiedź
Aaron Alphonsus,

11

Otwórz Vima, aw trybie normalnym wpisz:

:echo $VIM

niedoceniana odpowiedź
Fl.pf.

Dla mnie to tylko wyjście /usr/share/vim. Wersja 8.2.100, Arch Linux.
Yaroslav Nikitenko

To mówi ci katalog, w którym znajduje się twój system vimrc, ale nie mówi ci, gdzie powinien iść twój użytkownik vimrc ani jaka powinna być jego nazwa.
Laurence Gonsalves

Cóż, pytanie „gdzie” to plik vimrc. Gdzie powinien iść użytkownik vimrc? Umieść go w ~/.vimrclub ~/.vim/vimrc, zauważ, że ten ostatni nie ma kropki przed nim.
adem

8

na Unixie vim --versioninformuje o różnych lokalizacjach plików konfiguracyjnych 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"

Może sprawdzić, czy działa to z VIM, który jest dołączany do Git dla Windows. (Zauważając to tylko dlatego, że tak bardzo, że odpowiedź TAK może zakładać, że NIE działa w Git Bash.)
Janet

5

Oto kilka dodatkowych wskazówek:

  • W Arch Linux globalny jest na /etc/vimrc. Jest tam kilka komentarzy z pomocnymi szczegółami.

  • Ponieważ nazwa pliku zaczyna się od litery ., jest ukryta, chyba że użyjesz ls -ado wyświetlenia WSZYSTKICH plików.

  • Pisanie :versionw Vimie pokaże ci kilka interesujących informacji, w tym lokalizację pliku.

  • Jeśli nie jesteś pewien, co ~/.vimrcoznacza, spójrz na to pytanie .


5

Chciałbym podzielić się tym, jak ustawiłem wyświetlanie numeru linii jako domyślnej na komputerze Mac.

  1. W terminalu wpisz cd. Pomoże Ci to przejść do folderu domowego.
  2. W terminalu wpisz vi .vimrc. Spowoduje to utworzenie pustego pliku systemowego vimrc, którego chcesz użyć.
  3. W pliku wpisz set number, a następnie naciśnij Escklawisz na klawiaturze i wpisz :wq. Spowoduje to ustawienie numeru linii pokazanego w domyślnym pliku ustawień vimrci zapisanie go.
  4. vi somethingaby sprawdzić, czy to działa. Jeśli nie, spróbuj całkowicie zrestartować terminal.

Jeśli jesteś w terminalu, wpisz cd /usr/share/vim/, przejdź do tego folderu i wpisz ls. Możesz bezpośrednio zobaczyć plik o nazwie vimrc. Ale to plik systemowy, który mówi tylko do odczytu. Myślę, że nie jest dobrym pomysłem, aby go zmodyfikować. Dlatego lepiej jest wykonać powyższe kroki, aby samodzielnie utworzyć vimrc. To zadziałało dla mnie.


Jedną z rzeczy, które musiałem zmienić na powyższe dla mojej instalacji CentOS7: po kroku 1 wpisz „cd username”.
HoldOffHunger

2

Próbowałem wszystkiego w poprzedniej odpowiedzi i nie mogłem znaleźć .vimrcpliku, więc musiałem go stworzyć.

I skopiowany plik przykład cp vimrc_example.vim ~/.vimrc.

Musiałem utworzyć plik, kopiując z /usr/share/vim/vim74/vimrc_example.vimdo ~/.vimrc. Takie były instrukcje z vimrc_examplepliku.

Moje rozwiązanie dotyczy systemu Unix dla innych systemów operacyjnych. Zgodnie z dokumentacją Vima docelowa ścieżka powinna wyglądać następująco:

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

1

Z cmd (Windows):

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

Teraz w Vimie, wejdź w tryb poleceń, wpisując: „ : ” (tj. Shift+ ;)

:tabedit $HOME/.vimrc

Zakłada się, że klawiatura ma układ amerykański.
Peter Mortensen


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.