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?
@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
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"
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ź
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.
Chciałbym podzielić się tym, jak ustawiłem wyświetlanie numeru linii jako domyślnej na komputerze Mac.
W terminalu wpisz cd. Pomoże Ci to przejść do folderu domowego.
W terminalu wpisz vi .vimrc. Spowoduje to utworzenie pustego pliku systemowego vimrc, którego chcesz użyć.
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.
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.
/usr/share/vim/vimrc
.Odpowiedzi:
Musisz go stworzyć. W większości instalacji, z których korzystałem, nie zostało utworzone domyślnie.
Zwykle tworzysz go jako
~/.vimrc
.źródło
/etc/vim/vimrc
czy kopiować~/.vimrc
? Czy mogę mieć oba?Te metody działają, jeśli masz już plik .vimrc:
:scriptnames
wypisz wszystkie pliki .vim, które załadował dla ciebie Vim, w tym.vimrc
plik.:e $MYVIMRC
otwó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.źródło
:scriptnames
i:e $MYVIMRC
oba zwracają dla mnie puste dane wyjściowe.:scriptnames
. Jednak$MYVIMRC
nie ma gwarancji, że zostanie ustawiony, na przykład podczas uruchamiania vima zvim -u filename
.:e $MYVIMRC
działa tylko wtedy, gdyvimrc
plik jest w pierwszej kolejności. W przeciwnym razie rozpocznie się edycja pliku o nazwie dosłownie$MYVIMRC
.rc
plik globalny . Cokolwiek zdefiniujesz w.vimrc
pliku (w większości przypadków w katalogu domowym), zastąpi ustawienia domyślne w/etc/vimrc
.Krótka odpowiedź:
Aby utworzyć vimrc, uruchom Vima i wykonaj jedną z następujących czynności:
Wstaw odpowiednie ustawienia i zapisz plik.
Pamiętaj, że istnienie tego pliku spowoduje wyłączenie tej
compatible
opcji. Szczegóły poniżej.Długa odpowiedź:
Istnieją dwa rodzaje vimrc:
$HOME
$VIM
(w systemach Amiga,s:.vimrc
jest 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/_vimrc
w 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
:(MacOS dla powyższego liczy się jako Unix).
Zauważ, że samo istnienie vimrc użytkownika zmieni zachowanie Vima poprzez wyłączenie
compatible
opcji. Od:help compatible-default
:*
$VIM
moż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
źródło
Jako dodatkowe informacje, głównie w systemie macOS, plik .vimrc znajduje się w katalogu:
źródło
/usr/share/vim/.vimrc
plik referencyjny vi służy do użycia.poda lokalizację twojego pliku .vimrc.
otworzy to.
źródło
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
:version
polecenie 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:Ten, którego chcesz, to
user vimrc file: "$HOME/.vimrc"
Aby edytować plik:
vim $HOME/.vimrc
Źródło: Otwórz plik vimrc
źródło
$HOME/.vimrc
a najwyższa odpowiedź wspomina,~/.vimrc
która jest taka sama jak$HOME/.vimrc
.Otwórz Vima, aw trybie normalnym wpisz:
źródło
/usr/share/vim
. Wersja 8.2.100, Arch Linux.~/.vimrc
lub~/.vim/vimrc
, zauważ, że ten ostatni nie ma kropki przed nim.na Unixie
vim --version
informuje o różnych lokalizacjach plików konfiguracyjnych vim:źródło
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żyjeszls -a
do wyświetlenia WSZYSTKICH plików.Pisanie
:version
w Vimie pokaże ci kilka interesujących informacji, w tym lokalizację pliku.Jeśli nie jesteś pewien, co
~/.vimrc
oznacza, spójrz na to pytanie .źródło
Chciałbym podzielić się tym, jak ustawiłem wyświetlanie numeru linii jako domyślnej na komputerze Mac.
cd
. Pomoże Ci to przejść do folderu domowego.vi .vimrc
. Spowoduje to utworzenie pustego pliku systemowego vimrc, którego chcesz użyć.set number
, a następnie naciśnij Escklawisz na klawiaturze i wpisz:wq
. Spowoduje to ustawienie numeru linii pokazanego w domyślnym pliku ustawieńvimrc
i zapisanie go.vi something
aby 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 wpiszls
. 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.źródło
Próbowałem wszystkiego w poprzedniej odpowiedzi i nie mogłem znaleźć
.vimrc
pliku, 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.vim
do~/.vimrc
. Takie były instrukcje zvimrc_example
pliku.Moje rozwiązanie dotyczy systemu Unix dla innych systemów operacyjnych. Zgodnie z dokumentacją Vima docelowa ścieżka powinna wyglądać następująco:
źródło
Z cmd (Windows):
Teraz w Vimie, wejdź w tryb poleceń, wpisując: „ : ” (tj. Shift+ ;)
źródło
Plik vimrc w Ubuntu ( 12.04 (Precise Pangolin) ) : Próbowałem
:scriptnames
w Vimie, i pokazuje zarówno/usr/share/vim/vimrc
i~/.vimrc
.Ale utworzyłem ręcznie
~/.vimrc
.źródło
W SUSE Linux Enterprise Server (SLES) i openSUSE znajduje się globalny
/etc/vimrc
.Aby go edytować, po prostu zrób
vi /etc/vimrc
.źródło