Форум программистов, компьютерный форум, киберфорум
Python: IDE, инструментарий
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/26: Рейтинг темы: голосов - 26, средняя оценка - 4.62
-8 / 2 / 0
Регистрация: 21.04.2015
Сообщений: 23

VIM как IDE для Python

30.04.2015, 18:35. Показов 5245. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте ещё раз. Понимаю что эта тема не раз поднималась в интернете.
Большенство обсуждений безнадёжно устарели. Некоторые плагины перестали
поддерживаться а другие заменены на новые. Я напишу как настроен VIM у меня.
Хотелось бы обменяться опытом и узнать как у других людей.

Записи в виде:
Плагин - настройки для него в vimrc если нужны.

Идентификатор отступов.
Code
1
2
3
4
5
github.com/Yggdroot/indentLine
 
let g:indentLine_enabled = 1
let g:indentLine_color_term = 7
let g:indentLine_char = '|' " '·'
Комментирование выделенных строк.
Code
1
github.com/tomtom/tcomment_vim
Пока не придумал как заставить работить по удобной клавише,
только вчера поставил.

Запуск Shell из VIM.
Code
1
github.com/vim-scripts/Conque-Shell
Code
1
2
3
4
5
set wildmenu
set wcm=<Tab>
menu Terminal.Bash      :ConqueTermSplit bash<CR>
menu Terminal.Ipython   :ConqueTermSplit ipython<CR>
map <F11>               :emenu Terminal.<Tab>
Авто исправление синтаксиса.
Code
1
autopep8 github.com/tell-k/vim-autopep8
Automatically formats Python code to conform to the PEP 8 style guide
Тут нечего писать, можно только изменить хоткей
Code
1
autocmd FileType python map <buffer> <F8> :call Autopep8()<CR>
Проверка синтаксиса и стиля в питоне.
dev-python/flake8 A wrapper around PyFlakes, pep8 & mccabe
github.com/nvie/vim-flake8
У меня уменьшен размер буфера.
Code
1
let g:flake8_quickfix_height=6
Для тех кто знает что такое теги:
Code
1
2
3
4
5
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-mode, говно! Конфликты и плохо работает с python 3.x
Вернее требует дополнительных настроек и устарело. В часности не знает что
существует документация для третьей версии.

Python Автодополнение
Code
1
github.com/davidhalter/jedi-vim
Для вызова дополнения по <Tab>
Code
1
app-vim/supertab
Автодополнение только по клавише.
Code
1
let g:jedi#popup_on_dot = 0
Для плагинов использую
Code
1
app-vim/pathogen
но годится и любой другой способ.
Для pathogen:
Code
1
execute pathogen#infect()
Самое главное написал. У кого по другому делитесь опытом.
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2015, 18:35
Ответы с готовыми решениями:

Visual Studio как IDE для Python
Не буду изобретать велосипед, статью про него на русском можна прочитать здесь. Или ссылка на главную плагина для Visual Studio PTVS. ...

Как подключить IDE для Python 2.7.10? Я в этом тупой новичок:)
Как подключить IDE для Python 2.7.10? Я в этом тупой новичок:)

IDE python 3 для слабого пк
Привет. Посоветуйте IDE python 3 для слабого пк. Добавлено через 6 минут прошу прощения, IDE интересует меня, не компилятор.

5
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
30.04.2015, 19:48
когда пробовал вим, что то в этом роде и ставил. Пару замечаний - в такой теме было бы неплохо привести файлик .vimrc ( вроде бы так называется файл настроек вима?) . А что либо для взаимодействия с файловой системой, наподобие NerdTree вы не используете? А взаимодействие с системами контроля версий?
0
-8 / 2 / 0
Регистрация: 21.04.2015
Сообщений: 23
30.04.2015, 22:39  [ТС]
Для взаимодействия с файловой системой не понравился ни один плагин из тех
что я пробовал типа NerdTree vim-commander и др. И не стоит забывать что
каждый новый плагин замедляет работу. Поэтому использую:

" <F4> вертикальное разделение и открытие дерева каталогов
Code
1
2
3
4
5
6
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>
Если навести курсор на нужный файл и нажать <t> то файл откроется в новом буфере.
Для переключения между буферами:

" <F5> позволяет переключать вкладки справа-налево
Code
1
2
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.
Code
1
noremap <C-d> :!/bin/bash<CR>
И повесил Комментирование выделенных строк app-vim/tcomment на <F3>
Переходим в визуальный режим по "v", выделяем строку или блок и нажимаем <F3>
Убирать комментарии так же.

" по умолчанию <Ctrl+_><Ctrl+_>
Code
1
noremap <F3> :TCommentMaybeInline<CR>
Для контроля за версиями у меня стоит замечательная штука.
Дистрибутив "Gentoo GNU Linux" назавается. Система portage за всем и следит.

Если кому то интересно привожу файл настроек ".vimrc" полностью.
Привожу как есть, ничего не исправляя, с пометками на память и проч.
И в нём не отображено всё что установлено для VIM. И там комментарии не везде.
Если что то не заработает пишите и я постараюсь вспомнить как делал.


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
" Вставка форматированного текста с отступами
" :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
-8 / 2 / 0
Регистрация: 21.04.2015
Сообщений: 23
09.05.2015, 20:57  [ТС]
Вот прикольно, ни кто ничего не пишет. И понятно почему. Все у кого Linux имеют свой vimrc.
Виндузятина же просто не в курсах. Им на джаву.
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
09.05.2015, 21:20
Цитата Сообщение от zie_R9
Все у кого Linux имеют свой vimrc. Виндузятина же просто не в курсах.
А какая разница какая ОСь? .vimrc он и в Linux, и Windows шурует нормально. Например, автозавершение по Tab:
Code
1
2
3
4
5
6
7
8
9
10
11
12
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>
Или эдакая навигация по вкладкам:
Code
1
2
3
4
set stal=2
nmap <S-t> : tabnew<CR> "новая вкладка
nmap ,t    : tabp<CR>   "переход к предыдущей
nmap .t    : tabn<CR>   "переход к следующей
0
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
10.05.2015, 19:51
Цитата Сообщение от zie_R9 Посмотреть сообщение
И понятно почему.
Может быть тут мало людей которые осилили вим? И причем тут виндузятники и жава?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2015, 19:51
Помогаю со студенческими работами здесь

IDE для Python похожее на RStudio
Добрый день! Подскажите есть среда разработки для Питона максимально похожая на RStudio ? Постоянно работаю с R на RStudio. Теперь...

Какой IDE выбрать для python
Я начинающий питонист. В самом начале решил работать на пайчарме, но сейчас решил перейти на что нибуть попроще. Компьютер уже не новый и...

IDE для начинающего на Python
Только недавно начал изучать Pyton.Хотелось бы узнать, какую IDE стоит остановиться новичку, помимо встроенной в Pyton. Какие есть...

реимпорт при запуске :Pymod в python-mode для vim
Вопрос для пользователей python-mode в vim. Допустим в виме открыто два простенких файла file1.py VALUE = 'test' и file2.py ...

VIM в качестве легкой IDE
Я решил создать эту тему, потому что когда я начал программировать с помощью VIM, у меня возникли вопросы, ответы на которые приходилось...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru