file-io - recordar - ordenar codigo en atom
Cómo detener la autocompletar para que no sobrescriba un archivo que se llama de forma similar (1)
Este es el comportamiento predeterminado de ido-mode. Hay dos cosas que puedes hacer al respecto:
- Una vez que haya escrito el nombre de archivo que desea, presione Cj en lugar de RET . Esto hace que ido-mode use el nombre de archivo exactamente como lo escribiste.
- Puede volver temporalmente al comportamiento "normal" del minibúfer presionando Cf. Luego puede tab-completar el nombre del archivo anterior y editarlo según sea necesario.
Soy un nuevo usuario de Emacs y .emacs
un archivo .emacs
de alguien en mi campo que me presentó a esta plataforma de programación. Sin embargo, he tenido algunos problemas al intentar guardar o crear nuevos archivos que tienen nombres similares a los que ya existen. Si intento crear un nuevo archivo que tiene un nombre que es relativamente similar a uno que existe, incluso si está en un directorio diferente, se abrirá el archivo existente. Al intentar guardar un archivo con un nombre más corto o similar a un archivo ya existente, Emacs intenta sobrescribir el archivo en lugar de crear uno nuevo.
Por ejemplo, estoy intentando guardar el archivo growth_loglike.tpl
pero ya tengo el archivo growth_loglike_ADMB2_End.tpl
en el directorio. Cuando voy a guardar y escribir en growth_loglike.tpl
, muestra [growth_loglike_ADMB2_End.tpl]
en verde a la derecha. Cuando growth_loglike_ADMB2_End.tpl
enter me pregunta si quiero sobrescribir growth_loglike_ADMB2_End.tpl
. Creo que este es un problema con el complemento de auto-complete
. ¿Hay alguna manera de desactivar temporalmente el auto-complete
? Al mirar el archivo auto-complete.el
, creo que necesito cambiar esta variable, pero no estoy seguro de qué (o si es correcto). Cualquier ayuda con esto sería extremadamente útil.
(defcustom ac-use-overriding-local-map nil
"Non-nil means `overriding-local-map'' will be used to hack for overriding key events on auto-copletion."
:type ''boolean
:group ''auto-complete)
Debajo está el archivo .emacs
que estoy usando.
;; This emacs configuration file will activate common packages
and
;; functionality used in the QFC Reproducable Reseach Workshop.
;; change this path to point to emacs directory in workshop on your computer:
;; (don''t forget to include a trailing slash!)
(defvar workshop-root "C:/Users/vince151/Documents/workshop/")
(defvar emacs-root (concat (file-name-as-directory workshop-root) "emacs/"))
;;=============================================================================
;;=============================================================================
;; 1. Misc Plug-ins
;; here are some paths to look for additional scripts and functions:
(add-to-list ''load-path (concat emacs-root "plugins/"))
;;=============================================================================
;; 2. YASnippet
(add-to-list ''load-path (concat emacs-root "plugins/yasnippet"))
(require ''yasnippet) ;; not yasnippet-bundle
(setq yas-snippet-dirs (concat emacs-root "plugins/yasnippet/snippets"))
(yas-global-mode 1)
;; timestamp used in some yasnippets
(defun now ()
"Insert string for the current time formatted like ''2:34 PM''."
(interactive) ; permit invocation in minibuffer
(insert (format-time-string "%D %-I:%M %p")))
;;=============================================================================
;; 3. Swap Slashes
;; swap slashes and backslashes in current line -- useful for converting paths to be Windows-readable
;;http://www.xsteve.at/prg/emacs/.emacs.txt
(defun xsteve-exchange-slash-and-backslash ()
"Exchanges / with / and in the current line or in the region when a region-mark is active."
(interactive)
(save-match-data
(save-excursion
(let ((replace-count 0)
(eol-pos (if mark-active (region-end) (progn (end-of-line) (point))))
(bol-pos (if mark-active (region-beginning) (progn (beginning-of-line) (point)))))
(goto-char bol-pos)
(while (re-search-forward "///|////" eol-pos t)
(setq replace-count (+ replace-count 1))
(cond ((string-equal (match-string 0) "/") (replace-match "////" nil nil))
((string-equal (match-string 0) "//") (replace-match "/" nil nil)))
(message (format "%d changes made." replace-count)))))))
(global-set-key (kbd "M-//") ''xsteve-exchange-slash-and-backslash)
;;==============================================================================
;; 4. Parenthesis highlighting
(require ''highlight-parentheses)
(setq hl-paren-colors ''("DodgerBlue1" "IndianRed" "cyan" "ForestGreen" "magenta" "SlateGrey"))
(defun hpm-on ()
(highlight-parentheses-mode t))
(add-hook ''admb-mode-hook ''hpm-on)
(add-hook ''ess-mode-hook ''hpm-on)
(add-hook ''inferior-ess-mode-hook ''hpm-on)
(add-hook ''latex-mode-hook ''hpm-on)
(add-hook ''LaTeX-mode-hook ''hpm-on)
;;=============================================================================
;; 5. ESS
;; path to current version of R: (This shouldn''t be needed if PATH is correct)
;;(setq-default
;; inferior-R-program-name
;; "C:/R/R-2.15.0/bin/i386/Rterm.exe")
(load (concat emacs-root "ESS/ess-13.09/lisp/ess-site"))
(setq ess-fancy-comments nil)
;; make pdflatex the default sweave compiler (removes texi2pdf)
(setq ess-swv-pdflatex-commands ''("pdflatex" "xelatex" "make"))
;;=============================================================================
;; 6. ADMB-ide
;; don''t forget to edit setADMBpaths.bat to point to your admb installation
(setq admb-init (concat emacs-root "setADMBpaths & "))
;; these commands were cut from admb.el
(load (concat emacs-root "plugins/admb"))
;; Edit .emacs so that `admb-mode'' is autoloaded and assigned to *.tpl files:
(autoload ''admb-mode "admb" "Edit ADMB code." t)
(add-to-list ''auto-mode-alist ''("//.tpl$" . admb-mode))
;; If you''re running Emacs in MS Windows, add a line so *.tpl files are not treated as binary:
(setq file-name-buffer-file-type-alist nil)
;; You may want to assign a mode that recognizes #comments in *.dat files (perl-mode, conf-space-mode, or R-mode):
(add-to-list ''auto-mode-alist ''("//.dat$" . perl-mode))
;;(add-to-list ''auto-mode-alist ''("//.dat$" . admb-mode))
;;(add-to-list ''auto-mode-alist ''("//.dat$" . easy-admb-hook))
;;added Monday, March 29, 2010 so that we can run models from within dat files
(add-hook ''perl-mode-hook
(lambda()
(define-key perl-mode-map [f9] ''admb-run)))
;;these commands were taken from Arni Magnusen''s emacs file distributed with ADMB-IDE
(defun easy-admb-hook ()
(local-set-key [f1] ''admb-help ) ; prefix
(local-set-key [f2] ''admb-mode ) ; prefix
;;(global-set-key [f3] ''conf-space-mode ) ; kmacro-start-macro-or-insert-counter
(local-set-key [f4] ''admb-toggle-window ) ; kmacro-end-or-call-macro
(local-set-key [f7] ''admb-tpl2cpp )
(local-set-key [f8] ''admb-build )
(local-set-key [f9] ''admb-run )
(local-set-key [S-f9] ''admb-run-args )
(local-set-key [f10] ''admb-rep ) ; menu-bar-open
(local-set-key [S-f10] ''admb-cor )
(local-set-key [?/C-.] ''admb-toggle-section))
(add-hook ''admb-mode-hook ''easy-admb-hook)
;;----------
;; C++
;;----------
(defun easy-gdb-hook ()
(message nil)
(setq indent-line-function ''gud-gdb-complete-command)
;;(setq gdb-show-main t)
(local-set-key [f5] ''gdb-restore-windows)
(local-set-key [M-up] ''gdb-io-buffer-off )
(local-set-key [M-down] ''gdb-io-buffer-on )
(local-set-key [?/C-c ?/C-q] ''comint-quit-subjob )
(defun gdb-io-buffer-off () "Enable separate IO buffer." (interactive)(gdb-use-separate-io-buffer nil))
(defun gdb-io-buffer-on () "Disable separate IO buffer." (interactive)(gdb-use-separate-io-buffer t)))
(add-hook ''gdb-mode-hook ''easy-gdb-hook)
;;=================
;; enable YASnippet
(add-hook ''admb-mode-hook ''yas/minor-mode-on)
(add-hook ''admb-mode-hook
(let ((original-command (lookup-key admb-mode-map [tab])))
`(lambda ()
(setq yas/fallback-behavior ''(apply ,original-command))
(local-set-key [tab] ''yas/expand))))
;;==============================================================================
;; 7. Git
;; path to git executable: (This shouldn''t be needed if PATH is correct)
;; (setq-default
;; magit-git-executable
;; "C:/gnu/git/bin/git.exe")
;;(require ''git)
(add-to-list ''load-path (concat emacs-root "plugins/git/magit"))
(load (concat emacs-root "plugins/git/magit/magit.el"))
(require ''magit)
;; use Ctrl-C G to start Git:
(global-set-key "/C-c/C-g" ''magit-status)
;; from: http://readystate4.com/2011/02/22/emacs-changing-magits-default-diff-colors/
;; change magit diff colors
(eval-after-load ''magit
''(progn
(set-face-foreground ''magit-diff-add "green3")
(set-face-foreground ''magit-diff-del "red3")
(when (not window-system)
(set-face-background ''magit-item-highlight "black"))))
;;==============================================================================
;; 8. autocomplete
(require ''auto-complete)
(add-to-list ''ac-dictionary-directories (concat emacs-root "plugins/ac-dict"))
(require ''auto-complete-config)
(ac-config-default)
;;========================================
;; 9. Bibtex database:
(setq reftex-default-bibliography
''("C:/Users/vince151/Documents/workshop/utils/references.bib"))
(setq reftex-default-bibliography
(concat workshop-root "utils/references.bib"))
(defvar reftex-file
(concat
(file-name-as-directory workshop-root) "utils/references.bib"))
(setq reftex-default-bibliography reftex-file)
;; Make TeX and RefTex aware of Snw and Rnw files
(setq reftex-file-extensions
''(("snw" "rnw" "Snw" "Rnw" "nw" "tex" ".tex" ".ltx") ("bib" ".bib")))
(setq TeX-file-extensions
''("snw" "rnw" "Snw" "Rnw" "nw" "tex" "sty" "cls" "ltx" "texi" "texinfo"))
(add-hook ''latex-mode-hook ''turn-on-reftex)
;;========================================
;; 10. Some functions to run bibtex and latex
(defun ac-run-bibtex ()
"Run BibTex on the current file."
(interactive)
(save-excursion
(let* ((latex-filename (file-name-sans-extension (buffer-file-name)))
(tex-buf (get-buffer-create " *ESS-bibtex-output*")))
(message "Running BibTex on ''%s'' ..." latex-filename)
(switch-to-buffer tex-buf)
(call-process "bibtex" nil tex-buf 1 latex-filename)
(switch-to-buffer (buffer-name))
(display-buffer tex-buf)
(message "Finished running BibTeX" ))))
(defun ac-run-pdflatex ()
"Run pdflatex on the current file."
(interactive)
(save-excursion
(let* ((namestem (file-name-sans-extension (buffer-file-name)))
(latex-filename (concat namestem ".tex"))
(tex-buf (get-buffer-create " *pdflatex-output*")))
(message "Running pdflatex on ''%s'' ..." latex-filename)
(switch-to-buffer tex-buf)
(call-process "pdflatex" nil tex-buf 1 latex-filename)
(switch-to-buffer (buffer-name))
(display-buffer tex-buf)
(message "Finished running pdflatex" ))))
;; terms associated with base name were added to create index files using makeindex
;; this function impliments the following sequence of calls:
;; pdflatex -> bibtex -> pdflatex -> makeindex -> pdflatex
(defun ac-run-lbll ()
"Run LaTeX-BibTex-Latex-Latex on the current file."
(interactive)
(save-excursion
(let* ((namestem (file-name-sans-extension (buffer-file-name)))
(latex-filename (concat namestem ".tex"))
(basename (file-name-nondirectory namestem))
(tex-buf (get-buffer-create " *lbll-output*")))
(message "Running LaTeX-BibTex-Latex-Latex on ''%s'' ..." latex-filename)
(switch-to-buffer tex-buf)
(call-process "pdflatex" nil tex-buf 1 latex-filename)
(call-process "bibtex" nil tex-buf 1 namestem)
(call-process "pdflatex" nil tex-buf 1 latex-filename)
(call-process "makeindex" nil tex-buf 1 basename)
(call-process "pdflatex" nil tex-buf 1 latex-filename)
(switch-to-buffer (buffer-name))
(display-buffer tex-buf)
(message "Finished running LaTeX-BibTex-Latex-Latex" ))))
(add-hook ''latex-mode-hook
(lambda ()
(define-key latex-mode-map [f9] ''ac-run-pdflatex)
)
)
;;========================================
;; 10. Other useful functions below this point
;;ispell - super cool spell checker for emacs
(setq-default ispell-program-name (concat emacs-root "aspell/bin/aspell.exe"))
;; get itspell to skip sweave chunks:
(add-to-list ''ispell-skip-region-alist ''("^<<.*>>=" . "^@"))
;;=============================================================================
;; use string rectangle for indentng blocks/regions of code
(global-set-key (kbd "C->") ''string-insert-rectangle)
;;=============================================================================
;;ido (from: http://www.emacswiki.org/emacs/InteractivelyDoThings)
(require ''ido)
(ido-mode t)
(setq ido-enable-flex-matching t) ;; enable fuzzy matching
;;=============================================================================
;; use ibuffer anytime we would have use buffer-list
(defalias ''list-buffers ''ibuffer)
; get rid of prompt that forces you to type full "yes" or "no".
; y or n is enough
(defalias ''yes-or-no-p ''y-or-n-p)
;;==============================================================================
;; from http://www.joegrossberg.com/archives/000182.html
;; enable recent file list - bound to C-x C-r
(require ''recentf)
(recentf-mode 1)
(setq recentf-max-menu-items 25)
(global-set-key "/C-x/ /C-r" ''recentf-open-files)
;;==============================================================================
;; from http://www.stokebloke.com/wordpress/2008/04/17/emacs-refresh-f5-key/
;; use f3 to refresh file in current buffer
;;(defun refresh-file ()
;; (interactive)
;; (revert-buffer t t t)
;; )
;;(global-set-key [f3] ''refresh-file)
;;
;;==============================================================================
;; copy path of current buffer to kill ring
;; from:http://stackoverflow.com/questions/3669511/
(defun copy-full-path-to-kill-ring ()
"copy buffer''s full path to kill ring"
(interactive)
(when buffer-file-name
(kill-new (file-truename buffer-file-name))))
(global-set-key "/C-cz" ''copy-full-path-to-kill-ring)
;;==============================================================================
;; keep emacs from cluttering working directories with tilde files by
;; placing them here:(concat emacs-root "tildes") instead of
;; wherever we''re working.
(defvar user-temporary-file-directory
(concat emacs-root "tildes/"))
(make-directory user-temporary-file-directory t)
(setq backup-by-copying t)
(setq backup-directory-alist
`(("." . ,user-temporary-file-directory)
(,tramp-file-name-regexp nil)))
(setq auto-save-list-file-prefix
(concat user-temporary-file-directory ".auto-saves-"))
(setq auto-save-file-name-transforms
`((".*" ,user-temporary-file-directory t)))
;;;============================================================================
; try to improve slow performance on windows.
;;Got this from a website that said this would help.
(setq w32-get-true-file-attributes nil)