X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=emacs.el;h=eaa1011d1e7b7b37b83b28211d36c3a5d89a744f;hb=7a17c8bf041a7c222b217b53d36647eaff2ba3d7;hp=8d4c2f0993bcc51a2c9decdc54ed734d35ab047a;hpb=331cbade24e846632e1e8d40af0813b3158a76ff;p=elisp.git diff --git a/emacs.el b/emacs.el index 8d4c2f0..eaa1011 100644 --- a/emacs.el +++ b/emacs.el @@ -18,6 +18,15 @@ ;; Contact for comments & bug reports ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Ugly hack because 23.2 is not installed properly in my Debian + +(when (and (>= emacs-major-version 23) + (>= emacs-minor-version 2)) + (add-to-list 'load-path "/usr/share/emacs/site-lisp/vm/") + (add-to-list 'load-path "/usr/share/emacs/site-lisp/bbdb/lisp/") + (add-to-list 'load-path "/usr/share/emacs/site-lisp/mailcrypt/") +) + ;; It's better to set the preferences in the .Xresources so that the ;; window is not first displayed with the wrong options @@ -650,10 +659,10 @@ occurrences " (setq ps-print-color-p nil ;; ps-paper-type 'letter ps-paper-type 'a4 - ps-top-margin (* 1.75 56.692) - ps-left-margin 56.692 - ps-bottom-margin 56.692 - ps-right-margin 56.692 + ;; ps-top-margin (* 1.75 56.692) + ;; ps-left-margin 56.692 + ;; ps-bottom-margin 56.692 + ;; ps-right-margin 56.692 ;; Simple header. Remove that silly frame shadow. ps-print-header nil @@ -672,6 +681,26 @@ occurrences " ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; http://blog.tuxicity.se/elisp/emacs/2010/03/26/rename-file-and-buffer-in-emacs.htm + +(defun rename-file-and-buffer () + "Renames current buffer and file it is visiting." + (interactive) + (let ((name (buffer-name)) + (filename (buffer-file-name))) + (if (not (and filename (file-exists-p filename))) + (message "Buffer '%s' is not visiting a file!" name) + (let ((new-name (read-file-name "New name: " filename))) + (cond ((get-buffer new-name) + (message "A buffer named '%s' already exists!" new-name)) + (t + (rename-file name new-name 1) + (rename-buffer new-name) + (set-visited-file-name new-name) + (set-buffer-modified-p nil))))))) + +(global-set-key (kbd "C-c r") 'rename-file-and-buffer) + (defun ff/non-existing-filename (dir prefix suffix) "Returns a filename of the form DIR/PREFIX[.n].SUFFIX whose file does not exist" @@ -1401,15 +1430,26 @@ universal argument starts xfig even if the .fig does not exist" %% \\usepackage{hyperref} %% \\usepackage{harvard} +\\setlength{\\parindent}{0cm} +\\setlength{\\parskip}{12pt} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Sans serif fonts %% \\usepackage[T1]{fontenc} %% \\usepackage[scaled]{helvet} %% \\usepackage[cm]{sfmath} %% \\renewcommand{\\ttdefault}{pcr} %% \\renewcommand*\\familydefault{\\sfdefault} - -\\setlength{\\parindent}{0cm} -\\setlength{\\parskip}{12pt} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Draft layout +%% \\setlength{\\parindent}{1cm} +%% \\renewcommand{\\baselinestretch}{2.0} +%% \\setlength{\\oddsidemargin}{-0.6cm} +%% \\setlength{\\evensidemargin}{0cm} +%% \\setlength{\\textwidth}{17.5cm} +%% \\setlength{\\textheight}{23cm} +%% \\setlength{\\topmargin}{-1.5cm} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% \\renewcommand{\\baselinestretch}{1.3} @@ -1462,6 +1502,14 @@ universal argument starts xfig even if the .fig does not exist" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(defun ff/remove-ip-header () (interactive) + (save-excursion + (goto-char (point-min)) + (when (and (re-search-forward "START_IP_HEADER" nil t) + (re-search-forward "END_IP_HEADER" nil t)) + (message "yep")) + )) + (defun ff/add-gpl () "Adds the GPL statements at the beginning of current buffer." (interactive) @@ -1522,6 +1570,24 @@ END_IP_HEADER ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(defun ff/start-c () + "Adds the header to start a C program." + (interactive) + ;; (beginning-of-buffer) + (insert + " +#include +#include + +int main(int argc, char **argv) { + exit(EXIT_SUCCESS); +} +") + (previous-line 2) + ) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (defun ff/start-c++ () "Adds the header to start a C++ program." (interactive) @@ -1762,6 +1828,11 @@ a file in /tmp" (previous-line 1) ) + (when (string-match "\\.c$" filename) + (c-mode) + (ff/add-copyrights) + (ff/start-c)) + (when (string-match "\\.cc$" filename) (c++-mode) (ff/add-copyrights) @@ -2340,6 +2411,7 @@ proposes to visit them." (define-key ff/map [(control g)] 'ff/git-status) (define-key ff/map [(control w)] 'server-edit) (define-key ff/map [(control d)] 'ff/elisp-debug-on) +(define-key ff/map "d" 'diary) (define-key ff/map [(control \`)] 'ff/bash-new-buffer) (define-key ff/map [(control n)] 'enotes/show-all-notes) (define-key ff/map [(control s)] 'ff/secure-note-add) @@ -2351,6 +2423,7 @@ proposes to visit them." (define-key ff/map [(control c)] 'calendar) ;; (define-key ff/map [(control c)] (lambda () (interactive) (save-excursion (calendar)))) (define-key ff/map [(control l)] 'goto-line) +(define-key ff/map "l" 'longlines-mode) (define-key ff/map [(control o)] 'selector/quick-pick-recent) (define-key ff/map "s" 'selector/quick-move-in-buffer) (define-key ff/map "S" 'selector/search-sentence)