Где мой файл.vimrc?

Я использовал Vim, и я действительно хотел бы сохранить свои настройки. Проблема в том, что я не могу найти свой файл.vimrc, и его нет в стандарте. /home/user/.vimrc место нахождения. Как я могу найти этот файл?

23 ответа

Решение

Вы должны создать это. В большинстве установок, которые я использовал, он не был создан по умолчанию.

Вы обычно создаете это как ~/.vimrc,

:scriptnames перечислите все файлы.vim, которые Vim загрузил для вас, включая ваши .vimrc файл.

:e $MYVIMRC откройте и отредактируйте текущий.vimrc, который вы используете, затем используйте Ctrl + G, чтобы просмотреть путь в строке состояния.

Короткий ответ:

Чтобы создать vimrc, запустите vim и выполните одно из следующих действий:

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

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

Вставьте нужные настройки и сохраните файл.

Обратите внимание, что наличие этого файла отключит compatible вариант. Смотрите ниже для деталей.

Длинный ответ:

Существует два вида vimrc:

  • пользователь vimrc в $HOME
  • система VIMRC в $VIM (в системах Amiga, s:.vimrc считается пользователем vimrc)

Пользовательский файл vimrc часто не существует, пока не создан пользователем. Если вы не можете найти $HOME/.vimrc (или же $HOME/_vimrc на Windows), то вы можете, и, вероятно, должны, просто создать его.

Систему vimrc обычно следует оставить неизменной, и она находится в $VIM * каталог. Система vimrc не подходит для хранения ваших личных настроек. Если вы измените этот файл, ваши изменения могут быть перезаписаны, если вы когда-нибудь обновите vim. Кроме того, изменения здесь коснутся других пользователей многопользовательской системы. В большинстве случаев настройки в пользовательском vimrc переопределяют настройки в системном vimrc.

От :help vimrc:

Файл, содержащий команды инициализации, называется файлом "vimrc". Каждая строка в файле vimrc выполняется как командная строка Ex. Иногда его также называют файлом "exrc". Это один и тот же тип файла, но Vi всегда использовал exrc, а vimrc- специфическое имя Vim. Также см. | Vimrc-intro |.

Места для вашей личной инициализации:

    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

Файлы ищутся в порядке, указанном выше, и читается только первый найденный файл.

(MacOS считается Unix для выше.)

Обратите внимание, что само существование пользователя vimrc изменит поведение vim, отключив compatible вариант. От :help compatible-default:

Когда Vim запускается, опция "совместимый" включена. Это будет использоваться, когда Vim начнет свою инициализацию. Но как только будет найден пользовательский файл vimrc, или файл vimrc в текущем каталоге, или переменная окружения "VIMINIT", он будет установлен как nocompatible. Это имеет побочный эффект установки или сброса других параметров (см. "Совместимые"). Но будут изменены только те параметры, которые не были установлены или сброшены.


* $VIM не может быть установлен в вашей оболочке, но всегда устанавливается внутри vim. Если вы хотите увидеть, на что он установлен, запустите vim и используйте команду :echo $VIM

В качестве дополнительной информации, в основном в macOS,.vimrc находится по адресу dir:

/usr/share/vim/.vimrc
:echo($MYVIMRC)

даст вам местоположение вашего файла.vimrc.

:e $MYVIMRC

открою это.

На unix vim --version сообщает вам различные места расположения файлов конфигурации 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"

По какой-то причине эти ответы не совсем сработали для меня. Вот что сработало для меня вместо этого:

В VIM, :version Команда дает вам пути к системным и пользовательским файлам vimrc и gvimrc (среди прочего), и вывод выглядит примерно так:

 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"

Тот, который вы хотите, это user vimrc file: "$HOME/.vimrc"

Итак, чтобы отредактировать файл: vim $HOME/.vimrc

Источник: http://vim.wikia.com/wiki/Vimrc

Откройте Vim в обычном режиме;

:echo $VIM 

Полезную информацию можно получить, используя find команда


find / -iname "*vimrc*" -type f 2>/dev/null

Уже есть много ответов, но иногда может быть полезно просто запустить "find" для всего, что содержит имя "vimrc".

Причина в том, что это покажет вам, какие файлы у вас действительно есть в системе в настоящее время, а не то, что вы можете разместить в своей системе. (Информация, которую вы можете получить от:version как объяснено в других ответах.)

Пример результата в моей системе

В моей системе это производит

/usr/share/vim/vim82/vimrc_example.vim
/usr/share/vim/vim82/gvimrc_example.vim
/etc/vim/gvimrc
/etc/vim/vimrc
/etc/vim/vimrc.tiny

Это очень полезно, потому что это говорит нам о том, что в общих каталогах для gvim и vim установлено 2 файла примера, а также есть некоторые общесистемные файлы конфигурации ниже /etc/.

В моей системе у меня также есть файл по адресу ~/.vimrc но его нет в этом списке, потому что это ссылка на другой файл, хранящийся в ~/Linux-Config. Но у вас не будет этого каталога, он специфичен для машин, которые я использую в своей сети.

Подробное объяснение find используемый синтаксис

Пояснение:

  • найти, начиная с корневого каталога / (find работает рекурсивно)
  • все, что содержит регулярное выражение без учета регистра*vimrc* что означает любое имя с vimrc (без учета регистра) где-то в нем может предшествовать или следовать чему угодно или ничего (*)
  • type = files (не каталог / символическая ссылка и т. д.)
  • выбросить все ошибки в /dev/null в противном случае вывод будет забит нечитаемыми ошибками из /proc

Где файл? Это зависит от ОС. Как видите, вы искали, что, вероятно, означает, что вы используете BSD / Linux. Вот расположение каждой ОС ...

Если его не существует, создайте его с помощью ~/.vimrc.

В дополнение root у пользователя есть свои особые .vimrc файл, который можно найти в /root/.vimrc в BSD / Linux (и в аналогичных местах для других ОС).

Расположение указано в $HOMEпеременная, которая всегда устанавливается в среде Linux. (Источник: StackExchange-> Unix и Linux.)

Вот еще несколько советов:

  • В Arch Linux глобальный /etc/vimrc, Там есть несколько комментариев с полезными деталями.

  • Поскольку имя файла начинается с ., это скрыто, если вы не используете ls -a показать ВСЕ файлы.

  • Typing :version в то время как в Vim покажет вам кучу интересной информации, включая местоположение файла.

  • Если вы не уверены, что ~/.vimrc значит посмотрите на этот вопрос.

На самом деле у вас есть один vimrc в

/ и т.д. /vimrc

когда вы что-то там редактируете, изменения повлияют на всех пользователей,
если вы не хотите, чтобы вы могли создать локальный vimrc в

~/.vimrc

изменения повлияют только на одного пользователя

Я хотел бы поделиться тем, как я установил показ номера строки по умолчанию на Mac.

  1. В терминале введите cd Это поможет вам перейти в домашнюю папку.
  2. В терминале введитеvi .vimrc.Это создаст пустой системный файл vimrc, который вы хотите использовать.
  3. В файле введите set number, затем нажмите Esc на клавиатуре и введите :wq, Это установит номер строки, показанный в файле настроек по умолчанию vimrc, и сохранит его.
  4. Что-то посмотреть, если это работает. Если нет, попробуйте перезагрузить терминал полностью.

Если в терминале, введите cd /usr/share/vim/ перейдите в эту папку, затем введитеls, вы можете непосредственно увидеть файл с именем vimrc. Но это системный файл, который говорит только для чтения. Я чувствую, что не стоит пытаться изменить его. Так что следуйте вышеописанным шагам, чтобы лучше создать vimrc самостоятельно. Это сработало для меня.

Я перепробовал все выше и не смог найти .vimrc файл, поэтому я должен был сделать один.

Я скопировал файл примера cp vimrc_example.vim ~/.vimrcЯ должен был создать файл, копируя из /usr/share/vim/vim74/vimrc_example.vim в ~/.vimrc, Те, где инструкции в файле vimrc_example.

Мое решение для Unix для других операционных систем, в соответствии с VIM DOCS, ваш путь назначения должен быть следующим:

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

В SUSE Linux Enterprise Server (SLES) и openSUSE глобальный сервер находится по адресу /etc/vimrc редактировать это просто vi /etc/vimrc

VIMRC файл в Ubuntu (12.04): я пытался :scriptnames в VIM, и это показывает, как /usr/share/vim/vimrc а также ~/.vimrc,

Но я создал вручную ~/.vimrc,

Не знаю, как в других версиях Vim, но в Vim 9.0 выводvim --versionсодержит отличную информацию об этом. В моей системе вывод включает в себя следующее:

         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"

Из cmd: (окна):

C \ Users \ You> vim foo.txt

Теперь в vim войдите в командный режим, набрав: ":" (т.е. shift + ";")

:tabedit $HOME/.vimrc

К сожалению, ответов так много, и ни один из них мне не помог.

Пока я не побежал

      :checkhealth

в vim и выяснил, что в моем случае файл конфигурации vim должен называтьсяinit.vim(под~/.config/nvim/init.vim).

Я пытался отредактировать свой файл .vimrc, и это сработало для меня (macOS Ventura 13.0.1, декабрь 2022 г.).

      touch ~/.vimrc
vim ~/.vimrc

Затем я смог отредактировать файл как душе угодно, и в следующий раз, когда я запустил vim , он подхватил мои изменения.

имя файла в моей системе, установленной с Garuda Linux, — file:///etc/xdg/nvim/sysinit.vim, поэтому попробуйте найти этот файл и внести свои пользовательские изменения.

если в Windows, это может быть в вашем каталоге C в Program Files (x86) в папке "vim"

В Ubuntu 18.04 LTS отредактируйте:

/ И т.д. / VIM /vimrc

Другие вопросы по тегам