LINUX.ORG.RU

Вопросы по Vim

 , , ,


2

4

Выбрал Vim в качестве IDE (C-подобные языки) на слабом компьютере.

Почти все настроил, только не приходит в голову, как можно реализовать следующие вещи:

* Автодополнение скобок — привык к нему после QtCreator. Хотелось бы, чтобы после { автоматически появлялась следующая модель:

{
<Tab>
}
с курсором после Tab;

* Возможно ли выводить ошибки компиляции непосредственно в Vim, допустим в окне, отделенном split?

* Последнее — скрытие фрагментов кода по отступам, ну тут думаю все ясно

Автодополнение не нужно.

Ошибки выводятся, погугли, умвр.

Свёртка есть в коробке.

emulek
()

(C-подобные языки)

какие именно, потому что практически для каждого языка есть пакет/плагин, в котором есть всё, что тебе нужно, включая автоматические отступы в блоках, вывод ошибок в split и настраиваемый folding.

redhat
()

Привет! Это, конечно, костыль, но я использую этот способ для реализации автодополнения, вполне рабочий.

au filetype c,cpp,h inoremap {<CR> {<CR><CR>}<Esc><BS>i
au filetype c,cpp,h inoremap ( ()<Esc>i
au filetype c,cpp,h inoremap [ []<Esc>i

Plcmn
()

Про вывод ошибок — конечно, это не совсем то, что ты хочешь, но у vim есть встроенная команда make. Ошибки выводятся прямо в vim и после сборки курсор устанавливается на первую ошибку/ворнинг. Перемещаться можно с помощью :cnext и :cprev, вывести все ошибки можно с помощью :clist.

Plcmn
()

А с скрытием — почитай про indent, если интересно, вот мои настройки:

"Folding:
set foldmethod=syntax
set foldnestmax=3
set nofoldenable
set foldlevel=5

nnoremap <space> za

Plcmn
()
Ответ на: комментарий от Plcmn

Для этого, понятное дело, нужно, чтобы Makefile был.

Plcmn
()
Ответ на: комментарий от Plcmn

По нажатию на <space> в normal mode кусок кода, на котором находится курсор в данный момент, скрывается.

Plcmn
()

Надеюсь, что тебе это поможет.

Plcmn
()
Ответ на: комментарий от Plcmn

можно не заморачиваться вручную, а поставить delimitMate, где есть от автоматическая пара и дополнение (expansion) и много чего другого.

Про вывод ошибок — конечно, это не совсем то, что ты хочешь, но у vim есть встроенная команда make

а есть еще для каждого языка более удобные вещи, типа c-support (c.vim) (он же для git плагин-менеджеров для си и плюсов, также есть Syntastic почти для любого языка, более удобный чем всё остальное.

Короче, будет более понятнее, если укажут с каким языком и окружением нужна интеграция.

redhat
()
Ответ на: комментарий от redhat

delimitMate

Уже не первый раз сталкиваюсь с ошибками конца строк:

Error detected while processing /home/user/.vim/bundle/delimitMate/plugin/delimitMate.vim:
line    8:
E492: Not an editor command: ^M
line   10:
E492: Not an editor command: ^M
line   11:
E15: Invalid expression: exists("g:loaded_delimitMate") || &cp^M
line  400:
E171: Missing :endif

Как-нибудь это можно побороть без правки файлов?

Deleted
()
Ответ на: комментарий от Daiquiri

у тебя там иксов нет совсем что ли? просто на на 2 пне со 128 оперативки geany работает, что же у тебя там за комп?

mul4 ★★★★★
()
Последнее исправление: mul4 (всего исправлений: 1)

Возможно ли выводить ошибки компиляции непосредственно в Vim, допустим в окне, отделенном split?

:help :make
:help :cw
pon4ik ★★★★★
()
Ответ на: комментарий от Plcmn

А про :cw ты вкурсе? Мего удобная весчь имхо, считай как в иде вывод получается.

Я так даже левизну всякую собираю, если Makefile есть :) типа так:

cd <source dir>
vim
:make -j5
#if errors or warnings occuried
:cw

pon4ik ★★★★★
()
Ответ на: комментарий от Plcmn

Это не костыль. В смысле может и есть пакет, который это делает, но это будет набор именно таких вещей.

ziemin ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.