Для того, щоб переконатися, що на поведінку не впливає моя особиста конфігурація, я хочу запустити Vim таким чином, що ігнорує всі мої встановлені користувачем конфігураційні файли, як ніби Vim щойно був встановлений вперше, і користувач запустив його негайно.
Це вирішується у FAQ, що говорить про те, що відповідь потрібно запустити Vim із наступної команди:
vim -u NONE -U NONE -N -i NONE
Це отримує більшу частину шляху там, але runtimepath
параметр все ще містить ~/.vim
і, зокрема, ~/.vim/after
((наприклад, якщо я згодом увімкну розпізнавання типу файлу та зміну файлового типу, код ~/.vim/after/syntax/the_relevant_filetype.vim
буде виконаний).
Я можу вирішити цю конкретну проблему, застосувавши такі команди при запуску *:
:set runtimepath-=~/.vim
:set runtimepath-=~/.vim/after
... але я не впевнений, що:
- Це надійне рішення: чи це єдині шляхи, які можуть спричинити настрій конфігурації користувача? Чи є ще щось, про що я не думав?
- Є кращий спосіб досягти бажаного результату.
* Використовуючи аргументи --cmd
або -u vimrc
оболонки, або просто ввівши їх вручну.
EDIT : Ось один конкретний приклад такої проблеми, яку я намагаюся вирішити. (Хоча я хотів би, щоб рішення виправити будь-які інші можливі проблеми, з якими я, можливо, ще не стикався.):
Створіть файл ~ / .vim / after / ftplugin / c.vim, що містить вміст:
noremap i :echom "This is not default behaviour"<CR>
Тепер у нас є встановлена користувачем конфігурація, яку ми хочемо ігнорувати. Перевіримо рішення, запропоноване FAQ.
Запустіть Vim командою:
vim -u NONE -U NONE -N -i NONE
Введіть команди:
:filetype plugin on :set ft=c i
Бажана поведінка : Vim повинен увійти в режим Вставка. Це те, що було б, якщо б не існувало налаштування користувача.
Спостережувана поведінка : Vim видає "Це не типова поведінка"
:cd ~
, але також розташування viminfo
файлу за замовчуванням знаходиться в $ HOME, що може спричинити E138. Я думаю, що найкращим рішенням може бути створення нового, порожнього каталогу та використання його для $ HOME.
-u NONE
?
/tmp
може бути краще, це була моя перша думка, але потім я вибрав / dev / null як чорну діру. ... Або щось подібне HOME=$(mktemp -d) vim ...
.
-u NONE
? Я думаю, залежить від того, яка поведінка вам потрібна.
HOME=/dev/null vim -u NONE
:?