Для того, щоб переконатися, що на поведінку не впливає моя особиста конфігурація, я хочу запустити 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:?