Emacs:Ansi术语未完成制表符

Emacs:Ansi术语未完成制表符,emacs,Emacs,我最近安装了一些软件包,这样我就可以从emacs上编程iOS应用程序,但我遇到了一些麻烦。其中一个软件包(我很确定它是自动完成的)阻止了ansi术语中的制表符完成。每当我尝试制表符完成时,都会出现错误“错误类型参数:characterp,tab” 这是我的.emacs文件: ; Add packages (add-to-list 'load-path "~/.emacs.d/elpa") (add-to-list 'load-path "~/.emacs.d/packages") (requi

我最近安装了一些软件包,这样我就可以从emacs上编程iOS应用程序,但我遇到了一些麻烦。其中一个软件包(我很确定它是自动完成的)阻止了ansi术语中的制表符完成。每当我尝试制表符完成时,都会出现错误“错误类型参数:characterp,tab”

这是我的.emacs文件:

; Add packages
(add-to-list 'load-path "~/.emacs.d/elpa")
(add-to-list 'load-path "~/.emacs.d/packages")

(require 'package)

; Package sources
(add-to-list 'package-archives 
    '("marmalade" .
      "http://marmalade-repo.org/packages/"))
(add-to-list 'package-archives
    '("melpa" .
            "http://melpa.milkbox.net/packages/") t)

(package-initialize)

; Check packages were loaded
(require 'linum-relative)
(require 'git-gutter-fringe)
(require 'yasnippet)
(require 'auto-complete-config)

; Enable packages
(elscreen-start)

; Config
; Color scheme
(load-file "~/.emacs.d/themes/color-theme-wombat.el")

; Enable snippets
(yas-global-mode 1)

; Copy/paste with the system clipboard
(setq x-select-enable-clipboard t)

; Enable relative line numbers
(global-linum-mode t)

; Enable git gutter
(global-git-gutter-mode t)
(setq git-gutter-fr:side 'left-fringe)

; Darker git gutter colors
(set-face-foreground 'git-gutter-fr:modified "#ccaa8f")
(set-face-foreground 'git-gutter-fr:added    "#333366")
(set-face-foreground 'git-gutter-fr:deleted  "#e5786d")

; C-x -> arrow changes windows
(global-set-key (kbd "C-x <up>") 'windmove-up)
(global-set-key (kbd "C-x <down>") 'windmove-down)
(global-set-key (kbd "C-x <right>") 'windmove-right)
(global-set-key (kbd "C-x <left>") 'windmove-left)

; Hide everything that isn't text
(tool-bar-mode -1)
(scroll-bar-mode -1)
(menu-bar-mode -1)

; Move backups
(setq backup-directory-alist
  `((".*" . ,"~/.emacsbackups")))
(setq auto-save-file-name-transforms
  `((".*" ,"~/.emacstemps" t)))
(setq backup-by-copying t)

; Autocomplete settings
;when to use autocomplete (note yasnippits)
(setq-default ac-sources '(ac-source-yasnippet ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers))
(global-auto-complete-mode t)
(add-to-list 'ac-modes 'objc-mode) ; For iOS dev
;添加包
(添加到列表“加载路径”~/.emacs.d/elpa”)
(添加到列表“加载路径”~/.emacs.d/packages”)
(需要“包”)
; 包源
(添加到“文件包档案”列表中
(“果酱”。
"http://marmalade-repo.org/packages/"))
(添加到“文件包档案”列表中
“(“梅尔帕”。
"http://melpa.milkbox.net/packages/)t)
(包初始化)
; 检查是否已加载包
(需要“linum亲戚”)
(需要“git排水沟边缘”)
(需要“yasnippet”)
(需要“自动完成配置”)
; 启用包
(屏幕启动)
; 配置
; 配色方案
(加载文件“~/.emacs.d/themes/color-theme-wombat.el”)
; 启用代码段
(yas全球模式1)
; 使用系统剪贴板复制/粘贴
(setq x-select-enable-t)
; 启用相对行号
(全局linum模式t)
; 启用git排水沟
(全球git排水沟模式t)
(设置git排水沟fr:左侧边缘)
; 较深的git边沟颜色
(设置面前景“git排水沟fr:修改”#ccaa8f)
(设置正面前景'git排水沟fr:添加“#333366”)
(设置面前景'git排水沟fr:删除“#e5786d”)
; C-x->箭头更改窗口
(全局设置键(kbd“C-x”)‘windmove up)
(全局设置键(kbd“C-x”)“windmove down”
(全局设置键(kbd“C-x”)‘windmove right)
(全局设置键(kbd“C-x”)‘windmove left)
; 隐藏所有不是文本的内容
(工具栏模式-1)
(滚动条模式-1)
(菜单栏模式-1)
; 移动备份
(setq备份目录列表)
`((“*”、~/.emacsbackups”))
(setq自动保存文件名转换)
`((“*”,“~/.emacstemps”t)))
(通过复制t进行setq备份)
; 自动完成设置
;何时使用自动完成(请注意)
(setq默认交流电源(交流电源yasnippet交流电源abbrev交流电源字典相同模式缓冲区中的交流电源字))
(全局自动完成模式t)
(添加至列表“交流模式”objc模式);对于iOS开发人员

好的,我修好了。问题出在yasnippets上,但是关于链接的建议不起作用。由于某些原因,将yas次要模式设置为-1不起作用。我所要做的就是让yas不要激活某个东西

建议的解决方案对我不起作用:

(add-hook 'term-mode-hook (lambda()
                (yas-minor-mode -1)))
(add-hook 'term-mode-hook (lambda()
        (setq yas-dont-activate t)))
什么对我有用:

(add-hook 'term-mode-hook (lambda()
                (yas-minor-mode -1)))
(add-hook 'term-mode-hook (lambda()
        (setq yas-dont-activate t)))

我正在运行emacs 23.4.1

用户1539179提供的方法通过在使用shell模式时不活动yasnippets模式来工作。有一个小问题,在我打开ansi术语后,我不能再使用yasnippet模式。例如,如果在ansi术语之后打开标记文件,则yasnippet将无法工作。我的解决方案不是在全球范围内使用yasnippet,而是使用我们想要的模式。这是我为yasnippet配置的emacs,我只将它绑定到
prog模式
ess模式
、和
标记模式
,并且制表符在ansi术语中起作用

(需要“yasnippet”)
(全部重新加载)
(添加钩子'prog mode钩子'yas minor mode)
(添加钩子'ess模式钩子'yas次要模式)
(将钩子“降价模式钩子”添加为次要模式)

键入
M-x在错误时切换调试
,然后再次尝试点击选项卡。这将为您提供一个回溯缓冲区,该缓冲区在查找问题时应该很有用。谢谢。我想是yasnippet造成了问题。。。我将调查itI发现这一点,它描述了相同的问题,但建议的解决方案并没有为我解决问题: