LINUX.ORG.RU

новичок и gnu emacs


0

0

Всем привет,

ковыряю emacs; возникли следующие вопросы:
1) как выставить ту или иную переменную (или определить ф-цию) в текущей сессии, чтобы проверить ее в работе, не выключая/включая emacs вновь. Пока нашел только M-x customize -- это работает для переменных, но как быть с ф-циями? Может быть есть что-то проще - например, ввести (setq bla-bla nil) в минибуфере и "вуаля" ?

2) indent styles. Emacs поддерживает несколько стилей. Меня интересует C, т.е. имеется k&r, gnu, bsd. Правильно ли я понимаю, что определены только размеры выравнивания в блоках, функциях и т.д.? Контролирует ли Емакс, где размещается открывающая скобка '{' -- на одной строке с выражением или на следующей (ведь это часть стиля)? Если нет, то как этого добиться?

3) скроллинг. Хочется "плавного скроллинга", чтобы экран не дергался. Нашел в сети вот такой рецепт:

(setq scroll-step 1)
(setq scroll-conservatively 50)
(setq scroll-preserve-screen-position 't)

Экспериментируя, установил, что скроллинг нормально работает и при одном установленном параметре: scroll-step или scroll-conservatively. Из документации не понял, в чем существенная разница, а также что делает scroll-preserve-screen-position. Надеюсь кто-нибудь поясниит :)


Заранее благодарю!

PS. Читаю встроенную доку, но пока не все понятно, написано сложно :(
Сорри за столь длинный пост.

anonymous

1. В буфере *scratch* (setq bla-bla nil) затем C-j. Есть еще отдельный интерактивный режим для elisp: M-x ielm

Begemoth ★★★★★
()

1) Заходим в *scratch* буфер или в другом .el файле набираем нужную функцию. Идем в конец функции и нажимаем C-x C-e. Функция выполнена.

2) Не знаю как добиться. Стиль определяет отступы в зависимости где вы ставите скобку, а не где ставить скобку. На самом деле в struct скобку ставят в той же строке, а, например, в for на другой. Некоторые делают иначе. Это не должен определять стиль.

3) На моем сайте нету scroll-step, потому это не комментирую. :)

http://kulchitsky.org/rus/linux/dotemacs.html

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

> 3) На моем сайте нету scroll-step, потому это не комментирую. :)
Остальные два параметра можете прокомментировать?

(setq scroll-conservatively 50)
(setq scroll-preserve-screen-position 't)

(гладкий скроллинг вполне работает и с scroll-conservatively). В чем принципиальная необходимость устанавливать scroll-preserve-screen-position ?

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

(setq scroll-preserve-screen-position 't)

При листании PgDn (C-v) и PgUp (M-v) обратимы. То есть вы должны попадать в то же место при листании туда и обратно. Это не совсем о гладком скроллинге, но отвечает обычно ожиданиям :).

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

> (setq scroll-preserve-screen-position 't)

> При листании PgDn (C-v) и PgUp (M-v) обратимы. То есть вы должны попадать в то же место при листании туда и обратно. Это не совсем о гладком скроллинге, но отвечает обычно ожиданиям :).


Большое спасибо, с этим параметром понятно. Полезное свойство.

PS. обнаружил, что scroll-step это немного устаревший вариант scroll-conservatively -- очевидно, поэтому они взаимозаменяют друг друга.

anonymous
()

1. Помимо того, что уже было сказано - есть функция eval-expression (M-:), вычисляет выражение, введённое в минибуфере.

Laz ★★★★★
()

>1) как выставить ту или иную переменную (или определить ф-цию) в >текущей сессии, чтобы проверить ее в работе, не выключая/включая emacs >вновь.

выделяешь область текста и набираешь

M-x eval-region

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

C-x C-e - вычисляет sexp перед точкой, довольно удобно.

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