Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Заблокирован

VIM

29.09.2015, 20:46. Показов 2070. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
VIM

Что такое vim объяснять не надо и в рекламе он не нуждается. Написано исключительно для пользователей UNIX подобных операционных систем. В силу многих причин, я пользуюсь vim в при запущеном X сервере в эмуляторе терминала. Без запущенного X сервера отличия будут только в цветах. Принципиально работа не отличается. Пишу как знаю, исходя только из собственного опыта - как новичок, который кое в чём разобрался.
Если надо глубже обсуждаем отдельно.

И ещё одна оговорка, я использую метадистрибутив Gentoo Linux.

Не по теме:

Разные пробовал, от LFS до openSUSE. Ubuntu производные дистрибутивы не считаю Линуксом. Там длинная и неприятная история с chronicle и космонавтами и всем остальным. На вопросы связанные с Ubuntu отвечать не буду. Пусть пользуются Steam. Для того Ubuntu и сделана. Я пользуюсь Gentoo, и поэтому некоторые моменты будут специфичны. Но всё решаемо.



В основном поделюсь тем как я настраивал vim для работы с Python. Пользуюсь только третьей версией.

Не по теме:

Несколько лет назад пользовался версией один-там-сколько-то. Обламался. И лет семь считал Python какахой. Год назад пришлось опять на него обратить внимание и поразился насколько всё изменилось в лучшую сторону. Теперь забываю ранее любимый bash всё сильнее. Ну всё, хватит воду в ступе толочь. Дальше без лирики, меньше ошибок будет.



Вы используете Linux и vim у вас уже стоит. У vim должны быть общесистемные настройки. Где то больше, где то меньше. Любые настройки перeкрываются настройками пользователя. Мы не работаем от root. Настройки пользователя для vim пишем в файл ~/.vimrc
Начинаем настройку .vimrc наверняка что-то прошлёпаю поэтому после придётся дополнять. Делаем всё для питона.

Если нужны подробности - пользуем хелпник пишем
Code
1
:h backspace
или другую фигню и нажимаем enter

Цветовая схема под себя. В Gentoo для цветов app-vim/colorschemes:
Code
1
colorscheme wargrey
Маркер переноса строк. Тоже под себя настраиваем. Не суть, не останавливаемся.
Code
1
2
let &colorcolumn=join(range(80,140),",")
highlight ColorColumn ctermbg=235
Табуляции и пробелы. Тоже вариативно, но в питоне идент на 4 пробела.
Code
1
2
3
4
5
set tabstop=4
set shiftwidth=4
set smarttab
set expandtab
set softtabstop=4
Удалить лишние пробелы на конце.
Code
1
autocmd BufWritePre * :%s/\s\+$//e
Подсвечивать всё для питона.
Code
1
let python_highlight_all = 1
Этого можно достичь разными методами я остановился на этом. При сохранении удалять лишнюю пустую строку в конце файла python.
Code
1
autocmd FileType python autocmd BufWritePre <buffer> :%s/\($\n\s*\)\+\%$//e
Можно ещё написать кучу горячих клавишь на все случаи жизни, если надо то позже.

Теперь по порядку плагины для питона.
Для управления плагинами в Gentoo: app-vim/pathogen в других дистрах - разберётесь как pathogen поставить
Code
1
execute pathogen#infect()
Патоген запускает с vim его плагины установленные а ~/.vim/
Установка плагинов зависит от дистра. Я ставлю то, чего нет в портаже при помощи git. Об этом тоже можно позже, при надобности.

vim-startify удобная стартовая страница для запуска vim без параметров. Позволяет запускать сохранённые сессии или ранее использованые файлы. Для сохранения сессии
Code
1
:SSave
хелпник - там же где всегда.

Статусбар. Офигенная штука! С ней можно вволю самоублажаться прикручивая свистоперделки и пропатченные шрифты. Я не космонавт, не пробовал. Ко мне девчонки забегают, чтобы не ревновали написал вот это:
Code
1
2
3
4
5
6
set laststatus=2   " всегда показывать строку статуса
let g:airline_section_b = '%{strftime("%c")}'
let g:airline_section_y = 'BN: %{bufnr("%")}'
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
Комментирование выделенных строк F3 app-vim/tcomment я забиндил на F3
" <Ctrl+_><Ctrl+_> по умолчанию.
Code
1
noremap <F3> :TCommentMaybeInline<CR>
Автодополнение. Важная фигня! http://github.com/davidhalter/jedi-vim, требует dev-python/jedi
Для вызова по <Tab> app-vim/supertab
Всплывающюю подсказку можно настроить 3-мя способами и выбрал так, показалось, что меньше тормозит.
Code
1
let g:jedi#show_call_signatures = 2
Тагбар app-vim/tagbar требует dev-util/ctags, я сделал по F6 , ещё ширина и позиция.
Code
1
2
3
nnoremap <silent> <F6> :TagbarToggle<CR>
let g:tagbar_left = 1
let g:tagbar_width = 24
Вторая офигенная штука! Сделал по F7 и выставил высоту буфера.
Code
1
2
3
4
" <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
Code
1
autocmd FileType python map <buffer> <F8> :call Autopep8()<CR>
Идентификатор отступов. В нормальном дистре и так должно быть.
Code
1
2
ndentLine_enabled = 1
let g:indentLine_char = '|' " '·'
Всё. Это только начало, навскидку и как пример. Если моя писулька нужна - буду редактировать и дополнять.

