У мене є файл filename.fsіз вмістом синтаксису, подібного С. Vim відкриває його як джерело Forth, і я використовую :set syntax=cppдля отримання правильного виділення. Але пізніше, коли я намагаюся перестрибувати між словами, я стикаюся, що майже кожен набір символів - це слово, тому wмайже завжди йде до кінця рядка чи так. Я подумав, що це пов’язано з iskeywordналаштуванням, і :verbose set iskeyword?дає мені
iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
Last set from /usr/share/vim/vim74/syntax/forth.vim
Тож це, мабуть, також через суфікс, що нагадує Форт. Я намагаюся робити set filetype=cpp, але це не приносить мені звичного значення, iskяк @,48-57,_,192-255. Здається, що звичайний *.cpp-specific встановлений з /usr/share/vim/vim74/debian.vim, тому це не залежить від файлу cpp. Але якщо я, наприклад :e newfile.cpp, iskвстановлюю це значення за замовчуванням, навіть якщо до цього я редагував *.fsфайл.
Отже, моє запитання полягає в тому, як я можу (повторно) відкрити свій *.fsфайл як файл, що не належить до Forth, але не порушуючи стандартні файли Forth за замовчуванням і без необхідності вручну встановлювати iskпотрібне значення?
setlocal isk<працює після того, як я це зробитиset filetype=cpp, але написання вашої повної команди~/.vim/ftplugin/forth.vimне здається автоматично викликати це. Я неправильно розумію, що це насправді має робити?