Skip to main content
 首页 » 编程设计

python之如何让yasnippet支持emacs中的PyQt

2025年05月04日23落叶无声

我使用 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 的自动完成代码。 谢谢。

请您参考如下方法:

我不确定您是如何安装 yasnippets 的,但是,我使用了 el-get,我认为这对我要写的内容没有影响。

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

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

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

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