:PROPERTIES: :ID: 7ace5c18-4a57-43bb-8653-1fe0e62e0b30 :END: #+title: Emacs #+filetags: emacs éditeur [[id:d15dea51-9e81-4c33-a1f7-5a589da517f8][Doom emacs]] * Configuration ** Emacs et EDITOR EDITOR="emacsclient -c" Ne pas utiliser l'option -n * Astuces ** Accent issues when pasting from clipboard (Windows) C-x RET x (set-selection-coding-system) and choose utf-16-le ** Jump to and from function definition M-. (xref-pop-marker-stack): jump to definition M-? (xref-find-references): find all occurences M-, (xref-find-definitions): q ** Override completion C-j pour ne pas utiliser le premier résultat * SSH, FTP, sudo =SPC f f= puis #+begin_src sh /protocol:user@host:/file.txt #+end_src SSh avec alias #+begin_src sh /ssh:myalias: #+end_src SSH sans alias #+begin_src sh /ssh:john@myhost:/home/john/ #+end_src * Grep + sed Chercher et éditer directement le résultats 1. chercher avec ripgrep =SPC s p= 2. Mettre le résultat dans un buffer `C-c C-o` (`ivy-occur`) 3. Editer le buffer avec `i` (`ivy-wgrep-change-to-wgrep`) * Calc Embedded-mode : évalue formule sous le curseur * Torrents with emacs ** What works Nginx + URL #+begin_example server { listen 8000; server_name localhost; access_log /var/log/nginx/rtorrent_access.log; error_log /var/log/nginx/rtorrent_error.log; location /RPC2 { root /torrents; # auth_basic "Restricted"; # auth_basic_user_file /etc/nginx/.htpasswd; scgi_pass 127.0.0.1:5000; # scgi_pass unix:/torrents/rtorrent.sock; include scgi_params; } #+end_example And for rtorrent #+begin_example network.scgi.open_port = 127.0.0.1:5000 #+end_example And in emacs #+begin_example (setq mentor-rtorrent-external-rpc "http://127.0.0.1:8000/RPC2") #+end_example ** More secure : with a socket We create a group to be able to write the socket #+begin_example sudo groupadd rtorrent-socket sudo gpasswd -a alex rtorrent-socket sudo gpasswd -a nginx rtorrent-socket sudo chown -R nginx:rtorrent-socket /torrents/ sudo chmod 775 -R /torrents/ su - alex # To be able to start #+end_example Rtorrent : hack we need to change both ownership and permissions + daemon mode #+begin_example # For use with emacs with the mentor package network.scgi.open_local = /torrents/rtorrent.sock # Change ownership to propergroup schedule2 = scgi_permission1, 0, 0, "execute.nothrow=chown,alex:rtorrent-socket,/torrents/rtorrent.sock" # Make SCGI socket group-writable and secure schedule2 = scgi_permission2, 2, 0, "execute.nothrow=chmod,770,/torrents/rtorrent.sock" system.daemon.set = true #+end_example Emacs #+begin_example (setq mentor-rtorrent-external-rpc "/torrents/rtorrent.sock") #+end_example Update : it seems to work without nginx with a socket ?? * [[id:9b1e90c5-4614-40b6-ae6c-5e9c89c4488e][Org-mode]] * Langages ** [[id:2e84138f-7559-4933-8e8b-345c5a03fe8b][Haskell]] * Divers =yas-describe-tables= pour voir les snippets * Presentation ** org mode -> beamer ** org-mode -> reveal.js #+begin_example REVEAL_TRANS ,#+OPTIONS: toc:nil ,#+OPTIONS: reveal_width:2100 reveal_height:1000 ,#+REVEAL_TRANS: nil \****** TODO DP 1 \****** DP1 \****** homme de 54 ans, tabagique au long cours et hypertendu depuis 12 ans (traitement par inhibiteur calcique), consulte \****** n médecin traitant pour un épisode isolé d'hématurie macroscopique totale, sans caillot. Il a pour autre antécédent une \****** pendicectomie dans l'enfance. L'hémogramme est le suivant : Hb 10,4 g/dL (VGM 78 µm3), GB 8 G/L, plaquettes 247 #+end_example Puis SPC m e v b * Tramp SSH + sudo : /[[ssh:you@remotehost%7Cdoas]]:: ou /[[ssh:you@remotehost%7Csudo]]:: Sauvegarder session : [[https://emacs.stackexchange.com/questions/26560/bookmarking-remote-directories-trampsudo]] (add-to-list 'tramp-default-proxies-alist '("\\`mydomain\\'" "\\`root\\'" "/sshx:user@%h:")) ** Difficulté avec projectile Il faut les executabs sur la machirne distance (fd et rg) Pour nix, on peut éditer le bashrc distant et ajouter #+begin_src lisp (after! tramp (add-to-list 'tramp-remote-path 'tramp-own-remote-path)) #+end_src En cas de couleur "intempestive", on peut forcer fd à ne pas utiliser de couleurs: (setq projectile-git-fd-args "-0 -H --color=never --type file --exclude .git --strip-cwd-prefix") Puis vider le cache avec SPC p i * IRC Doom-emacs utilise circe, à démarrer avec ==irc= (et non circe)