2015-04-13 4 views
0

J'utilise elpy et yasnippet pour faire d'emacs un éditeur python.Comment arrêter le champ yasnippet dans emacs 24

Puis-je utiliser yasnipprt pour construire un objet de classe, mais je trouve que je ne peux pas quitter le terrain aussi vite que le texte sublime peut, dans deux « retour ». Cela signifie que je dois déplacer le curseur au début de la ligne utilisée onglet ou clavier un par un à la fin de l'objet de classe, et tapez le nouveau code, puis je peux quitter le champ de classe que yasnippet pris en charge.

Quelqu'un at-il eu la même confusion sur le champ de sortie?

Je pousse le code init.el ci-dessous, et quelle est la clé de sortie de champ yasnippet?

(require 'package) 
(add-to-list 'package-archives 
     '("melpa" . "http://melpa.milkbox.net/packages/") t) 

;;;(add-to-list 'package-archives 
;;;  '("elpy" . "http://jorgenschaefer.github.io/packages/")) 

(package-initialize) 
(elpy-enable) 

(add-to-list 'load-path 
     "~/.emacs.d/yasnippet") 
(require 'yasnippet) 
(yas-global-mode 1) 

(c-add-style 
"python-new" 
'((indent-tabs-mode . 4) 
(fill-column  . 78) 
(c-basic-offset . 4) 
(c-offsets-alist . ((substatement-open . 0) 
     (inextern-lang . 0) 
     (arglist-intro . +) 
     (knr-argdecl-intro . +))) 
(c-hanging-braces-alist . ((brace-list-open) 
       (brace-list-intro) 
       (brace-list-close) 
       (brace-entry-open) 
       (substatement-open after) 
       (block-close . c-snug-do-while))) 
(c-block-comment-prefix . "* ")) 
) 

;; This is a very crude hook that auto-selects the C style depending on 
;; whether it finds a line starting with tab in the first 3000 characters 
;; in the file 
(defun c-select-style() 
(save-excursion 
    (if (re-search-forward "^\t" 3000 t) 
    (c-set-style "python") 
    (c-set-style "python-new")))) 
(add-hook 'c-mode-hook 'c-select-style) 
+1

Votre question n'est pas tout à fait claire. Demandez-vous comment sauter entre les champs tout en développant un extrait? – Chris

+0

Je suis désolé pour mon mauvais anglais et merci pour votre patience. Je voudrais demander des champs de saut (je pense que c'est le même sens par le vôtre). – ccQpein

Répondre

2

Je pense que vous vous demandez comment sauter entre les champs dans yasnippet.

  • Pour passer au prochain champ presse TAB (yas-next-field-or-maybe-expand)
  • Pour passer au champ précédent, appuyez sur S-TAB (yas-prev-field)
  • Pour supprimer un champ et passer au champ suivant, utilisez C-d (yas-skip-and-clear-or-delete-next-char)