(define-key global-map [(control c) (control q)] 'ff/delete-trailing-whitespaces-and-indent)
+(define-key global-map [(control x) (control o)] 'other-window)
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Playing sounds
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(ff/goto-function-definition t)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; The big stuff (bbdb, mailcrypt, etc.)
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; (setq python-indent-offset 4)
+
+;; (define-key python-mode-map [(shift right)] 'python-indent-shift-right)
+;; (define-key python-mode-map [(shift left)] 'python-indent-shift-left)
+;; (define-key python-mode-map [(shift right)] 'indent-rigidly-right-to-tab-stop)
+;; (define-key python-mode-map [(shift left)] 'indent-rigidly-left-to-tab-stop)
(load "vc-git")
+(defun ff/git-pull-push () (interactive)
+ (message "git pull / push ...")
+ (shell-command "git pull && git push" nil)
+ )
+
+(defun ff/git-pull () (interactive)
+ (message "git pull ...")
+ (shell-command "git pull" nil)
+ )
+
+(define-key global-map [(control x) (v) (p)] 'ff/git-pull-push)
+(define-key global-map [(control x) (v) (P)] 'ff/git-pull)
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; The big stuff (bbdb, mailcrypt, etc.)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
(setq bbdb-file "~/private/bbdb")
-(if (file-exists-p bbdb-file)
+(when (file-exists-p bbdb-file)
- ;; Failsafe version if we can't load bbdb
- (defun ff/explicit-name (email) email)
+ ;; Failsafe version if we can't load bbdb
+ (defun ff/explicit-name (email) email)
(when (ff/load-or-alert "bbdb")
;; Automagically add the frame numbers in comments in a beamer file
-(defun number-beamer-frames ()
+(defun ff/number-beamer-frames ()
"Add the frame numbers as comments after each \begin{frame}"
(interactive)
require 'torch'
require 'nn'
-require 'nnx'
-require 'optim'
require 'image'
-require 'pl'
-require 'paths'
-require 'ffmpeg'
+require 'optim'
")
(lua-mode)
)
+(defun ff/start-python ()
+ "Adds all the stuff to start a new python file"
+ (interactive)
+ (goto-char (point-min))
+ (insert "#!/usr/bin/env python-for-pytorch
+
+import torch
+import math
+
+from torch import nn
+from torch.nn import functional as fn
+
+from torch import Tensor
+from torch.autograd import Variable
+from torch.nn.parameter import Parameter
+from torch.nn import Module
+
+")
+ (python-mode)
+ )
+
(defun ff/start-html ()
"Adds all that stuff to start a new HTML file."
(interactive "P")
(let ((line (if arg "cerr" "cout")))
(goto-char (point-at-bol))
- ;; Regexp syntax sucks moose balls, honnest. To match '[', just
- ;; put it as the first char in the [...] ... This leads to some
- ;; obvious things like the following
+ ;; To match '[', put it as the first char in the [...]
(while (re-search-forward "\\([][a-zA-Z0-9_.:\(\)]+\\)" (point-at-eol) t)
(setq line
(concat line " << \" "
(ff/start-lua)
)
+ (when (string-match "\\.py$" filename)
+ (python-mode)
+ (ff/start-python)
+ )
+
(when (string-match "\\.html$" filename)
(html-mode)
(ff/start-html)
(setq compilation-read-command t
compile-command "make -j -k"
- compile-history '("make clean" "make DEBUG=yes -j -k" "make -j -k")
+ ;; compile-history '("make clean" "make DEBUG=yes -j -k" "make -j -k")
)
(defun ff/universal-compile (universal) (interactive "P")
;; The fridge!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(defun ff/move-region-to-fridge () (interactive)
+(defun ff/move-region-to-fridge (&optional universal) (interactive "P")
"Cut the current region, paste it in a file called ./fridge
with a time tag, and save this file"
(unless (use-region-p) (error "No region selected"))
(let ((bn (file-name-nondirectory (buffer-file-name))))
- (kill-region (region-beginning) (region-end))
+ (if universal
+ (copy-region-as-kill (region-beginning) (region-end))
+ (kill-region (region-beginning) (region-end))
+ )
(with-current-buffer (find-file-noselect "fridge")
(goto-char (point-max))
(insert "\n")
(setq ff/map (make-sparse-keymap))
(define-key global-map [(control \`)] ff/map)
+;; (defun ff/start-stop-macro-recording () (interactive)
+ ;; (if (or defining-kbd-macro executing-kbd-macro)
+ ;; (kmacro-end-macro)
+ ;; (kmacro-start-macro))
+ ;; )
+
+;; (define-key global-map [(shift return)] 'ff/start-stop-macro-recording)
+
(unless window-system
;; (define-key global-map [(control @)] ff/map)
(define-key global-map [(meta O) \`] ff/map)
(define-key ff/map [(control m)] 'woman)
(define-key ff/map "b" 'bookmark-jump)
(define-key ff/map [(control =)] 'calc)
-(define-key ff/map "=" 'number-beamer-frames)
+(define-key ff/map "=" 'ff/number-beamer-frames)
(define-key ff/map [(control shift b)]
(lambda () (interactive)
(bookmark-set)