LINUX.ORG.RU

Xemacs IDE


0

0

Решил освоить Xemacs в качестве IDE, пытаюсь настроить, возникло несколько вопросов.

Xemacs 21.4.15

1. При подхождении курсора к концу страницы, полстраницы резко уходит вверх, а мне надо чтобы только на одну строчку, как во многих редакторах.
Что для этого надо прописать в ~/.xemacs/custom.el ?

2. Как вырезать кусок выделенного текста (т.е. удалить и занести в буфер обмена, ну типа Ctrl+x в обычных редакторах)?

3. Когда открываешь несколько файлов (например командой xemacs work/*.c), эти файлы открываются и вверху отображаются вкладки.
Количество этих вкладок - максимум 6 штук. Как снять это ограничение?

4. Хотелось бы переключаться м/у вкладками с помощью C-PageUp - следующая вкладка, C-PageDown - предыдущая (imho так удобнее, чем с помощью speedbar). Как бы это реализовать?

5. Есть ли в xemacs такая фича, как запоминание сессии? Т.е. например у меня открыто несколько файлов, рабочая область разделена на несколько областей - напр. 2 области для редактирования и одна - с eshell. Я сохраняю сессию, закрываю нашего лиспового монстрика, затем запускаю вновь - и сессия восстанавливается - те же файлы открыты, 3 области также восстанавливаются.

6. Редактирую сишный код. Делаю комментарием ( /* */) большой (много строк) кусок кода. Хочу чтобы он _сразу_ закрасился в тот цвет, который положено для комментария. Это реально?

7. Хочу переопределить на свой вкус цвета для элементов сишного кода. Ну, к примеру, сейчас комментарии - темно-синего цвета, а надо свело-серого.
И еще момент - хотелось бы, чтобы внутри многострочных комментариях слова TODO: & FIXME: выделялись желтым - такая фича в gvim'е есть. Это реально в xemacs сделать (точнее как это сделать, т.к. я подозреваю что в emacs/xemacs можно настроить всё ;~) )?

8. Хочу автоотступы изменить для си-кода. Когда пишешь типа "int func() {" (или for(;;) или if(cvb) ) и жмешь enter, следующая строка (строки) начинается на 2 символа правее относительно начала строки выше. Мне бы хотелось, чтобы было 4 символа или, что еще лучше, одна табуляция. Как бы это разрулить?

9. Как включить полоску нумерации строк слева от редактора?

10. Как меню открыть с помощью клавиатуры? Т.е. например есть элемент File - F-подчеркнуто, обычно жмешь Alt+F и подменю открывается, с xemacs такое не прошло.

11. Если я в дальнейшем настроен серьезно освоить xemacs, обязательно ли мне знать Emacs Lisp?


Буду благодарен за любые советы или полезные урлы по теме.

anonymous

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

(setq scroll-step 1)

> 2. Как вырезать кусок выделенного текста (т.е. удалить и занести в буфер обмена, ну типа Ctrl+x в обычных редакторах)?

см. инфо про Kill

> 8. Хочу автоотступы изменить для си-кода. Когда пишешь типа "int func() {" (или for(;;) или if(cvb) ) и жмешь enter, следующая строка (строки) начинается на 2 символа правее относительно начала строки выше. Мне бы хотелось, чтобы было 4 символа или, что еще лучше, одна табуляция. Как бы это разрулить?

во первых таб это 8 символов.

можно так написать: (setq c-basic-offset 4)

вообще про c-set-style, c-set-offset смотри

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

>(setq scroll-step 1)
Сработало!

--------------------------------------

>>см. инфо про Kill
Нашел. Клавиатурное сочетание C-w - удаляет область и заносит в буфер обмена.

--------------------------------------

>>во первых таб это 8 символов.
У меня 4 - мне так удобнее - код приятнее читать:

;;~.xemacs/custom.el
(custom-set-variables
;; etc
'(tab-width 4)
;; etc
)

>>можно так написать: (setq c-basic-offset 4)
И это сработало! Кстати эти 4 символа автоматом превращаются в табуляцию.

Спасибо.
Вопросы 1, 2, 8 вычеркиваем.

anonymous
()
Ответ на: комментарий от anonymous

> У меня 4 - мне так удобнее - код приятнее читать

а потом другие люди тебя проклинать будут и мучаться пропуская твой код через expand -t4.

Цитата из RFC-678:

The conventional stops for horizontal tabs are every eight characters, that is character positions 9, 17, 25,... within the logical page.

> Клавиатурное сочетание C-w - удаляет область и заносит в буфер обмена.

на практике обычно удобнее несколько раз C-k нажать

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

>а потом другие люди тебя проклинать будут и мучаться пропуская твой код через expand -t4.
>Цитата из RFC-678:
>The conventional stops for horizontal tabs are every eight characters, that is character positions 9, 17, 25,... within the logical page.

Спасибо, не знал. Оставлю 8.

С седьмым вопросом разобрался на половину. Не знаю как TODO: & FIXME: в комментариях подсвечивать, а саму подсветку уже сделал.

Возникли еще вопросы:

12. Есть ли в xemacs возможность подсвечивать (т.е. изменять background) текущую строку?
13. Есть ли в xemacs такая команда чтобы текущая строка становилась первой (в смысле самой верхней)?
(Я знаю есть C-l - текущая строка центрируется)

