Отмечено: emacs Показать/спрятать ветки комментариев | Горячие клавиши

  • manandbytes 16:16 on June 17, 2010 Постоянная ссылка |
    Метки: emacs   

    Don’t ever customize a default face with custom-set-faces?! 

    A while back I spent some time trying to figure out why emacsclient under X Windows woun’t start new windows (AKA frames) any more with a cryptic error message:

    *ERROR*: Arithmetic error

    It turned out that the cause of this problem was… a default font’s customization. Emacs provides a standard way to customize it’s own configration via a bunch of customize-* functions and one of them is a customize-face function. As it provides a standard UI for changing font’s parameters why not using it? So I changed the default face‘s font and this customization was stored like

    (custom-set-faces
      '(default ((t (:family "Comic Sans MS" :foreground "pink" :weight bold)))))

    What parameters you’re trying to customize nor their actual values doesn’t matter. It just prevents emacsclient from starting a new window.

    There is another way to configure a default font using .Xresources file by adding something like emacs.font: Consolas-12. Or may be it’s even better to leave a default face alone and customize just fixed-pitch and variable-pitch faces?

    Реклама
     
  • manandbytes 00:02 on October 20, 2009 Постоянная ссылка |
    Метки: emacs, gnus   

    No more ‘J-j g J-s J-j’, just ‘g’ 

    I read my e-mail with Gnus and have enabled agent mode because it’s impractical to be connected to the internet in order to compose or reply and even to read e-mail. I like an idea to get quick access to my e-mail no matter if I’m online or not.

    Finally I have been tired pressing J-j g J-s J-j many times a day just to send and receive messages. Fortunately Emacs easily allows to reduce a number of key presses due to its great extensibility. What I needed is to tell Emacs which actions to run when a default keyboard shortcut g is pressed in the summary buffer.

    Ok, C-h f define-key shows how to define a keyboard shortcut. But how do I figure out what functions to use? C-h c followed by a single key or its combination gives a function behind any keyboard shortcut. So the solution is simple:

    (define-key
      gnus-group-mode-map (kbd "g") (lambda () (interactive)
       (gnus-agent-toggle-plugged t)
       (gnus-group-get-new-news)
       (gnus-agent-fetch-session)
       (gnus-agent-toggle-plugged nil)))
    

    You don’t even have to know what does this lambda and interactive mean. Well, in most cases 😉

    … even more work for machines ©

     
  • manandbytes 00:20 on October 8, 2009 Постоянная ссылка |
    Метки: , emacs,   

    Emaclipse? 

    I use Emacs and Eclipse for several years but just recently realized that the Quick Access feature in Eclipse and M-x in Emacs are the same and it would be better to use the same keyboard shortcut for both. So what should I choose: Ctrl+3 or M-x?

     
  • manandbytes 11:07 on August 3, 2009 Постоянная ссылка |
    Метки: emacs   

    Уникальные имена буферов 

    Часто приходится работать вот так:

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

    При настройках Emacs’а по-умолчанию это не очень удобно, так как при дополнении имена буферов выглядят вот так:
    emacs-non-uniq
    Понять, какой из файлов находится в буфере непросто, а запоминать — лень, да и не нужно 🙂

    В Emacs уже есть средства для решения этой проблемы: uniquify. Решение было подсмотрено в More Random Emacs Config и после конфигурирования вот таким образом:

    diff --git a/.emacs b/.emacs
    index 601f018..533bb70 100644
    --- a/.emacs
    +++ b/.emacs
    @@ -32,6 +32,8 @@
     ;(gnus-demon-add-handler ‘gnus-group-get-new-news 10 2)
     ;(gnus-demon-init)
     
    +(require 'uniquify)
    +
     (require 'ido)
     (ido-everywhere t)
     
    @@ -546,6 +549,11 @@ org_html_manager.setup ();
      '(tabbar-mode t nil (tabbar))
      '(tabbar-mwheel-mode nil nil (tabbar))
      '(tabbar-use-images nil)
    + '(uniquify-buffer-name-style (quote forward) nil (uniquify))
    + '(uniquify-ignore-buffers-re "^\\*")
    + '(uniquify-min-dir-content 1)
    + '(uniquify-separator "/")
    + '(uniquify-trailing-separator-p t)
      '(visible-bell t)
      '(w3m-default-coding-system (quote utf-8))
      '(w3m-favicon-use-cache-file t)
    


    процесс упрощен до необходимого уровня:
    emacs-uniq

     
c
cоздать новую запись
j
следующая запись/комментарий
k
предыдущая запись/комментарий
r
Ответить
e
Изменить
o
показать/скрыть комментарии
t
перейти наверх
l
Go to login
h
Показать/Скрыть помощь
shift + esc
Отмена