======= List of useful shortcuts and tricks ======== ====== Brave ====== * Ctrl shift O: liste des favoris... ====== Tig ====== * tig puis s pour voir le statut puis ! devant le fichier changé pour retrouver l'ancienne version ====== Python ====== * Pour séparer les cellules, insérer #%% * a.shape: pour avoir la dimension du tableau **a** * plt.clf(): effacer figure * plt.savefig(): sauver une figure * plt.close(): fermer une figure. ===== Python et Emacs ===== * M-x imenu: pour avoir la liste des fonctions définies. * M-x occur: pour chercher facilement les occurences... * M-o: indentation. * Ctrl-c Ctrl-d: documentation (aide) * Ctrl-c Ctrl-z: switcher interpreteur-file (commencer par ca pour lancer l'interpreteur python) * Ctrl-e: apres avoir sélectionné du texte, l'envoie dans l'interpreteur. * Apres avoir fait un remplacement dans une partie selectionnée, on perd la sélection. Pour la retrouver, il suffit d'écrire M x exchange-point-and-mark ===== Jupyter et Emacs ===== * M-x indent-rigidly: puis fleche a gauche ou droite. * Execute Cell: C-c C-c * Execute Cell & Go to Next: M-RET * New Cell Above: C-c C-a * New Cell Below: C-c C-b * Merge Cell: C-c Enter * Split Cell: C-c C-s * Kill Cell: C-c C-k * Toggle Cell Type: C-c C-t * Change Cell Type: C-c C-u * Save Workbook: C-x C-s * Discard Cell Output: C-c C-l * Start Jupyter Server: M-x ein:jupyter-server-start * Stop Jupyter Server: M-x ein:jupyter-server-stop * [[https://millejoh.github.io/emacs-ipython-notebook/| documentation sur le package EIN ]] ====== Latex ====== * Pour avoir un argmax avec un $\theta \in \Theta$ bien en dessous, il suffit d'ecrire - \let\argmax\relax - \DeclareMathOperator*{\argmax}{arg\,max} * Ou bien \argmax\limits{\theta \in \Theta} * Package enumitem: * \begin{enumerate}[resume] pour reprendre la numérotation là où on l'avait laissé. * \begin{enumerate}[label=(\roman*)] * on peut remplacer \roman*(i,ii) par \alph*(a,b) ou \arabic* (1,2) ====== Vs Code ====== * Ctrl K S: affiche tous les raccourcis. * Ctrk K Q: va à la dernière édition. * Ctrl <: va à la dernière modif * Ctrl >: va à la modif suivante * Ctrl H Alt L: remplacer dans une selection. * Ctrl Espace: afficher suggestions. * Ctrl B : afficher/cacher le panneau latéral Installer l'extension bookmarks puis * Ctrl alt k: mettre un bookmark * Ctrl alt l: aller au bookmark suivant * Ctrl alt j: aller au bookmark precedent ====== Sumatra ====== * Ctrl B: pour bookmarker * Dans option pour reverse search avec VS code, écrire: "C:\Users\douc_ran\AppData\Local\Programs\Microsoft VS Code\Code.exe" -g "%f:%l" ====== Dokuwiki ====== * Titre de meme niveau: alt + shift + 8 * Titre de niveau inférieur: alt + shift + 9 * Ctrl+enter: pour sauver. ====== Git et Notebook ====== Pour utiliser Git et Notebook, il faut d'abord s'assurer qu'au moment Git push on n'inclue pas les outputs, ce qui permet d'eviter les conflits... Il y a le module nbstripout qui permet de faire ca automatiquement. Si on a pas encore installé nbstripout, faire le 1. Sinon, on passe directement à l'étape 2. - **Installation de nbstripout**. Pour installer module nbstripout * dans python, python3.10 -m pip install --upgrade nbstripout * si on a conda: conda install -c conda-forge nbstripout - **Une fois nbstripout installé**. Ouvrir Anaconda prompt. A partir d'Anaconda Prompt, se placer dans le répertoire Git où figure le notebook et taper nbstripout --install --attributes .gitattributes * 3. ** En cas de conflits. **Pour gérer les conflits (qui peuvent apparaitre dans les cellules markdowns ou dans les cellules de code), le mieux est d'utiliser: jupyter lab pour qui permet de gérer les conflits dans les notebooks. Pour plus d'infos pour gérer Git dans les notebooks, [[https://nocomplexity.com/documents/jupyterlab/tip-versioncontrol.html|cliquer ici]] ====== Git ====== * Voir les branches locales: git branch * Voir toutes les branches locales et distantes: git branch -a * Passer d'une branche a l autre: git checkout nom-de-la-branche * Pour créer une branche: git branch nomDeBranche * Pour detruire une branche locale: git branch -d branchADetruire * Si une branche est crée a distance et qu'on veut la recuperer... * git checkout nom-branche ====== Chrome ====== * Pour revenir sur une page dans chrome: alt+fleche gauche (page precedente) ou droite (page suivante) * Sur vi, pour faire la touche esc, faire Alt+espace ====== Termux ====== * Pour installer un package latex: tlmgr install nom_package * Pour chercher dans quel package se trouve bidule.sty * tlmgr search --global --file bidule.sty * texhash: reconstruire tout l index avec les nouveaux package installés * fmtutil-sys --all: reconstruire tous les fmt * sudo apt-get install texlive- : si on veut tout installer * tmux pour appeler tmux * Pour changer de panel sous tmux: C-b right or left arrow. * C-b x pour killer un panel * C-b % pour ouvrir un panel vertical * C-b `` pour ouvrir un panel horizontal * cd - pour aller a un repertoire precedent * En cas de pb avec OpenSSL (mismatch): pkg install openssh * Pour mettre tmux par defaut if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then tmux attach -t default || tmux new -s default fi fi ====== Emacs ====== Convention de notation: C pour Ctrl et M pour Alt * C-x h: tout sélectionner * C-x 0: tuer la mini-fenetre courante * C-x 1: tuer les autres minifenetre et garder la fenetre courange * C-x 2: creer une mini fenetre * C-x o: switcher d'une mini-fenetre à l'autre. * C-_: undo * C-u C-x=: permet de voir la font et de la changer de couleur * M-X customize-face: est plus direct pour voir la font et la changer... * C-space C-space: pose une marque invisible * C-u C-space: pour y revenir * pour poser la marque M s ou bien C space. Pour echanger la marque C x C x. * Pour selectionner tout le paragraphe, M h. * pour aller au tout debut du fichier M < et pour aller a la toute fin du fichier M > * pour effacer de la position courante jusqu au caractere 'x', il faut ecrire M z 'x' * pour commencer un environnment C-c C-e * pour commenter et decommenter: M-; * pour aller a la table des matieres C-c = * Pour ouvrir et fermer les accolades, M-espace * Pour ouvrir et fermer une equation, on fait M-p * Pour ouvrir et fermer crochets, on fait M-n * Pour voir la liste des fichiers recents, on fait C-z * Pour vérifier les accolades, on fait F12 ou C-) * C-c ( pour insérer un label * C-c ) + Enter + Space pour inserer une reference * C-c [ pour entrer une citation * C-c _ pour entrer le nom d un master file * C-c = pour aller a la table des matieres * C-t: aller a la fin du fichier * C-i: aller au debut du fichier * M-*: accolade apres avoir selectionne le texte ====== Elpy (Python in Emacs) ====== ===== Sur Emacs ===== * C-d: pour voir les help des fonctions. * C-c C-z: pour aller dans le python et inversement. * M-.: on se place sur une fonction, on ecrit le raccourci clavier et ca va sur la définition de la fonction. ===== Dans le shell interpreter ===== * M-p: move backward (derniere opération) * M_n: move forward ====== Code python ====== * Programme pour changer les dollars et doubles dollars en antislash parenthese ou crochet import re def replace_symbols(source_file, destination_file): try: with open(source_file, 'r') as source: with open(destination_file, 'w') as destination: content = source.read() # Remplacer les parties entre double dollars (comme $$...$$) par leurs équivalents \[...\] content = re.sub(r'\$\$(.*?)\$\$', r'\\[\1\\]', content, flags=re.DOTALL) # Remplacer les parties entre dollars (comme $...$) par leurs équivalents \(...\) content = re.sub(r'\$(.*?)\$', r'\\(\1\\)', content, flags=re.DOTALL) destination.write(content) except FileNotFoundError: print("Fichier source non trouvé.") except Exception as e: print("Une erreur est survenue :", str(e)) else: print("Remplacement terminé avec succès!") # Exemple d'utilisation source_file = "exos.tex" destination_file = "sortie.tex" replace_symbols(source_file, destination_file) ====== settings.json pour VsCode ====== { "latex-workshop.synctex.synctexjs.enabled": true, "latex-workshop.synctex.afterBuild.enabled": true, "latex-workshop.view.pdf.viewer": "tab", "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click", "security.workspace.trust.untrustedFiles": "open", "latex-workshop.view.pdf.zoom": "page-width", "editor.wordWrap": "on", "latex-workshop.view.pdf.tab.editorGroup": "below", "editor.bracketPairColorization.enabled": true, "latex-workshop.message.update.show": false, "latex-workshop.message.warning.show": false, "latex-workshop.message.error.show": false, "latex-workshop.message.information.show": false, "git.confirmSync": false, "git.untrackedChanges": "hidden", "editor.suggestSelection": "first", "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", "workbench.editorAssociations": { "*.ipynb": "jupyter-notebook" }, "notebook.cellToolbarLocation": { "default": "right", "jupyter-notebook": "left" }, "python.defaultInterpreterPath": "C:\\Users\\douc_ran\\Anaconda3\\python.exe", "mdmath.macroFile": "C:\\Users\\douc_ran\\OneDrive\\mymacros.json", "editor.fontSize": 12, "editor.suggest.showStatusBar": true, "editor.suggest.insertMode": "insert", "markdown.extension.katex.macros": { "\\PP": "\\mathbb{P}" }, "window.zoomLevel": 1, "latex-workshop.view.pdf.external.synctex": { "command": "C:\\Users\\douc_ran\\AppData\\Local\\SumatraPDF", "args": [ "-forward-search", "%TEX%", "%LINE%", "-reuse-instance", "-inverse-search", "code \"C:\\Users\\douc_ran\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\outcli.js\" -r -g \"%f:%l\"", "%PDF%", ] }, "jupyter.interactiveWindowMode": "perFile", "[python]": { "editor.formatOnType": true }, "files.autoSave": "afterDelay", "git.openRepositoryInParentFolders": "always", "lightrun.certificatePinningList": [ "515a630cfd1fb908e30087bcc20b7413ad146b9bf2b23d3aaa72c28e45b24fb2", "ee80811b38e7e6c2dc4cc372cbea86bd86b446b012e427f2e19bf094afba5d12" ], "lightrun.serverURL": "https://app.lightrun.com", "lightrun.sendSourceFullPath": true, "git-graph.maxDepthOfRepoSearch": 1, "git.autofetch": true, }