2

我使用 emacs 作为 Python IDE。我已经安装了 yasnippet,但我怎样才能让它支持 PyQt?这是我的 .emacs:

(require 'auto-complete)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/dict")
(require 'auto-complete-config)
(if (load "auto-complete-scite-api" t)
    (setq-default ac-sources (cons 'ac-source-scite-api ac-sources)))
(ac-config-default)

(require 'auto-complete-yasnippet)
(require 'pymacs)
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)

(require 'python)
(require 'yasnippet)
(yas/initialize)
(yas/load-directory "~/.emacs.d/plugins/yasnippet/snippets")
(yas/global-mode 1)
(require 'python-mode)

(require 'django-html-mode)
(require 'django-mode)
(yas/load-directory "/home/jactry/.emacs.d/snippets")
(add-to-list 'auto-mode-alist '("\\.djhtml$" . django-html-mode))

(autoload 'python-mode "python-mode" "Python Mode." t)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-to-list 'interpreter-mode-alist '("python" . python-mode))

我使用 Ubuntu 并安装了自动完成和 yasnippt,我想让我的 emacs 有一个 PyQt 的代码 autp 完成。谢谢。

4

1 回答 1

0

我不确定你是如何安装yasnippets的,但是我使用了 el-get 并且我认为这与我将要写的内容无关紧要。

  1. 创建一个名为~/.emacs.d/snippets/pyqt
  2. 在 emacs 中打开一个 pyqt 文件。
  3. 在 YaSnippet 顶部菜单下,选择New Snippet(或C+c & C+n)
  4. 仅使用您要点击的片段字母保存文件。我的示例文件保存为l
  5. 完成保存后,使用Reload Everythingwell 重新加载您的片段,这就是我所做的,另一个对我来说太挑剔了。

你会得到一个看起来像这样的文件,只有我填写了:

# -*- mode: snippet -*-
# name: label (l)
# key: l
# --
<label>
  $0
</label>

应该是这样的。您可能需要在目录名称中调整 PyQt,但它应该全部小写。干杯。

于 2012-05-02T14:20:38.837 回答