From ff389e5c27bede144790b94ba46654a79134383b Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 31 Aug 2016 22:12:05 +0300 Subject: [PATCH] =?utf8?q?:cdo=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4?= =?utf8?q?=D0=B0=20=D0=B8=20=D0=BF=D0=BE=D0=B4=D1=87=D0=B8=D1=81=D1=82?= =?utf8?q?=D0=BA=D0=B0=20Python=20=D0=B8=D0=BC=D0=BF=D0=BE=D1=80=D1=82?= =?utf8?q?=D0=BE=D0=B2=20=D0=BD=D0=B5=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?utf8?q?=D0=B7=D1=83=D0=B5=D0=BC=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Не редко в Python возникает необходимость перенести какие-то функции/определения в другой файл/модуль. Кроме переноса самих функций нужно ещё и их зависимости прописать. Сегодня обнаружил, как мне кажется, очень простой способ: * просто переносим *все* импорты из исходного как есть * натравливаем pylint, вывод которого должен попасть в quickfix * в quickfix при этом должны быть только сплошные сообщения unused-import * делаем :cdo d Само собой подразумевается что имеется работающий и настроенный на quickfix pylint, подразумевается что используется "каноничный" формат импортов (по импорту на строку, http://git.stargrave.org/cgit.cgi/pyimportcan.git/tree/pyimportcan.pl). Вся "фишка" в :cdo d. Эта команда для каждой строчки quickfix-а выполняет заданную команду. Для unused-import нужно просто удалить строку. Благодаря quickfix -- все смещённые строки будут им учтены и поэтому переход на следующие элементы quickfix проходит как ожидается. -- 2.50.0