키 입력으로 alacritty 터미널 색 구성표를 전환하는 방법은 무엇입니까?

키 입력으로 alacritty 터미널 색 구성표를 전환하는 방법은 무엇입니까?

이를 수행하는 방법에 대한 설명이 있습니다.부분alacritty의 git-hub wiki에 있지만 이해가 되지 않습니다. Solarized의 밝은 버전과 어두운 버전처럼 시도했지만 실패했습니다.

어떻게 갖는지 알려주세요다양한 색상 구성보유하고 있는 방법과 방법토글 스위치그 중에서 합격하는 것이 바람직하다.키스트로크.

[여기가 이 질문에 적합한지 확실하지 않으니 알려주세요 :)]

편집하다:여러개 고쳤어요계획, Wikipedia에 따르면. 내 실수는 키워드를 color나중에 참조한 이름으로 변경하는 것을 잊어버린 것입니다. 그것은 다음과 같습니다:

# XTerm's color-schemes
schemes:
    xterm_light: &light
           # Default colors
           primary:
             background: '#ffffff'
             foreground: '#000000'
           # Normal colors
           normal:
             black:   '#000000'
             red:     '#cd0000'
             green:   '#00cd00'
             yellow:  '#cdcd00'
             blue:    '#0000ee'
             magenta: '#cd00cd'
             cyan:    '#00adad'
             white:   '#c5c5c5'

           # Bright colors
           bright:
             black:   '#7f7f7f'
             red:     '#ff0000'
             green:   '#00ff00'
             yellow:  '#ffff00'
             blue:    '#5c5cff'
             magenta: '#ff00ff'
             cyan:    '#00fff             
             white:   '#ffffff'

    xterm_dark: &dark
           # Default colors
           primary:
             background: '#000000'
             foreground: '#ffffff'
           # Normal colors
           normal:
             black:   '#000000'
             red:     '#cd0000'
             green:   '#00cd00'
             yellow:  '#cdcd00'
             blue:    '#0050cc'
             magenta: '#cd00cd'
             cyan:    '#00adad'
             white:   '#e5e5e5'

           # Bright colors
           bright:
             black:   '#7f7f7f'
             red:     '#ff0000'
             green:   '#00ff00'
             yellow:  '#ffff00'
             blue:    '#5c5cff'
             magenta: '#ff00ff'
             cyan:    '#00ffff'
             white:   '#ffffff'

colors: *dark
# colors: *light

이 경우 색 구성표를 변경하려면 구성을 수동으로 변경해야 합니다. 최악은 아니지만 키보드 단축키로 바꿔보면 좋을 것 같습니다.

답변1

[여기가 이 질문에 적합한지 확실하지 않으니 알려주세요 :)]

이것이 나의 첫 번째 대답이기 때문에 이것이 이 질문에 적합한 장소인지 모르겠습니다 :-). 그러나 얼마 전에 같은 문제가 발생하여 다음 Python 스크립트를 사용하여 해결했습니다.

#!/usr/bin/env python

import yaml
import os
import re


CONFIG_FILE_NAME = "alacritty.yml"
CONFIG_FILE_DIR = os.path.expanduser("~/.config/alacritty/")
CONFIG_FILE_PATH = os.path.join(CONFIG_FILE_DIR, CONFIG_FILE_NAME)

COLOR_SCHEME_LINE_SEARCH = "colors: \*(\S+)"
COLOR_SCHEME_LINE_TEMPLATE = "colors: *{}\n"

with open(CONFIG_FILE_PATH, "r") as config_file:
    config = yaml.safe_load(config_file)
    config_file.seek(0)
    lines = config_file.readlines()

colors_line_index = -1
for i, line in enumerate(lines):
    match = re.search(COLOR_SCHEME_LINE_SEARCH, line)
    if match is not None:
        current_color_scheme = match.group(1)
        colors_line_index = i

available_color_schemes = list(config["schemes"].keys())

color_scheme_index = available_color_schemes.index(current_color_scheme)
color_scheme_index = \
    (color_scheme_index + 1) % len(available_color_schemes)

lines[colors_line_index] = COLOR_SCHEME_LINE_TEMPLATE.format(
    available_color_schemes[color_scheme_index])

with open(CONFIG_FILE_PATH, "w") as config_file:
    for line in lines:
        config_file.write(line)

alacritty 구성 파일의 위치에 따라 CONFIG_FILE_NAME 및 CONFIG_FILE_DIR을 조정해야 할 수도 있습니다. 스크립트가 제대로 작동하려면 색 구성표의 앵커 이름을 색 구성표 자체와 정확히 동일하게 지정하는 것이 중요합니다. 예를 들면 다음과 같습니다.

schemes:
  example_color_scheme: &example_color_schme
    primary:
        ...
    normal:
        ...
    bright:
        ...

Python 패키지 외에피아무르시스템에 설치되어 있어야 하고, 사용자가 스크립트를 실행할 수 있어야 하며, 사용자의 PATH에서 스크립트에 액세스할 수 있어야 합니다.

또한 alacritty 구성 파일에 다음을 추가했습니다.

key_bindings:
  - { key: F, mods: Control, command: {program: "set_colorscheme.py"} }

이렇게 하면 <CTRL-F>를 눌러 색상 구성표를 순환할 수 있습니다.

내 스크립트를 확인할 수 있습니다github의 도트 파일.

이게 도움이 되길 바란다.

관련 정보