12 GUI Elements

spacemacs有一个简约和分布的免费的图形用户界面:

12.1 Color themes

官方的 spacemacs 主题是 spacemacs-dark,它是您首次启动 spacemacs 时安装的默认主题。有两个主题的变体,一个是黑色(dark)的,一个是轻(light)的。这些主题的一些方面可以在 〜/.spacemacs 的 dotspacemacs/user-init 函数中定制:

  • 带有布尔值 spacemacs-theme-comment-bg 的注释背景
  • org 部分标题的高度与 spacemacs-theme-org-height

可以使用变量 dotspacemacs-themes 在〜/.spacemacs 中定义默认主题。例如指定 spacemacs-light,leuven 和 zenburn:

(setq-default dotspacemacs-themes '(spacemacs-light leuven zenburn))
Key Binding Description
SPC T n 切换到在 dotspacemacs-themes 中列出的下一个主题。
SPC T s 从 helm buffer 选择一个主题。

您可以从 Rob Merrell 主题库中看到所有包含主题的样本。

注意:

  • 您不需要在 layers 中明确列出您在 dotspacemacs-themes 中定义的主题包,但是 spacemacs 非常聪明,可以从孤立列表中删除这些包。
  • 由于 emacs 中主题的内部工作,在同一 session 中切换主题可能会有一些奇怪的副作用。虽然这些副作用应该是非常罕见的。
  • 在 emacs 的终端版本中,颜色主题将无法正确呈现,因为终端呈现的是颜色,而不是由 emacs 呈现。你可能不得不改变你的终端调色板。更多的解释可以在 emacs-color-theme-solarized 网页上找到。

提示:如果你是一名 Org 用户,leuven-theme 是你很好的选择。

12.2 Font

spacemacs 使用的默认字体是 Source Code Pro 。如果你想使用它,建议将它安装在你的系统上。

更改默认字体在您的 .spacemacs 文件中设置变量 dotspacemacs-default-font。默认情况下它的值是:

(setq-default dotspacemacs-default-font '("Source Code Pro"
                                          :size 13
                                          :weight normal
                                          :width normal
                                          :powerline-scale 1.1))

如果没有找到指定的字体,将使用回退之一(取决于您的系统)。还要注意,如果您在终端中运 行emacs,更改此值不起作用。

属性应该非常简单,可以设置 font-spec 的任何有效属性:

  • :family 字体族或 fontset(一个字符串)。
  • :width 相对字符宽度。这应该是其中的一个符号:
    • ultra-condensed
    • extra-condensed
    • condensed
    • semi-condensed
    • normal
    • semi-expanded
    • expanded
    • extra-expanded
    • ultra-expanded
  • :height 字体的高度。在最简单的情况下,这是以1/10点为单位的整数。
  • :weight font weight - 符号之一(从最密集到最薄弱):
    • ultra-bold
    • extra-bold
    • bold
    • semi-bold
    • normal
    • semi-light
    • extra-light
    • ultra-light
  • :slant 字体倾斜 - 符号之一:
    • italic
    • oblique
    • normal
    • reverse-italic
    • reverse-oblique
  • :size 字体大小 - 指定像素大小的非负整数或指定点大小的浮点数。
  • :adstyle 字体的其他印刷风格信息,如“sans”。该值应该是一个字符串或一个符号。
  • :registry charset注册表和字体的编码,如'iso8859-1'。该值应该是一个字符串或一个符号。
  • :script 字体必须支持的脚本(一个符号)。

特殊属性:powerline-scale 是 spacemacs 特有的,用于快速调整模式行高度,以避免像下面截图(默认值为1.1)那样对分隔符进行糟糕的渲染。

img Ugly separators

12.3 GUI Toggles

一些图形用户界面指标可以打开和关闭(切换从 t 和 T 开始):

Key Binding Description
SPC t 8 高亮显示第80列以后的任何字符
SPC t f 显示填充列(默认填充列设置为80)
SPC t h h 切换当前行的高亮显示
SPC t h i 切换突出显示缩进级别
SPC t h c 切换高亮显示缩进当前列
SPC t i 在点处切换缩进指南
SPC t l 切换截断线
SPC t L 切换视线
SPC t n 切换行号
SPC t v 切换平滑滚动
Key Binding Description
SPC T ~ 在空行的边缘显示 ~
SPC T F 全屏切换帧
SPC T f 切换显示边缘
SPC T m 切换菜单栏
SPC T M 切换帧最大化
SPC T t 切换工具栏
SPC T T 切换帧透明度并进入透明度瞬态状态

注意:这些切换都可以通过 helm-spacemacs-help 界面获得(按 SPC h SPC 显示 helm-spacemacs-help 缓冲区)。

12.3.1 Global line numbers

可以通过在 〜/.spacemacs 中将 dotspacemacs-line-numbers 变量设置为与 nil 不同的值来在所有编程模式和文本模式缓冲区中切换行号。

(setq-default dotspacemacs-line-numbers t)

如果它被设置为 relative,行号以相对的方式显示:

