define and set project wide editor variables
For the time being we set local editor variables by appending something like the following lines to source code files:
// vi: set et ts=4 sw=4 sts=4:
// Local Variables:
// mode:c++
// indent-tabs-mode: nil
// require-final-newline: nil
// End:
This approach is extremely inflexible. For a single change of an editor variable all files must be changed.
Emacs provides project wide settings via a file named .dir-locals.el
in the top-level directory. This mechanism also supports multiple modes, e.g. for C, C++ and CMake files.
Vim supports a similar mechanism via a plugin each user can install in his ~/.vim/pack
directory.
Instead of appending local variable settings to each file, project-wide configuration files should be used.