如何在 emacs 24 中停止 yasnippet 字段

How stop yasnippet field in emacs 24

我使用 elpy 和 yasnippet 使 emacs 成为 python 编辑器。

然后我使用 yasnipprt 构建了一个 class 对象,但我发现我不能像 sublime text 那样快地退出字段,在 double "return" 内。这意味着我必须将光标移动到 class 对象末尾使用的选项卡或键盘的行的开头,并在其中键入新代码,然后我可以退出 yasnippet 支持的 class 字段。

有没有人对退出字段有同样的困惑?

我在下面推送init.el代码,退出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)

我想你是在问如何在 yasnippet 中的字段之间跳转。

  • 要跳转到下一个字段,请按 TAB (yas-next-field-or-maybe-expand)
  • 要跳转到上一个字段,请按 S-TAB (yas-prev-field)
  • 要删除一个字段并移动到下一个字段,请使用 C-d (yas-skip-and-clear-or-delete-next-char)