-8 / 2 / 0
Регистрация: 21.04.2015
Сообщений: 23
|
|
1 | |
VIM как IDE для Python30.04.2015, 18:35. Показов 4664. Ответов 5
Метки нет Все метки)
(
Здравствуйте ещё раз. Понимаю что эта тема не раз поднималась в интернете.
Большенство обсуждений безнадёжно устарели. Некоторые плагины перестали поддерживаться а другие заменены на новые. Я напишу как настроен VIM у меня. Хотелось бы обменяться опытом и узнать как у других людей. Записи в виде: Плагин - настройки для него в vimrc если нужны. Идентификатор отступов. Код
github.com/Yggdroot/indentLine let g:indentLine_enabled = 1 let g:indentLine_color_term = 7 let g:indentLine_char = '|' " '·' Код
github.com/tomtom/tcomment_vim только вчера поставил. Запуск Shell из VIM. Код
github.com/vim-scripts/Conque-Shell Код
set wildmenu set wcm=<Tab> menu Terminal.Bash :ConqueTermSplit bash<CR> menu Terminal.Ipython :ConqueTermSplit ipython<CR> map <F11> :emenu Terminal.<Tab> Код
autopep8 github.com/tell-k/vim-autopep8 Тут нечего писать, можно только изменить хоткей Код
autocmd FileType python map <buffer> <F8> :call Autopep8()<CR> Код
let g:flake8_quickfix_height=6 Код
TagList app-vim/taglist требует dev-util/ctags let Tlist_Auto_Open = 1 " Открытие автоматом. let Tlist_Exit_OnlyWindow = 1 " Выход автоматом. let Tlist_WinWidth = 20 let Tlist_Enable_Fold_Column = 0 nnoremap <silent> <F6> :TlistToggle<CR> Вернее требует дополнительных настроек и устарело. В часности не знает что существует документация для третьей версии. Python Автодополнение Код
github.com/davidhalter/jedi-vim Код
app-vim/supertab Код
let g:jedi#popup_on_dot = 0 Код
app-vim/pathogen Для pathogen: Код
execute pathogen#infect()
1
|
|
30.04.2015, 18:35 | |
Ответы с готовыми решениями:
5
Visual Studio как IDE для Python Как подключить IDE для Python 2.7.10? Я в этом тупой новичок:) IDE python 3 для слабого пк IDE для Python похожее на RStudio Какой IDE выбрать для python |
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
|
|
30.04.2015, 19:48 | 2 |
когда пробовал вим, что то в этом роде и ставил. Пару замечаний - в такой теме было бы неплохо привести файлик .vimrc ( вроде бы так называется файл настроек вима?) . А что либо для взаимодействия с файловой системой, наподобие NerdTree вы не используете? А взаимодействие с системами контроля версий?
0
|
-8 / 2 / 0
Регистрация: 21.04.2015
Сообщений: 23
|
|
30.04.2015, 22:39 [ТС] | 3 |
Для взаимодействия с файловой системой не понравился ни один плагин из тех
что я пробовал типа NerdTree vim-commander и др. И не стоит забывать что каждый новый плагин замедляет работу. Поэтому использую: " <F4> вертикальное разделение и открытие дерева каталогов Код
set wildmenu set wcm=<Tab> menu Bumper.Open_buffer :Vex!<CR> menu Bumper.Close_buffer :bd<CR> menu Bumper.List_buffer :ls<CR> map <F4> :emenu Bumper.<Tab> Для переключения между буферами: " <F5> позволяет переключать вкладки справа-налево Код
imap <F5> <Esc> :tabprev <CR> map <F5> :tabnext <CR> Внёс небольшие изменения. Плагин vim-scripts/Conque-Shell себя не оправдал поэтому я вернулся к старому способу. Запуск по <Ctrl+d>, не надо забывать для выхода из терминала и возвращения в VIM повторно нажать <Ctrl+d>. Иначе останется безхозный своп от файла который редактировали и изменения не будут пременены. А из баша можно хоть ipython запускать, хоть чёрта лысого. " Запуск Bash по <Ctrl+d>, так же по <Ctrl+d> возвращение в vim. Код
noremap <C-d> :!/bin/bash<CR> Переходим в визуальный режим по "v", выделяем строку или блок и нажимаем <F3> Убирать комментарии так же. " по умолчанию <Ctrl+_><Ctrl+_> Код
noremap <F3> :TCommentMaybeInline<CR> Дистрибутив "Gentoo GNU Linux" назавается. Система portage за всем и следит. Если кому то интересно привожу файл настроек ".vimrc" полностью. Привожу как есть, ничего не исправляя, с пометками на память и проч. И в нём не отображено всё что установлено для VIM. И там комментарии не везде. Если что то не заработает пишите и я постараюсь вспомнить как делал. Код
" Вставка форматированного текста с отступами " :set paste " отключить :set nopaste " " замена одного слова другим :%s/\<идиот\>/модератор/g " " Отмена действия Esc+u " " Cut and Paste в визуальном режиме d - вырезать p - вставить " Статусбар. set laststatus=2 " всегда показывать строку статуса set nocompatible " allow backspacing over everything in insert mode set backspace=indent,eol,start syntax on filetype plugin indent on " app-vim/colorschemes " color scheme wuye, elflord, industry colorscheme wargrey " маркер переноса строк set colorcolumn=80 highlight ColorColumn term=reverse ctermbg=6 guibg=DarkRed " табуляции и пробелы set tabstop=8 set shiftwidth=4 set smarttab set expandtab set softtabstop=4 " Умные отступы set autoindent set smartindent " удалить лишние пробелы на конце autocmd BufWritePre * :%s/\s\+$//e " игнорировать регистр при поиске set ic """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Запуск Bash по <Ctrl+d>, так же возвращение в vim. noremap <C-d> :!/bin/bash<CR> " Python, подсвечивать всё. let python_highlight_all = 1 " <F2> меню кодировок set wildmenu set wcm=<Tab> menu Кодировка.cp1251 :e ++enc=cp1251<CR> menu Кодировка.koi8-r :e ++enc=koi8-r<CR> menu Кодировка.utf8 :e ++enc=utf-8<CR> menu Кодировка.Save-utf8 :w ++enc=utf-8<CR> menu Кодировка.Save-unix :set fileformat=unix<CR> map <F2> :emenu Кодировка.<Tab> " <F3> Комментирование выделенных строк app-vim/tcomment " nnoremap v_<Plug>TComment_<C-d> :TCommentMaybeInline<CR> noremap <F3> :TCommentMaybeInline<CR> " <Ctrl+_><Ctrl+_> по умолчанию. " <F4> вертикальное разделение и открытие дерева каталогов set wildmenu set wcm=<Tab> menu Bumper.Open_buffer :Vex!<CR> menu Bumper.Close_buffer :bd<CR> menu Bumper.List_buffer :ls<CR> map <F4> :emenu Bumper.<Tab> " <F5> позволяет переключать вкладки справа-налево imap <F5> <Esc> :tabprev <CR> map <F5> :tabnext <CR> " Plugins: app-vim/pathogen manage runtimepath execute pathogen#infect() " Не устанавливать python-mode, говно! Конфликты и плохо работает с 3. " Python Автодополнение http://github.com/davidhalter/jedi-vim " Для вызова по <Tab> app-vim/supertab let g:jedi#popup_on_dot = 0 " Автодополнение только по клавише. " <F6> TagList app-vim/taglist depend dev-util/ctags let Tlist_Auto_Open = 1 " Открытие автоматом. let Tlist_Exit_OnlyWindow = 1 " Выход автоматом. " let Tlist_Use_Horiz_Window = 1 let Tlist_WinWidth = 20 let Tlist_Enable_Fold_Column = 0 nnoremap <silent> <F6> :TlistToggle<CR> " <F7> Проверка синтаксиса и стиля в питоне. dev-python/flake8 " autocmd FileType python map <buffer> <F7> :call Flake8()<CR> " let g:flake8_quickfix_location="topleft" let g:flake8_quickfix_height=6 " <F8> Авто исправление синтаксиса python dev-python/autopep8 autocmd FileType python map <buffer> <F8> :call Autopep8()<CR> " <F9> вызвать меню вариантов завершения работы set wildmenu set wcm=<Tab> menu Exit.quit :quit <CR> menu Exit.quit! :quit! <CR> menu Exit.save :w <CR> menu Exit.save+exit :exit <CR> map <F9> :emenu Exit.<Tab> " <F12> включение и выключение номеров строк :set number menu Номера.Включить :set number <CR> menu Номера.Отключить :set nonumber <CR> map <F12> :emenu Номера.<Tab> """"""""""""""""""""""""""""""""""""""""""""""""" " Сворачивание блоков кода set foldenable " включить фолдинг по умолчанию set foldmethod=syntax " определять блоки на основе синтаксиса set foldmethod=indent " определять блоки на основе отступов " set foldnestmax=3 "deepest fold is 3 levels " set foldcolumn=5 " показать полосу для управления сворачиванием " set foldlevel=1 " Открыт только первый уровень вложенности. set foldlevel=99 " по умолчанию все развернуто " автоматическое открытие и закрытие сверток при заходе в них " set foldopen=all " set foldclose=all " <space> - раскрыть/свернуть блок кода " nnoremap <C-S> za " Автозавершение скобок. " :inoremap { {}<LEFT> " imap [ []<LEFT> " imap ( ()<LEFT> " imap " ""<LEFT> " Идентификатор отступов. indentLine " :IndentLinesToggle toggles lines on and off. let g:indentLine_enabled = 1 let g:indentLine_color_term = 7 let g:indentLine_char = '|' " '·'
0
|
Покинул форум
6598 / 1481 / 355
Регистрация: 07.05.2015
Сообщений: 2,902
|
|
09.05.2015, 21:20 | 5 |
![]() Код
function! InsertTabWrapper(direction) let col = col('.') - 1 if !col || getline('.')[col - 1] !~ '\k' return "\<Tab>" elseif "backward" == a:direction return "\<C-p>" else return "\<C-n>" endif endfunction inoremap <Tab> <C-r>=InsertTabWrapper("forward")<CR> inoremap <S-Tab> <C-r>=InsertTabWrapper("backward")<CR> Код
set stal=2 nmap <S-t> : tabnew<CR> "новая вкладка nmap ,t : tabp<CR> "переход к предыдущей nmap .t : tabn<CR> "переход к следующей
0
|
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
|
|
10.05.2015, 19:51 | 6 |
Может быть тут мало людей которые осилили вим? И причем тут виндузятники и жава?
0
|
10.05.2015, 19:51 | |
Помогаю со студенческими работами здесь
6
реимпорт при запуске :Pymod в python-mode для vim VIM в качестве легкой IDE Vim объединить команды в vim obj\Debug\IDE.o||In function `Z11OpenProjectv':| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|2 36|undefined reference to `GetOpenFileNam Vim для Go Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |