为什么emacs在终端中没有边缘模式?

时间:2016-03-08 10:52:00

标签: emacs elisp evil-mode spacemacs

我是一个铁杆vim用户。随着邪恶模式和spacemacs的引入,我正在从vim过渡到emacs。我经常在开发服务器中编辑我的代码(由于我无法解释的原因),我必须在终端模式下运行我的编辑器。有一点,我在Emacs(在vim中存在)中缺少的是在编码时显示编译/ lint错误等有用信息的装订线。 Emacs确实有GUI的边缘模式,但不适用于终端。是否有特殊原因要避免在emacs终端中使用条纹模式?

我的要求是查看一列中的所有错误(我正在使用flycheck),以便轻松浏览代码以查找有错误的行。 flycheck有三种突出错误的方法(行/列/符号)。我想要突出显示行中的符号,但同时,我希望在代码的左侧或右侧看到一个列,它标记带有某些符号的错误/警告的行。 Flycheck在启用条纹模式时执行此操作,但终端没有条纹模式。有没有办法在终端上获得这个?

1 个答案:

答案 0 :(得分:0)

我认为您应该使用函数M-x flycheck-list-errors,然后可以在单独的缓冲区中查看所有复检错误:

我正在读取使用rubocop进行的棉绒错误的红宝石文件。如果直接在终端上使用rubocop,我会得到:

$ cat dirty.rb
class Dirty
  # This method smells of :reek:NestedIterators but ignores them
  def awful(x, y, offset = 0, log = false)
    puts @screen.title
    @screen = widgets.map {|w| w.each {|key| key += 3}}
    puts @screen.contents
  end
end

如果我收到了rubocop的错误:

$ rubocop dirty.rb
Inspecting 1 file
W

Offenses:

dirty.rb:1:1: C: Style/Documentation: Missing top-level class documentation comment.
class Dirty
^^^^^
dirty.rb:1:1: C: Style/FrozenStringLiteralComment: Missing magic comment # frozen_string_literal: true.
class Dirty
^
...
...
...
1 file inspected, 13 offenses detected

与emacs中的相同:

Emacs Lint

然后,我可以在单独的缓冲区中检查所有违法行为with M-x flycheck-list-errors

show all errors in a file inside a buffer

这是flycheck的功能,因此您可以将其用于任何代码,flycheck会为您带来错误