Функция Emacs для сообщения функции python, в которой я находится

Я редактирую код Python с довольно длинными функциями и решил, что было бы полезно быстро получить имя функции без прокрутки. Я поместил этот бит кода вместе, чтобы сделать это. Есть ли что-то встроенное в emacs вообще или стандартный режим python, в частности, который я могу использовать вместо этого?

(defun python-show-function-name() "Message the name of the function the point is in" (interactive) (save-excursion (beginning-of-defun) (message (format "%s" (thing-at-point 'line))))) 

3 Solutions collect form web for “Функция Emacs для сообщения функции python, в которой я находится”

Вы можете найти достойные результаты с помощью режима-функции :

Какой режим функции является второстепенным режимом, который отображает текущее имя функции в строке режима, обновляя его при перемещении в буфере.

Чтобы включить или отключить какой режим функции, используйте команду Mx which-function-mode. Эта команда является глобальной; он применяется ко всем буферам, как существующим, так и тем, которые еще не созданы. Тем не менее, он вступает в силу только в некоторых основных режимах, перечисленных в значении которых-func-mode. Если значение равно t, то какой режим функции применяется ко всем основным режимам, которые знают, как его поддерживать, другими словами, все основные режимы, поддерживающие Imenu.

Хотя я вижу, что это немного запутано в одном файле Python, который у меня есть здесь …

Вы пытались py-beginning-of-def-or-class ?

 (defun python-show-function-name() "Message the name of the function the point is in" (interactive) (save-excursion (py-beginning-of-def-or-class) (message (format "%s" (thing-at-point 'line))))) 

Я нахожу, что это дает мне лучшие результаты, чем ваше beginning-of-defun , но если это не проблема, которую вы испытываете, то, возможно, я просто вижу еще один симптом причины неудобства в моем другом ответе .

Cc Cu (py-goto-block-up) может быть тем, что вы хотите.

  • Как подавить выходной буфер на python-режиме?
  • Emacs: Inferior-mode python-shell выглядит «отстающим»,
  • falke8 Ошибка атрибута: объект 'module' не имеет атрибута 'normalize_paths'
  • Поддержка IPython на Emacs 24.x
  • Emacs python-mode: сочетания клавиш для пошаговой отладки pdb
  • Имейте Emacs редактировать докстроны Python, используя rst-mode
  • Есть ли способ создать «файл проекта» в Emacs?
  • Как я могу использовать emacs-jedi для работы с конкретными проектами virtualenvs
  •  
    Interesting Posts for Van-Lav

    Что такое «Отображение символов типаError должно возвращать целое число …» в этом коде python?

    Можно ли создать встроенное исключение, но с другим сообщением в Python?

    Декоратор Python с опциями

    Как создать дерево JSON из табличной иерархии в Python

    Как решить пару нелинейных уравнений с использованием Python?

    MaxMind GeoIP2 – единственный экземпляр в Django

    Делайте попарное сравнение каждого элемента в двух наборах и возвращайте верхний рейтинг 3-го списка

    Где конфигурация huey для потребителей?

    Матричное умножение в Clojure vs Numpy

    Python, Timeout of Try, За исключением утверждения после X секунд?

    Обновление списка встроенных документов в mongoengine

    Комплексное преобразование набора данных в пандах

    Как я могу вернуть код статуса HTTP 204 из представления Django?

    Получение IP-адреса из HTTP-запроса POST с использованием Python

    Как получить размер терминала или размер шрифта в пикселях?

    Python - лучший язык программирования в мире.