Напоследок несколько необходимых вещей, как у Кинга.

" <F9> вызвать меню вариантов завершения работы
Code
1
2
3
4
5
6
7
8
9
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>
menu Exit.quit!+all :quitall! <CR>
menu Exit.save+exit+all ::wqa <CR>
map <F9> :emenu Exit.<Tab>
Для выделения в визуальном режиме, например чтоб скопировать, удалить, вставить выделенное или закомментировать выделенное - нажимать v.

Всё, надоело пока писать. Если интересно комментируйте и я буду подробно объяснять как и что использовать и в чём кайф.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.09.2015, 20:46
Ответы с готовыми решениями:

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

Vim объединить команды в vim
Здравствуйте, возможно ли объединить несколько (две) команды в одну: Проблема в том, что установи easy motion, а он ищет только в строках...

Vim
Когда заходит речь о выборе редактора, я, например, часто советую Vim, и часто же, люди прислушавшись к совету идут на официальный сайт и...

12
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
29.09.2015, 21:03
Нечитаемо. Пробуйте использовать подстветку синтаксиса хоть какого нибудь дабы оформить строки относящиеся к конфигурационному файлу. Напишите как ставятся плагины. Про плагины лучше писать примерно так - Жирным шрифтом название плагина, описание, как его удобнее настроить. И да - .vimrc файлик приложите. Без устранения всех этих замечаний - бесполезная статья.
0
Заблокирован
29.09.2015, 21:17  [ТС]
Это не статья, подсветку завтра сделаю. Если я приложу свой vimrc то придётся для объяснения книгу написать.
В том числе какими я пользуюсь клавишами. Это не мышка. Каждое сочитание описать и объяснить. Почему переназначил, какие были дефолтные, на что заменил и почему. В том то всё и дело, это написано для тех кто хочет узнать как использавать vim. Это сложнее чем попадать мышкой в зомби. Годится не для всех. Читай для избранных.
Так же как Линукс. Обычно эволюция линуксоида приводит к использованию vim/emacs. Вот тут ищущий человек разберётся без подсветки синтаксиса. Научно-популярное чтиво с фантастикой на других ресурсах. Я не агитирую.
Рассказываю что и как. Просто почитать советую Роберта МакКамена.

Собственно популарность пушарма в том что он простой.
0
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
29.09.2015, 21:26
Цитата Сообщение от oota9Af Посмотреть сообщение
В том числе какими я пользуюсь клавишами. Это не мышка. Каждое сочитание описать и объяснить. Почему переназначил, какие были дефолтные, на что заменил и почему.
Кажду клавишу объяснять не нужно.
Цитата Сообщение от oota9Af Посмотреть сообщение
В том то всё и дело, это написано для тех кто хочет узнать как использавать vim. Это сложнее чем попадать мышкой в зомби. Годится не для всех. Читай для избранных.
Хотите несит вим в массы - меньше пафоса, пишите о нем более доступно.
Цитата Сообщение от oota9Af Посмотреть сообщение
Вот тут ищущий человек разберётся без подсветки синтаксиса.
Ищущий человек найдет статью с подстветкой синтаксиса и хорошим оформлением.
Выполение комманд в терминале, плагин nerd tree ( вроде так название) или аналогичный, про это тоже было бы неплохо сказать.
1
Заблокирован
29.09.2015, 21:51  [ТС]
Ошибочка, плагинов много, nerd tree в том числе. На мой взгляд плохой и устаревший плагин, читайте про него статьи с хорошим оформлением. Здесь описано всё что необходимо для vim+python. Нести vim в массы такая же глупость как нести в массы Linux. Если бы я хотел лайки от френдов то написал как ставить и использовать плагин python-mode. Здесь всё не стандартно чтобы оценить надо поставить и попробовать. И это займёт не 5 минут.
Цитата Сообщение от Zuzik Посмотреть сообщение
Кажду клавишу объяснять не нужно.
А как вы собрались плагинами пользоваться без горячих клавиш? Всё что нужно именно вам работает именно по вашей команде и когда вам нужно. А не когда какой-то умный дяденька захотел. У меня весь бар F* занят и с пяток комбинаций для постоянного использования. При этом я почти не использую дефолтные vim-овские клавиши. Там для меня лишние запоминалки. Настраивается именно под себя. Для этого ты должен знать что тебе нужно как минимум. Свой vimrc формируется не один год. Время от времени вносишь изменения. Результат нежелание запускать любой другой редактор. Тем более в vim есть и diff и редактирование hex и просто всё. Фанаты такое ставят что аж рубаха заворачивается. У меня в статусбаре только время и календарь.

