brain initiation

This commit is contained in:
2025-11-05 09:18:11 +01:00
commit 933aa8a985
191 changed files with 6203 additions and 0 deletions

59
20240130122737-elpy.org Normal file
View File

@@ -0,0 +1,59 @@
:PROPERTIES:
:ID: 33d3052d-e679-415d-98fa-56e210555539
:END:
#+title: elpy
Elpy is an [[id:5f1df0e1-384f-4685-ae1e-fec2431b04e5][emacs]] [[id:b7c4f849-d1b1-4837-8634-82f6976a1473][package]] to bring powerful [[id:ba15b77e-e9a2-4a21-b63f-b9b350ec811a][python]] editing to Emacs. It combines and configures a number of other packages, both written in Emacs Lisp as well as Python. Elpy is fully documented at [[https://elpy.readthedocs.io/en/latest/index.html][Readthedocs]]
* Installation
Elpy is available on [[id:79bae242-a2b4-4753-9960-1f929c8c6300][melpa]], the most straightforward way to install it is to use use-package:
#+begin_src lisp
(use-package elpy
:ensure t
:init
(elpy-enable))
#+end_src
* Quickstart
Once installed, Elpy will automatically provide code completion, syntax error highlighting and code hinting (in the modeline) for python files. Elpy offers a lot of features, but the following keybindings should be enough to get started:
** ~C-c C-C~
evaluates the current python script (or region if something is selected) in an interactive python shell. The python shell is automatically displayed aside of your script.
** ~C-Ret~
evaluates the current statement (current line plus the following nested lines).
** ~C-c C-z~
switches between your script and the interactive shell.
** ~C-c C-d~
displays documentation for the thing under cursor. The documentation will pop in a different buffer, that can be closed with ~q~.
* Emacs implementation
#+begin_src lisp
(use-package elpy
:ensure t
:hook ((elpy-mode . flycheck-mode)
(elpy-mode . (lambda ()
(set (make-local-variable 'company-backends)
'((elpy-company-backend :with company-yasnippet))))))
:init
(elpy-enable)
:config
(setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
(setq elpy-shell-echo-output nil)
(setq elpy-shell-echo-input nil)
(setq elpy-rpc-python-command "python3")
(setq elpy-rpc-timeout 2))
(when (require 'flycheck nil t)
(setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
(define-key elpy-mode-map (kbd "C-c p") 'flycheck-previous-error)
(define-key elpy-mode-map (kbd "C-c n") 'flycheck-next-error)
(add-hook 'elpy-mode-hook 'flycheck-mode))
#+end_src
In addition to that there is an entry in thea visual fill function for elpy:
#+begin_src lisp
(use-package visual-fill-column
:hook ((org-mode . diz/org-mode-visual-fill)
(matlab-mode . diz/org-mode-visual-fill)
(elpy-mode . diz/pyth-mode-visual-fill) # <- This line
(python-mode . diz/pyth-mode-visual-fill))) # <- and this one
#+end_src