Подготовьте среду vim для работы с clang-форматом

Проблема:

E319: Извините, команда недоступна в этой версии

проблема
Когда я запускаю среду vim и пытаюсь переформатировать код (CTRL+K), я получаю это предупреждение на экране

Среда:
Система: Mac OS X

Настройки:
Vim:

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Nov 17 2016 20:17:27)
MacOS X (unix) version
Included patches: 1-91

питон:

python --version: Python 3.5.2

Что я делаю

  • Обновление vim: 7.3 -> 8.0
  • Обновление python: ~2.7 -> ~3.5
  • Я обновил файл.vimrc
    от
    map <C-K> :pyf .../clang-format.py<cr> imap <C-K> <c-o>:pyf .../clang-format.py<cr>
    в
    map <C-K> ggVG :py3f .../clang-format.py<cr> imap <C-K> <c-o>:py3f .../clang-format.py<cr>

  • Также я обновляю файл в формате clang
    https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format.py

Спасибо,

3 ответа

Решение:

1. Перейдите в файл.vimrc и добавьте команды

map <C-K> :pyf <path-to-this-file>/clang-format.py<cr>
imap <C-K><c-o>:pyf <path-to-this-file>/clang-format.py<cr>

2.Добавьте этот https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format.py исходный код в файл clang-format.py, вы можете сохранить этот файл в

<path-to-this-file>/clang-format.py

где путь к этому файлу - это путь к направлению, в котором вы поместили этот файл.

3. Сохраните файл clang-format.py и запустите vim. Проверьте, что команда работает.

Вы также можете установить Macvim для OSX. Инструкция вы можете найти здесь. Как я могу установить MacVim на OS X?

Вот

$ which clang-format

возвращается

/usr/local/bin/clang-format

затем

ls -ls /usr/local/bin/clang-format

указывает на

/usr/local/Cellar/clang-format/2018-04-24/share/clang/clang-format.py

Так и делаю

$ vim ~/.vimrc

map <C-K> :pyf /usr/local/Cellar/clang-format/2018-04-24/share/clang/clang-format.py<cr>
imap <C-K> <c-o>:pyf /usr/local/Cellar/clang-format/2018-04-24/share/clang/clang-format.py<cr>

Это работает на vim (из терминала), но не на macvim.

Просто упомяните проект https://github.com/rhysd/vim-clang-format

Что очень удобно в использовании и избавляет от повторяющейся работы.

Другие вопросы по тегам