Ответы пользователя по тегу Emacs
  • Vim/Emacs для Python?

    @Z-r
    > С этого возникает следующий вопрос — как освоить Emacs? Где брать материалы для него, документации хватит?

    Смешно. Проблема сопроводительной документации не в том, что ее не хватает. А в том, что ее *не осиливают*.

    Оттого и плодятся всякие методички, видеолекции и прочие «материалы».
    Ответ написан
    Комментировать
  • Какие есть программы для редактирования файлов по SSH?

    @Z-r
    > Какие есть аналоги emacs (в этом плане) (преимущественно с GUI)?

    Есть мнение, что прося посоветовать аналог, всегда стоит пояснять, чем же вас не устраивает оригинал.

    А так — ну многие уже в той или иной степени аналог ТРАМПа реализовали у себя. В том числе: Gedit, как и всякая порядочная часть «Гнома», умеет в GVFS; а Kwrite и Kate, как и всякая порядочная часть KDE, умеют в KIO.

    Оба этих механизма, разумеется, поддерживают FISH (FS over SSH). Если первый основан на монтировании со всеми его достоинствами и недостатками, то второй, насколько я знаю, — нет, то есть в этом плане он несколько ближе к Емаксу.
    Ответ написан
    9 комментариев
  • Как отобразить пробелы в emacs?

    @Z-r
    > Но почему-то emacs ругается на вторую и третью строки

    Матерно, да? (Не могу иначе представить, почему вы постеснялись ругательства привести.)

    А включив телепата могу предположить, что у вас просто whitespace.el не подгружен.
    Ответ написан
    2 комментария
  • Что делать с библиотеками после сборки?

    @Z-r
    > Что делать с библиотеками после сборки?

    Чавой?

    > Как загрузить все сразу эти рантаймовые библиотеки?

    Э... Вы уверены, что понимаете, что́ есть библиотека времени исполнения (runtime library)?

    > --with-x-xwidgets или просто --with-xwidgets

    ./configure --help

    > Does Emacs use -lgnutls? no
    > Does Emacs use -lxml2? no

    ... а равно и ряд других пунктов должны быть по-умолчанию включены, емнип. Вы посмотрите по выводу повыше — там, где проверки, чего у вас не нашлось. Скорее всего у вас просто-напросто соответствующие сборочные пакеты в системе не установлены. То есть в данном случае для Дебиана, например, libgnutls*-dev, libxml2-dev и т. д.
    Ответ написан
  • Как повесить несколько дополнительных символов на одну клавишу в конфиге xkb?

    @Z-r
    Если в ключевых словах, то RedirectKey(key=..., clearmods). А если в правой части (во что транслировать) всегда одна клавиша, а не аккорд, то вообще имеет смысл описать всю вашу схему как overlay — это намного чище.

    [из комментариев]> а вы не могли бы привести пару примеров

    Для overlay’я — да, пожалуйста, вот вам выдержка откуда-то из ~/.xkb.d/. И хотя я ей фактически не пользуюсь, поскольку:

    — Во-первых, у меня нестабильно работала закомментированная часть (C-wC-backspace) — причем самым причудливым образом — при первой компиляции она выдавала какую-то ошибку, а после ряда танцев с бубном — таки собиралась и работала.

    — А во-вторых, я обнаружил, что не имею во всем этом никакой необходимости, ибо у меня из сколько-нибудь активно используемых программ: ГНУ Емакс да Айсвизел (Файрфокс), иногда ряд программ в эмуляторе терминала. С первым — понятно; Айсвизел — на ГТК, где сочетания клавиш можно настроить гораздо гибче, чем тупой контекстно-независимой трансляцией (а базовые емаксовые сочетания для ГТК поставляются из коробки); большинство же интерактивных программ, запускаемых в эмуляторе терминала, используют (или могут использовать) ГНУ Ридлайн, где все еще лучше, чем в ГТК.

    Но, как я помню, в остальном тут все должно работать.

    partial modifier_keys
    xkb_symbols "lctrl_overlay" {
        replace key <LCTL> {
                type = "PC_CONTROL_LEVEL2",
                symbols = [ Control_L, NoSymbol ],
                actions = [ SetMods(modifiers=Control),
                            SetControls(controls=overlay1) ]
        };
    };
    
    partial modifier_keys
    xkb_symbols "rctrl_overlay" {
        replace key <RCTL> {
                type = "PC_CONTROL_LEVEL2",
                symbols = [ Control_R, NoSymbol ],
                actions = [ SetMods(modifiers=Control),
                            SetControls(controls=overlay1) ]
        };
    };
    
    default partial modifier_keys
    xkb_symbols "ctrl_overlay" {
        include "nav(lctrl_overlay)"
        include "nav(rctrl_overlay)"
    };
    
    partial modifier_keys
    xkb_symbols "lctrl_lock_overlay" {
        replace key <LCTL> {
                type = "PC_CONTROL_LEVEL2",
                symbols = [ Control_L, NoSymbol ],
                actions = [ SetMods(modifiers=Control),
                            LockControls(controls=overlay1) ]
        };
    };
    
    partial modifier_keys
    xkb_symbols "rctrl_lock_overlay" {
        replace key <RCTL> {
                type = "PC_CONTROL_LEVEL2",
                symbols = [ Control_R, NoSymbol ],
                actions = [ SetMods(modifiers=Control),
                            LockControls(controls=overlay1) ]
        };
    };
    
    default partial modifier_keys
    xkb_symbols "ctrl_lock_overlay" {
        include "nav(lctrl_lock_overlay)"
        include "nav(rctrl_lock_overlay)"
    };
    
    partial modifier_keys
    xkb_symbols "hwdm" {
        // key <I250> { symbols = [ NoSymbol ] };
        // key <I250> {
        //     actions = [ RedirectKey(key=<BKSP>, mods=Control) ]
        // };
        key <LatH> { overlay1 = <BKSP> };
        key <LatW> { overlay1 = <I250> };
        key <LatD> { overlay1 = <DELE> };
        key <LatM> { overlay1 = <LNFD> };
    };
    
    partial modifier_keys
    xkb_symbols "pbnf" {
        key <LatP> { overlay1 = <UP> };
        key <LatB> { overlay1 = <LEFT> };
        key <LatN> { overlay1 = <DOWN> };
        key <LatF> { overlay1 = <RGHT> };
    };
    
    partial modifier_keys
    xkb_symbols "ijkl" {
        key <LatI> { overlay1 = <UP> };
        key <LatJ> { overlay1 = <LEFT> };
        key <LatK> { overlay1 = <DOWN> };
        key <LatL> { overlay1 = <RGHT> };
    };
    
    partial modifier_keys
    xkb_symbols "khjl" {
        key <LatK> { overlay1 = <UP> };
        key <LatH> { overlay1 = <LEFT> };
        key <LatJ> { overlay1 = <DOWN> };
        key <LatL> { overlay1 = <RGHT> };
    };
    
    partial modifier_keys
    xkb_symbols "zxcv" {
        key <LatZ> { overlay1 = <UNDO> };
        key <LatX> { overlay1 = <CUT> };
        key <LatC> { overlay1 = <COPY> };
        key <LatV> { overlay1 = <PAST> };
    };
    Ответ написан