我是一个铁杆vim用户。随着 evil-mode 和 spacemacs 的引入,我正在从 vim 过渡到 emacs。我经常在开发服务器中编辑我的代码(原因我无法解释),我必须在终端模式下运行我的编辑器。有一件事,我在 Emacs 中(在 vim 中存在)中缺少的是在编码时显示有用信息(如编译/lint 错误)的排水沟。 Emacs 确实为此提供了 GUI 的边缘模式,但没有用于终端。在 emacs 中避免终端中的边缘模式是否有特殊原因?
我的要求是查看一列中的所有错误(我使用的是 flycheck ),以便可以轻松浏览代码以找到有错误的行。 flycheck 具有三种突出显示错误的方法(行/列/符号)。我希望突出显示该行中的符号,但同时,我希望在代码的左侧或右侧看到一列,该列用某些符号标记有错误/警告的行。 Flycheck 在启用边缘模式时执行此操作,但终端没有边缘模式。有没有办法在终端中得到这个?
最佳答案
我认为你应该使用函数 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
如果我收到 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 中的相同:
然后我可以检查所有的违规行为
with M-x flycheck-list-errors
在单独的缓冲区中:这是 flycheck 的一个特性或功能,因此您可以将其用于任何代码,即 flycheck 为您获取错误
关于emacs - 为什么 emacs 在终端中没有边缘模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35865400/