Добавлено через 9 минут
Вообще это для людей которые уже знают как войти в вим, разделить окно, запустить в другом буфере другой файл, просмотреть открытые буферы, отменить изменения, запустить хелпник, включить визуальный режим, вырезать-вставить, выйти с сохранением или без. Всё это ВНЕЗАПНО! без мышки. А для тех кто этого не знает писулька безполезна и
Цитата Сообщение от Zuzik Посмотреть сообщение
Нечитаемо
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
29.09.2015, 21:54
oota9Af, ужасная статья, я уж не знаю чего вы добавиетесь... Но я просто оставлю здесь вот эти статьи:
http://habrahabr.ru/post/224979/
http://habrahabr.ru/post/196550/
http://habrahabr.ru/post/74128/
Я настраивал vim по этим статьям...
3
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
29.09.2015, 22:01
oota9Af, Есть подозрение, что вам на этом форуме делать нечего, по крайней мере в этом разделе. Вы слишком продвинуты, и мыслите иными путями, нежели большинство людей данного форума.
Вы считаете, что оформление и т.п. не нужно? Ок. Любой справочный материал в линуксе, та же комманда man. Всюду информация предствлена в более менее читаемом и структурированном виде. У вас же....
1
Заблокирован
29.09.2015, 22:09  [ТС]
Цитата Сообщение от Wolkodav Посмотреть сообщение
я уж не знаю чего вы добавиетес
Да ничего не добиваюсь, заметил что на форуме нет ничего про использование vim как ide для python вот и решил восполнить. Ищю братьев по разуму. А Вы расцениваете мою писульку как стремления к чему-то? Зря. Все извесно что пользователи vim юзают его в тихушку и радуются. Я вот читал статьи которые Вы предлагаете и настроил для себя намного лучше. Тем более статьи замшелое старьё. С тех пор и питон изменился и плагины какие то устарели а какие-то заменены новыми лучшими. Но я никого не убеждаю и не агитирую. Да пользуйтесь вы все чем хотите. Только не парьте другим мозги сто это лучшее.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
29.09.2015, 22:11
Цитата Сообщение от oota9Af Посмотреть сообщение
Только не парьте другим мозги сто это лучшее.
Мозги другим паришь это ты. Безосновательно начинаешь ругать качественные продукты, которыми много кто пользуется. Потом вроде как создаёшь статью о vim, но оформляешь её отвратительнейшим образом и после всего этого ещё и заслуженную критику не в силах вытерпеть.
0
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
29.09.2015, 22:15
Да он тролль и трепло. Ибо человек пользующийся вимом, сидящий на генту, настроивший все это дело под себя, не напишет такую статью даже в качестве заготовки/черновика.
1
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
29.09.2015, 22:20
oota9Af, и то, что вы написали, описано и в статьях, которые я скидывал, оформлено в хорошем виде и добротно описано, что да как, без всяких ненужных пантов.
0
Почетный модератор
12274 / 5340 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
29.09.2015, 22:49
 Комментарий администратора 
oota9Af, использование подсветки - обязательно по правилам этого форума.

Мат на форуме недопустим.

Оскорблять участников форума недопустимо.


Предлагаю снять корону, тщательно изучить правила форума и попробовать для начала прислушаться к замечаниям, которые здесь прозвучали.

Добавлено через 14 минут
И, кстати, клонирование на форуме тоже запрещено. Пользуйтесь своим основным аккаунтом.
1
 Аватар для volodin661
6795 / 2292 / 348
Регистрация: 10.12.2013
Сообщений: 7,918
08.04.2017, 14:01
Комментарий администратора :
использование подсветки - обязательно по правилам этого форума.
г-н администратор,
где же управление подсветкой для VimScript, использование которой обязательно для этого форума?
получается, что я уже несколько лет под статьёй тут хожу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2017, 14:01
Помогаю со студенческими работами здесь

Регулярки в vim
Можно ли как то избавиться то \ в регулярках в vim? Чтобы найти вот такую строку &quot;&lt;p&gt;test&lt;/p&gt; и заменить на что то...

Vim для Go
Есть такой древний редактор текстов. Vi. После был создан Vim - улучшенный Vi. Созданный программистом для программистов (и админов). ...

Vim and NERDCommenter
Ребята, подскажите, что делать? Может я не правильно пользуюсь NERDCommenter'ом? Выделяю текст в Vim жму по порядку ,cc и строка удаляется,...

Solaris Vim, Vi
Привет всем! В университете была лабораторная, по Vi(не по Vim). Так вот, сам я практиковался на Ubuntu. прописал :set compatible, ...

vim в Linux
как в VIM копировать?


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru