Pull to refresh

Comments 15

Прошу прощения, забыл сменить видимость. Попробуйте сейчас.

Буфер scratch вряд ли вам понадобится, если только вы не программист на Emacs Lisp

Использую его постоянно, как черновик или /tmp, ведь весь текст в нем исчезнет при перезапуске. И секрет в том, чтобы не закрыть его, а сконвертировать в fundamental или text мод, ведь там почти нету минор модов

(setq initial-major-mode 'fundamental-mode)

Само по себе существование scratch осуждаю. Насчёт основного режима по умолчанию вы правы. Сделаю правки в репозитории в ближайшее время.

Не вижу ни одной причины, по которой не следовало бы сделать настройку delete-by-moving-to-trash включённой по умолчанию

Не вижу ни одной причины, зачем мне нужна корзина. Отключаюю её везде, где только можно, если я удаляю, то мусор не должен в свалке храниться

Вот тут не согласен. Двухэтапное удаление с автоматической отчисткой корзины через месяц это ещё одна защита от выстрела себе в ногу,

Кажется что для важных вещей проще и надёжнее использовать git. А с magit в emacs это еще и удобнее.

Так в Емаксе нету автоматической очистки, как и везде в остальных программах, которые я использую. Делать это руками просто бред

Буфер scratch вряд ли вам понадобится, если только вы не программист на Emacs Lisp

Если не писать на Emacs Lisp свои личные расширения или кастомизировать под свои хотелки готовые, теряется практически весь смысл использования Emacs.

Добавлю свои 5 копеек. В графическом режиме emacs перехватывает нажатия сочетаний клавиш зависимо от раскладки, нажав в русской расскладке С-с можно не сразу понять, что идет не так. А редактирование текстов на русском языке превращается в боль. Благо это легко лечится пакетом reverse-im. Буквально позавчера узнал о его существовании

  (use-package char-fold
    :custom
    (char-fold-symmetric t)
    (search-default-mode #'char-fold-to-regexp))

  (use-package reverse-im
    :ensure t ; install `reverse-im' using package.el
    :demand t ; always load it
    :after char-fold ; but only after `char-fold' is loaded
    :bind
    ("M-T" . reverse-im-translate-word) ; to fix a word written in the wrong layout
    :custom
    ;; cache generated keymaps
    (reverse-im-cache-file (locate-user-emacs-file "reverse-im-cache.el"))
    ;; use lax matching
    (reverse-im-char-fold t)
    ;; advice read-char to fix commands that use their own shortcut mechanism
    (reverse-im-read-char-advice-function #'reverse-im-read-char-include)
    ;; translate these methods
    (reverse-im-input-methods '("cyrillic-jis-russian"))
    :config
    (reverse-im-mode t)) ; turn the mode on

Не используйте. reverse-im обрабатывает только часть нажатий. Например, я часто использую Ctrl+@, чтобы выделять слова. Приходится переключаться на английскую раскладку. Зато если переключать методы ввода внутри редактора по Ctrl+/, то всё работает нормально.

Не всегда удобно держать контекст, где я переключил раскладку, в emacs, в браузере или еще где. Но за предупреждение спасибо, буду знать. Думаю, не сложно поправить сам reverse-im, чтоб он распознавал те сочетания, которые в него не заложил автор

Сделайте отдельную раскладку в каждом окне, и в Emacs всегда используйте EN.

после запуска, XEmacs, мой взгляд на Gnu Emacs изменился, сам гну емакс крутой, и я его облазел вдоль и поперёк, но в нём есть конкретные проблемы, он хочет стать проще и ближе каждому, и растворяется как инструмент из-за этого. Если бы он был так же строк как XEmacs цены бы ему не было, и кнопки и подсветка и автоподополнение, вместо этого Емакс подсовывает мне комбайн, который я должен конфигурировать.

пройдёмся по конкретным деталям, нет строгого единого интерфейса и стиля, всплывающее окно по клику(вообще пойнт клик и окошко), организация буферов(+ менеджмент в интерейсе, а не где-то там), удобный интерфейс для изменения шрифта. и с такими буферами как в XEmacs банально удобнее работать, чем на биндах что-то пытаться вспомнить

я за то что в мире текста должны быть кнопки, из подхода интуитивного десктоп подхода

я бы пошел дальше и вообще бы сделал панель фундаментал по 1 команде где есть все команды в виде кнопок с всплвающей документацией чем лазеть по текстам

хочется чего-то свежего старого типо статического анализатора )

Скрытый текст
(defun load-words-from-file (filename)
  "Загрузить слова из файла FILENAME в список."
  (with-temp-buffer
    (insert-file-contents filename)
    (let ((content (buffer-string)))
      ;; Предположим, слова разделены пробелами, переводами строк и т.п.
      (split-string content "[ \n\r\t]+" t))))

(defvar my-words-list nil
  "Список слов, загруженных из файла include.")

(defun my-load-words ()
  "Загрузить слова из файла include."
  (setq my-words-list (load-words-from-file "/usr/include/stdio.h")))

;; Можно вызвать при старте или по необходимости
(my-load-words)

(defun my-show-completions ()
  "Показать список слов, начинающихся с текущего слова."
  (interactive)
  (let ((list my-words-list)
        (bounds (bounds-of-thing-at-point 'word))
        (current-word (thing-at-point 'word))
        (matches '()))
    (when (and bounds current-word)
      (let ((len (length current-word)))
        (dolist (w list)
          (when (and (>= (length w) len)
                     (string= (substring w 0 len) current-word))
            (push w matches))))
      (if matches
          (message "Подходящие слова: %s" matches)
        (message "Нет подходящих вариантов")))))


(global-set-key (kbd "TAB") 'my-show-completions)
Sign up to leave a comment.

Articles