У мене є файл 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
не здається автоматично викликати це. Я неправильно розумію, що це насправді має робити?