LINUX.ORG.RU

[C IDE][Vim] В поисках дзена....

 


0

3

Я таки остановился на vim'е. Есть два вопроса:

1) Есть ли что-то типа таблицы со стандартными хоткеями для вима и выполняемыми действиями?

2)Можно ли в принципе прикрутить нормальное автодополнение, как в qtcreator или netbeans? Я не смог сконфигурить omnicppcomplete под себя.

3) Подкиньте цветовых схем со скриншотами сразу пожалуйста годных. С серым фоном и чтобы в целом было не контрастно и не напрягающе.

Благодарю.



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

есть неплохая книжка, в ней есть много всего, в том числе и таблицы хоткеев - Learning the vi and Vim Editors

цветовая схема: http://winterdom.com/2008/08/molokaiforvim

автодополнение omnicppcomplete + ctags + supertab как-то так:

"-------------------------------------------------------------------------------
" OmniCppComplete settings
"-------------------------------------------------------------------------------
" configure tags - add additional tags here or comment out not-used ones
set tags+=~/.vim/tags/gtk+
set tags+=~/.vim/tags/glib
set tags+=~/.vim/tags/gio
" generating tags
" ctags -R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include/gtk-2.0

" build tags of your own project with CTRL+F12
 map <C-F12>       :!ctags -R --c++-kinds=+pl --fields=+iaS --extra=+q .<CR>
imap <C-F12> <esc> :!ctags -R --c++-kinds=+pl --fields=+iaS --extra=+q .<CR> i

" OmniCppComplete options
let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_ShowPrototypeInAbbr = 1           " show function parameters
let OmniCpp_MayCompleteDot = 1                " autocomplete after .
let OmniCpp_MayCompleteArrow = 1              " autocomplete after ->
let OmniCpp_MayCompleteScope = 1              " autocomplete after ::
let OmniCpp_DefaultNamespaces = ["std"]

" automatically open and close the popup menu / preview window
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
autocmd InsertLeave * if pumvisible() == 0|pclose|endif

" configure popup menu
set completeopt=menuone,menu,longest,preview

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

Тут курсор сместится на символ влево:

imap <C-F12> <esc> :!ctags -R --c++-kinds=+pl --fields=+iaS --extra=+q .<CR> i

Лучше использовать следущий способ (вместо i -> a):

imap <C-F12> <esc> :!ctags -R --c++-kinds=+pl --fields=+iaS --extra=+q .<CR> a

andreyu ★★★★★
()

Топикстартеру - код, приведенный Dimson, взят из мануала по OmniCppComplete. Почему вы не его прочитали, мне не понятно.

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

Прочитал. А почему он показывает кучу всего, если надо только namespace класса X допустим? И кстати, документация у вима ужасна. Те же буфферы... нет бы сначала описали, как их просто открывать\закрывать...или я неосилятор.

flareguner
() автор топика

> 1) Есть ли что-то типа таблицы со стандартными хоткеями для вима и выполняемыми действиями?

http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

3) Подкиньте цветовых схем со скриншотами сразу пожалуйста годных. С серым фоном и чтобы в целом было не контрастно и не напрягающе.


Млин, первая же ссылка в гугле:
http://www.vi-improved.org/color_sampler_pack/

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

> Прочитал. А почему он показывает кучу всего, если надо только namespace класса X допустим?

Ну идеального комплита вы не получите, увы.

И кстати, документация у вима ужасна. Те же буфферы... нет бы сначала описали, как их просто открывать\закрывать...или я неосилятор.


Вы неосилятор. Но немного терпения и вы научитесь находить нужную вам информацию. После этого вам не захочется другой IDE.

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

Спасибо! Ещё два вопроса созрели.

1) Можно ли переключаться между буферами по номерам, а не жмякая Ctrl- W каждый раз?

2) Как прибить любую команду (то же открытие буфера) на хоткей?

flareguner
() автор топика
Ответ на: комментарий от andreyu

Мне честно говоря просто лень. А что касается стиля документации vim, видимо привыкнуть надо.

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

> 1) Можно ли переключаться между буферами по номерам, а не жмякая Ctrl- W каждый раз?

Не использую, но вроде можно.

2) Как прибить любую команду (то же открытие буфера) на хоткей?


Можно и выше вам приводился пример. Читайте про map.

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

Не использую, но вроде можно.

узнать бы как...

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

1. Не понял зачем тебе номер буфера:

imap <F5> <Esc> :bprev <CR>i
map <F5> :bprev <CR>

imap <F6> <Esc> :bnext <CR>i
map <F6> :bnext <CR>

2. э... может табы удобнее?

imap <F2> <Esc>:w<CR>
map <F2> <Esc>:w<CR>

imap <F3> <Esc>:read
map <F3> <Esc>:read

imap <F4> <Esc>:browse tabnew<CR>
map <F4> <Esc>:browse tabnew<CR>

imap <F5> <Esc> :tabprev <CR>i
map <F5> :tabprev <CR>

imap <F6> <Esc> :tabnext <CR>i
map <F6> :tabnext <CR>

menu Exit.quit :quit<CR>
menu Exit.bdelete :bdelete<CR>
menu Exit.quit! :quit!<CR>
menu Exit.bdelete! :bdelete!<CR>
menu Exit.save :exit<CR>
map <F10> :emenu Exit.<Tab>

set fileencoding=utf-8    " set save encoding"
set termencoding=utf-8    " set terminal encoding"
set encoding=utf-8    " set charset translation encoding"
set fileencodings=utf-8,cp1251,cp866

menu Encoding.koi8-r :e ++enc=koi8-r<CR>
menu Encoding.cp1251 :e ++enc=cp1251<CR>
menu Encoding.cp866 :e ++enc=cp866<CR>
menu Encoding.ucs-2le :e ++enc=ucs-2le<CR>
menu Encoding.utf-8 :e ++enc=utf-8<CR>
map <F12> :emenu Encoding.<Tab>

set wildmenu
set wcm=<Tab>

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

Чем же табы удобнее буферов? Кол-во табов ограничено. Кол-во буферов нет. Визуальное отображение табов можно сделать с помощью плагина minibufexplorer. Но я его не использую, т.к. он использует две строки. Кроме того, гораздо нагляднее и удобнее использовать bufferexplorer.

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