(setq-default dotspacemacs-line-numbers 'relative)

12.4 Mode-line

mode line 是一个高度定制的 powerline,具有以下功能:

  • 显示窗口号码
  • 当前状态的颜色代码
  • 通过 anzu 显示搜索次数
  • 切换 flycheck 信息
  • 切换电池信息
  • 切换 minor mode lighters

提醒各状态的颜色代码:

Evil State Color
Normal Orange
Insert Green
Visual Grey
Emacs Blue
Motion Purple
Replace Chocolate
Lisp Pink
Iedit/Iedit-Insert Red

一些元素可以动态切换:

Key Binding Description
SPC t m b 切换电池状态
SPC t m c 切换 org 任务时钟(在 org layer 中可用)
SPC t m m 切换 minor mode lighters
SPC t m M 切换 major mode
SPC t m n 切换 cat!(如果在 dotfile 中声明了 colors layer)
SPC t m p 切换点字符位置
SPC t m t 切换 mode line 本身
SPC t m v 切换版本控制信息
SPC t m V 切换新版本更轻

12.4.0.1 Powerline font installation for terminal-mode users

在终端模式下运行 emacs的 用户可能需要安装 powerline 补丁字体并配置其终端客户端使用它们使 powerline 分隔符正确呈现。

12.4.0.2 Flycheck integration

当启用 Flycheck次要模式时,会显示一个新元素,显示错误,警告和信息的数量。

flycheck Flycheck integration in mode-line

12.4.0.3 Anzu integration

Anzu 显示执行搜索时发生的次数。当 n 或 N 被按下时,spacemacs 通过暂时显示 Anzu 状态来很好地集成 Anzu 状态。请参阅以下屏幕截图中的 5/6 细分。 Anzu Anzu integration in mode-line

12.4.0.4 Battery status integration

fancy-battery 显示电池总电量的百分比,以及电池完全充电或放电的剩余时间。

颜色码用于电池状态:

Battery State Color
Charging Green
Discharging Orange
Critical Red

请注意,这些颜色可能因您的主题而异。

12.4.0.5 Powerline separators

可以通过在 〜/spacemacs 中设置 powerline-default-separator 变量,然后重新编译模式行来轻松定制 powerline 分隔符。例如,如果您想将分隔符设置回已知的箭头分隔符,请将以下代码段添加到您的配置文件中:

(defun dotspacemacs/user-config ()
  "This is were you can ultimately override default Spacemacs configuration.
This function is called at the very end of Spacemacs initialization."
  (setq powerline-default-separator 'arrow))

为了节省时间来尝试所有可能的 powerline,下面是一组详尽的截图:

Separator Screenshot
alternate alternate
arrow arrow
arrow-fade arrow
bar arrow
box arrow
brace arrow
butt arrow
hamfer arrow
contour arrow
curve arrow
rounded arrow
roundstub arrow
slant arrow
wave arrow
zigzag arrow
nil arrow

12.4.0.6 Minor Modes

spacemacs 使用 diminish mode 来减小 minor mode 指示器的大小:

minor mode 区域可以用 spc t m m 来打开和关闭

unicode 符号默认显示。在 〜/.spacemacs 中将变量 dotspacemacs-mode-line-unicode-symbols 设置为 nil 将会显示 ascii 字符(如果你不能设置合适的字体,可能会在终端中使用)。

显示在 mode-line 中的字母与用于切换它们的键绑定相对应。

一些切换有两种风格:local 和 global。可以使用 control 键来达到切换的全局版本。

Key Binding Unicode ASCll Mode
SPC t - - centered-cursor mode
SPC t 8 8 toggle highlight of characters for long lines
SPC t C-8 8 global toggle highlight of characters for long lines
SPC t C-- - global centered cursor
SPC t a a auto-completion
SPC t c c camel case motion with subword mode
none e evil-org mode
SPC t E e Ⓔe Ee emacs editing style (holy mode)
SPC t E h Ⓔh Eh hybrid editing style (hybrid mode)
SPC t f f fill-column-indicator mode
SPC t F F a uto-fill mode
SPC t g g golden-ratio mode
SPC t h i ⓗi hi toggle highlight indentation levels
SPC t h c ⓗc hc toggle highlight indentation current column
SPC t i i indentation guide
SPC t C-i i global indentation guide
SPC t I I aggressive indent mode
SPC t K K which-key mode
SPC t p p smartparens mode
SPC t C-p p global smartparens
SPC t s s syntax checking (flycheck)
SPC t S S enabled in spell checking layer (flyspell) W automatic whitespace cleanup (see dotspacemacs-whitespace-cleanup)
SPC t C-W W automatic whitespace cleanup globally
SPC t y y yasnippet mode

12.4.0.7 Customizing the mode-line

spacemacs 使用 Spaceline 来提供其 mode-line。它由左右两侧的若干段组成。这些在变量 spaceline-left 和 spaceline-right 中定义。可以使用 spaceline-define-segment 定义段,并将其添加到左侧或右侧变量的相应位置。

请参阅 Spaceline 文件以获取更多信息。

results matching ""

    No results matching ""