LINUX.ORG.RU

Никак не могу разобраться с vi


0

0

Никак не могу разобраться с vi. Может кто-нибудь конкретно показать как сделать подсветку синтаксиса C,C++,Perl, автоматические отступы. В HOWTO есть ссылки на файлы, не существующие в моей системе (папки /usr/doc у меня вообще нету :( Написал в ~/.vimrc syntax on - он не хочет, в общем не получается ). Пожалуйста помогите.

anonymous

попробуй использовать vim. у него файл настроек .exrc

hoopoe ★★
()

Спасибо, теперь я понял, что vim и vi разные вещи (я в линукс недавно). Синтаксис настроился сам собой. А можно ли как-нибудь сделать чтобы vim сам делал отступы и компиляцию программы по какой-нибудь из F-клавиш (у меня получилось сделать чтобы по F2 он сохранял файл, а по F3 - выходил, правда я все писал в ~/.vimrc)

anonymous
()

Да, и еще, я оказывается не сделал то что мне надо. F2 для сохранения и F3 для выхода работают только в командном режиме (вроде это так называется), а когда я в режиме редактирования F2 выдает в текст <F2> (в vimrc я написал map <F2> :w<C-M> не понимаю почему <C-M>, но увидел в примере что так работает), я попробовал по другому примеру сделать imap, он выдает в текст этот самый :w, чтоо делать ? Да и еще, есть ли в Vim что-то типа буфера обмена (без использования мышки).

anonymous
()

imap <F2> <esc>:w<C-M> Сначала нужно выйти из режима вставки - потом уже набирать :w. Для отступов - :set cindent. Для компиляции текущего буфера - читать хелпы, особенно все, что связано с quickfix и с vim скриптом.

timur
()

буферов обмена там 34 (если я правильно помню)... выделять текст - v, V или Ctrl + v (символы, строки и прямоугольные блоки)... копировать в текущий буфер yy, вставлять - dd... долго писать полную доку... посмотри лучше его хелпы (:help) или www.vim.org

hoopoe ★★
()

Большое спасибо, все работает, но есть вопросы : как у cindent поменять отступ (там вроде 8 символов, а мне надо 2, попробовал поменять tabstop - не то), можно ли в imap написать клавиатурную комбинацию с Control'ом, например Control-F1, или Control-C, а также с Shift'ом ?

anonymous
()

<c-f1>, <c-c> и т.д.
help c-indenting
Сдвигается на shiftwidth.
Копировать блок - y, удалять - d, вставлять - p. А еще там есть понятие объекта, например строка - d. Удалить текущую строку - dd, скопировать текущую строку - yd. Есть еще объекты word, параграф и много других. Вобщем по нему надо доку читать, иначе не получиться эффективно им пользоваться.

timur
()

Не получается такая вещь. Вроде файл настроек ~/.vimrc (во всяком случае exrc я нигде не видел, а то, что пишу в vimrc - работает). Пишу в этом самом vimrc : set cindent ,ошибок никаких, но cindent не работает пока не включаю его из командного режима. В чем дело ?

anonymous
()

а ты попробуй .exrc - вдруг получится :) насколько я помню это и есть набор команд для командного режима

hoopoe ★★
()

Пишу в домашнем каталоге юзера файл .exrc <set cindent> (без скобок естественно) - не работает.

anonymous
()

Ну я же говорю - читайте доки. Невозможно в двух словах объяснить, как настраивать vim. cindent нужно включать в hook'и. Их там много всяких - типа при входе в буффер, при открытии файла с таким-то расширением и т.д. Если Вы открываете файл *.c(cpp,h,hpp,cxx,C и т.п.), то cindent должен включаться по умолчанию. Вобщем наберите :help, и далее по ссылкам прочитайте весь хелп. А иначе ничего не получится :(.

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