anonymous
()
Ответ на: комментарий от anonymous

> 12. Есть ли в xemacs возможность подсвечивать (т.е. изменять background) текущую строку?

highline-mode (highline.el)

> 13. Есть ли в xemacs такая команда чтобы текущая строка становилась первой (в смысле самой верхней)? (Я знаю есть C-l - текущая строка центрируется)

соответсвенно `C-u 0 C-l'(или вариации типа `C-0 C-l') центрирует так что текущая будет первой(нулевой)

> Не знаю как TODO: & FIXME: в комментариях подсвечивать

нужно их делать более приоритарными в поиске матчинга у font-lock

lg ★★
()
Ответ на: комментарий от lg

>соответсвенно `C-u 0 C-l'(или вариации типа `C-0 C-l') центрирует так что текущая будет первой(нулевой)

Спасибо, работает.

>highline-mode (highline.el)

>нужно их делать более приоритарными в поиске матчинга у font-lock

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

anonymous
()

Я, вообще-то, с GNU Emacsом работаю, так что кое-что может не совпасть...

1. http://kulchitsky.org/rus/linux/dotemacs.html (он там меняет три переменных, уж не знаю, почему).

2. Ежели внутре Emacs, то тебе ответили (кстати, кроме c-w есть ещё немало клавиш). Ежели наружу -- у X, as я пол, два буфера обмена, точнее один и ещё много других. В оный один мой Emacs пишет по c-ins (в кой-нить xterm могу перенесть, а в мозиллу -- фиг).

4. Наверняка можно и даже несложно, но надобно лезть в ELisp. Почти доки по настройке, там несложно.

5. В GNU идёт отдельным пакетом, называется как-то типа sessions, Думаю, есть аналог, а то и пойдёт как есть.

10. Опять же в GNU это делается F10. Точнее, не совсем это. Смотрится достаточно ублюдочно, но я, скажем, только этим способом по менюхпм и лажу. Кроме того, погнляди, у ты после текста меню хоть где-нить высвечиваются клавиши? Эсли нет, у ты отключён соответствующий режим. Поищи и включи, чтобы высвечивался клавиатурный аналог, буде таковой существует.

Насчёт изменения параметров -- в GNU есть система централизованного просмотра и изменения параметров (сейчас не в Линуксе сижу, так что приблизительно: Options -- Customize Emacs -- Browse чего-то там). Поищи, возможно, тебе понравится.

11. Эсли серьёзно -- думаю, нужен. Ищи ELisp manual.

Смоляное Чучелко

anonymous
()
Ответ на: комментарий от anonymous

Спасибо.


Разобрался с 6-м вопросом:

;; ~.xemacs/custom.el
(custom-set-variables
;; с данной опцией многострочные
;; комментарии подсвечиваются сразу
'(lazy-lock-mode t nil (lazy-lock)))


С 12-м тоже:
;; ~.xemacs/init.el
(highline-mode-on) ;; теущая строка - подсвечивается

;; ~.xemacs/custom.el
(custom-set-faces
;; задаем цвет background'а текущей строки
'(highline-face ((t (:background "#08275C")))))


На 3-й и 4-й вопросы решил забить - для удобной навигации
по нескольким файлам буду ставить ECB.


Хотелось бы чтобы помогли настроить подсветку TODO: & FIXME:
в комментариях. Такая фича в Xemacs реализована для
Makefile - файлов по умолчанию. Сейчас вот изучаю содержимое
/usr/share/xemacs и /usr/share/xemacs-21.4.15 чтобы понять,
как это сделано. Было бы здорово, если товарищ lg пояснит,
что он имел ввиду написав "нужно их делать более приоритарными
в поиске матчинга у font-lock".

anonymous
()
Ответ на: комментарий от anonymous

> Хотелось бы чтобы помогли настроить подсветку TODO: & FIXME: в
> комментариях. Такая фича в Xemacs реализована для Makefile - файлов 
> по  молчанию. Сейчас вот изучаю содержимое /usr/share/xemacs и  
> /usr/share/xemacs-21.4.15 чтобы понять,
> как это сделано. Было бы здорово, если товарищ lg пояснит,
> что он имел ввиду написав "нужно их делать более приоритарными
> в поиске матчинга у font-lock". 

типа:

  (defface my-fxto-face
    `((t (:background "yellow" :bold t)))
    "Face to highlight FIXME and TODO")

  (setq font-lock-keywords
        (cons (list "\\(FIXME\\|TODO\\):" 0 'my-fxto-face t)
              (cdr font-lock-keywords)))

lg ★★
()
Ответ на: комментарий от lg

Спасибо.

Возникла здесь проблема одна.

По поводу 6-го вопроса:

Добавил в ~.xemacs/custom.el
строчки:
(custom-set-variables
'(lazy-lock-mode t nil (lazy-lock)))

Многострочные комментарии стали подсвечиваться сразу, но при этом когда в строке
для ввода начинаешь что-нибудь вводить, выводится дурацкая мессага (в той же
строке):
Fontifying region... (wrong-type-argument markerp nil)

Данная мессага показывается 3 секунды, исчезает. Начинаешь опять что-либо вводить -
опять мессага появляется.

Быть может кто-нибудь знает как это вылечить?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.