У меня есть хранилище энергии мои файлы подкачки в единственном локальном каталоге при наличии этого в моем .vimrc:
set directory=~/.vim/swap,.
Среди других преимуществ, это делает файлы подкачки легкими найти внезапно. Теперь, когда мой ноутбук теряет питание или безотносительно и я отшатываюсь с набором наложения файлов подкачки вокруг, я просто выполняю мой cleanswap
сценарий:
TMPDIR=$(mktemp -d) || exit 1
RECTXT="$TMPDIR/vim.recovery.$USER.txt"
RECFN="$TMPDIR/vim.recovery.$USER.fn"
trap 'rm -f "$RECTXT" "$RECFN"; rmdir "$TMPDIR"' 0 1 2 3 15
for q in ~/.vim/swap/.*sw? ~/.vim/swap/*; do
[[ -f $q ]] || continue
rm -f "$RECTXT" "$RECFN"
vim -X -r "$q" \
-c "w! $RECTXT" \
-c "let fn=expand('%')" \
-c "new $RECFN" \
-c "exec setline( 1, fn )" \
-c w\! \
-c "qa"
if [[ ! -f $RECFN ]]; then
echo "nothing to recover from $q"
rm -f "$q"
continue
fi
CRNT="$(cat $RECFN)"
if diff --strip-trailing-cr --brief "$CRNT" "$RECTXT"; then
echo "removing redundant $q"
echo " for $CRNT"
rm -f "$q"
else
echo $q contains changes
vim -n -d "$CRNT" "$RECTXT"
rm -i "$q" || exit
fi
done
Это удалит любые файлы подкачки, которые актуальны с реальными файлами. Любой, которые не соответствуют, воспитывается в vimdiff окне, таким образом, я могу объединиться в своих несохраненных изменениях.
- Chouser
class MyClass(object):
def __init__(self, x, y, angle):
self.x = x
self.y = y
self.angle = angle
Конструктор всегда записывается как функция с именем __ init __ ()
. Он всегда должен принимать в качестве первого аргумента ссылку на создаваемый экземпляр. Обычно это называется self
. Остальные аргументы остаются на усмотрение программиста.
Объект
в первой строке является суперклассом, т.е. это говорит о том, что MyClass
является подклассом объекта
. Это нормально для определений классов Python.
Вы получаете доступ к полям (членам) экземпляра, используя self.
синтаксис.
Конструкторы объявляются с помощью __ init __ (self, other parameters)
, поэтому в этом случае:
def __init__(self, x, y, angle):
self.x = x
self.y = y
self.angle = angle
Подробнее об этом можно прочитать здесь: Определение класса в python
class MyClass(SuperClass): def __init__(self, *args, **kwargs): super(MyClass, self).__init__(*args, **kwargs) # do initialization