Налаштування Vim для C ++


118

Я хотів би зробити vim моїм редактором C ++. У мене дуже мало досвіду роботи з ним і мені потрібна допомога в налаштуванні vim для роботи з C ++. Мені потрібні такі функції, як

  • код-повний (для stl та для моїх занять)
  • перемикання між .cc та .h файлами
  • може бути ще кілька хитрощів, які ви, C ++ та vim gurus, маєте.

Можливо, ви могли б надати деякі конфігурації (з поясненнями) або посилання на підручники, плагіни, якими я можу скористатися?


7
+1 за суцільний мазохізм бажання використовувати vim як IDE :) vim використовує його (особливо для віддаленого редагування файлів на моєму досвіді), але кожен, хто насправді хоче використовувати його для редагування коду, має мій погляд.
Стюарт Голодець

38
@sgolodetz: Тоді там дуже багато людей з чуттпами.
Каскабель

1
@Jefromi: Так, я це розумію :) Мені це завжди здавалося мазохізмом ... наче трохи чудовим чином.
Стюарт Голодець

4
Зрештою, я думаю, розміщення еквівалента "Я трохи сумнівний щодо vim" на посаді, яку, можливо, відвідують багато ентузіастів VIM, може бути трохи провокаційною - це повинно було бути язиком в коментар щоки, а не початок аргументу, хоча.
Стюарт Голодець

1
Я дав цю відповідь, яка спочатку була обмежена розвитком С. Однак кожна річ, яку я сказав, все ще справедлива для C ++.
Люк Ермітт

Відповіді:


142

Редагувати: оновлено станом на липень 2013 року


Я виправив посилання до мого набору C&C ++ ftplugins. Дякую за "рекламу" :)
Люк Ермітт

Також я можу рекомендувати плагін FSwitch замість плагіна.
W55tKQbuRu28Q4xv

1
LcCpp Luc несумісний з vundle (я думаю, що через svn repo) і жоден процес установки не подобається мені особисто - рекомендую перевірити github.com/Raimondi/delimitMate
netpoetica

2
+1 дуже повна (і актуальна) відповідь заслуговує на це, приємно бачити, як хтось із самих поважних членів публікує ці чудові відповіді. Наскільки ґрунтовна ваша відповідь, цілком корисна, в той же час не переймаючи навіть нового користувача vim.
osirisgothra

1
Як щодо vim-rtags? Це добре для навігації з кодом c ++, має функцію перейменування.
P4C

8

Я використовую vimяк свій редактор C ++, проте я не використовую багато "екзотичних" речей.

  • Щодо завершення, я використовую неконтекстуальний ^Pта ^N.
  • У мене є маса визначених користувачем скорочень для мого використання C ++, наприклад:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
  • У мене є кілька функцій для "фрагментів коду", таких як речі, наприклад:

    function! IncludeGuard()
      let basename = expand("%:t:r")
      let includeGuard = '__' . basename . '_h__'
      call append(0, "#ifndef " . includeGuard)
      call append(1, "#define " . includeGuard)
      call append(line("$"), "#endif /* !" . includeGuard . " */")
    endfunction
  • Єдиний плагін, без якого я дійсно не міг жити, - це Command-T (для якого потрібна підтримка рубіну)

  • Для зручності .ccв .hперемиканні, ви можете спробувати цей плагін

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.