Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Внутри CPython гид по интерпретатору Python.pdf
Скачиваний:
6
Добавлен:
07.04.2024
Размер:
8.59 Mб
Скачать

36    Настройка среды разработки

НАСТРОЙКА VIM

Vim — мощный консольный текстовый редактор. Чтобы процесс разработки с Vim был особенно эффективным, разместите пальцы на базовых клавишах (home keys1) клавиатуры. Все необходимые сокращения и команды будут у вас прямо под рукой.

ПРИМЕЧАНИЕ

В большинстве дистрибутивов Linux и в терминале macOS для vim опре­ делен синоним vi. В книге будет использоваться команда vim, но коман­ даvi тоже будет работать,если ввашей системе этот синоним существует.

В исходном состоянии Vim обладает базовой функциональностью и практически не превосходит такой текстовый редактор, как «Блокнот» (Notepad). Однако с некоторыми конфигурациями и расширениями Vim превращается в мощный инструмент для редактирования кода Python и C.

Расширения Vim хранятся в разных местах, включая GitHub. Для упрощения настройки и установки плагинов с GitHub можно воспользоваться менеджером плагинов, например Vundle.

Чтобы установить Vundle, выполните в терминале следующую команду:

$ git clone https://github.com/VundleVim/Vundle.vim.git \ ~/.vim/bundle/Vundle.vim

1 Клавиши «A», «S», «D», «F» — левая рука и «J», «K», «L» — правая. — Примеч. ред.

Книги для программистов: https://t.me/booksforits

Настройка Vim    37

После установки менеджера Vundle необходимо настроить Vim для загрузки ядра Vundle.

Мы установим два плагина:

1.Fugitive: строка состояния для Git с множеством сокращений для выполнения операций Git.

2.Tagbar: панель, упрощающая переход к функциям, методам и классам.

Чтобы установить эти плагины, сначала измените содержимое файла конфигурации Vim (обычно HOME .vimrc) и включите в него следующие строки:

cpython-book-samples 11 .vimrc

syntax on

 

set nocompatible

" отключить совместимость с Vi, обязательно

filetype off

" обязательно

"установка пути среды выполнения для включения Vundle и инициализация set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

"Разрешить Vundle управление Vundle, обязательно

Plugin 'VundleVim/Vundle.vim'

"Ниже приводятся примеры различных поддерживаемых форматов.

"Команды Plugin должны располагаться между vundle#begin/end.

"Плагин в репозитории GitHub

Plugin 'tpope/vim-fugitive'

Plugin 'majutsushi/tagbar'

" Все команды Plugin должны быть добавлены до этой строки

call vundle#end()

"

обязательно

filetype plugin indent on

"

обязательно

"Автоматически открывать панель tagbar в файлах C, не обязательно autocmd FileType c call tagbar#autoopen(0)

"Автоматически открывать панель tagbar в файлах Python, не обязательно autocmd FileType python call tagbar#autoopen(0)

"Вывести строку состояния, не обязательно

set laststatus=2

" Установить статус как git status (branch), не обязательно set statusline=%{FugitiveStatusline()}

Чтобы загрузить и установить эти плагины, выполните следующие команды:

$ vim +PluginInstall +qall

На экране должны появиться сообщения о загрузке и установке плагинов, заданных в файле конфигурации.

Книги для программистов: https://t.me/booksforits

38    Настройка среды разработки

В ходе редактирования и анализа исходного кода CPython обычно возникает необходимость в быстром переключении между методами, функциями и макросами. Простой поиск по тексту не отличит вызов или определение функции от ее реализации. Однако вы можете воспользоваться приложением ctags1 и проиндексировать исходные файлы на разных языках в базу данных с обычным текстом. Чтобы проиндексировать заголовки CPython для всех файлов C и Python в стандартной библиотеке, выполните следующий код:

$./configure $ make tags

Теперь откройте файл Python ceval.c в Vim:

$ vim Python/ceval.c

Статус Git должен отображаться в нижней строке, а справа в окне появляется список функций, макросов и переменных:

1 http://ctags.sourceforge.net/.

Книги для программистов: https://t.me/booksforits

Настройка Vim    39

Откройте файл Python — например, Lib subprocess.py:

$ vim Lib/subprocess.py

На панели tagbar будет выведена информация об импортированных именах, классах, методах и функциях:

В Vim можно переключаться между окнами клавишами Ctrl+W, перемещаться на правую панель клавишей L и использовать клавиши со стрелками для перемещения вверх и вниз между функциями.

Нажмите Enter, чтобы перейти к реализации любой функции. Чтобы вернуться к панели редактора, нажмите Ctrl+W, а затем H.

СМ. ТАКЖЕ

На сайте VIM Adventures1 представлен занятный способ изучения и за­ поминания команд Vim.

1 https://vim-adventures.com/.

Книги для программистов: https://t.me/booksforits