Где мой файл.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
Полезную информацию можно получить, используя 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. Вот расположение каждой ОС ...
- BSD / Linux :
/home/$user/.vimrc
- SunOS / Solaris :
/export/home/$user/.vimrc
- MacOS :
/Users/$user/.vimrc
- Android :
/data/media/$userid/.vimrc
- Unix :
$root/home/$username/.vimrc
- AT&T Unix :
$root/usr/$username/.vimrc
- На основе Unix :
-
/var/users/$user/.vimrc
-
/u01/$user/.vimrc
-
/usr/$user/.vimrc
-
/user/$user/.vimrc
-
/users/$user/.vimrc
(Источник: Википедия: домашний каталог по умолчанию для каждой операционной системы .)
-
Если его не существует, создайте его с помощью
~/.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.
- В терминале введите
cd
Это поможет вам перейти в домашнюю папку. - В терминале введите
vi .vimrc
.Это создаст пустой системный файл vimrc, который вы хотите использовать. - В файле введите
set number
, затем нажмите Esc на клавиатуре и введите:wq
, Это установит номер строки, показанный в файле настроек по умолчанию vimrc, и сохранит его. - Что-то посмотреть, если это работает. Если нет, попробуйте перезагрузить терминал полностью.
Если в терминале, введите 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"