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

Sen*_*abu 7 emacs elisp evil-mode spacemacs

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

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

anq*_*egi 1

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

我正在读取一个 ruby​​ 文件,我使用 rubocop 来处理 lint 错误。如果我直接在终端上使用 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
Run Code Online (Sandbox Code Playgroud)

如果我在 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
Run Code Online (Sandbox Code Playgroud)

与 emacs 中的相同:

Emacs Lint

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

显示缓冲区内文件中的所有错误

这是 Flycheck 的一个特性或功能,因此您可以将其用于任何代码,flycheck 会为您获取错误