LINUX.ORG.RU

Пара вопросов по Emacs


0

0

Общая картина: сам emacs мне нарвится, но способ его настройки (конретно --- lisp) нет.

Проблема:

1. Как отключить в режиме LaTeX замену " на `` или '' --- для ``русского набора'' двойная ковычка служит совсем иным целям.

2. Как привязать путешествие по tag-ам к комбинациям C-[ (идти к tag-у) и C-T (идти назад) как это есть в vim-е (если первое я даже не представляю, где копать, то для решения данного вопроса нужно знать lisp и внутренние команды emacs, на изучение которых нет времени).

anonymous

> 1. Как отключить в режиме LaTeX замену " на `` или '' --- для ``русского набора'' двойная ковычка служит совсем иным целям.

добавить в ~/.emacs:

(add-hook 'LaTeX-mode-hook (lambda () (local-set-key [?\"] 'self-insert-command))

> Как привязать путешествие по tag-ам к комбинациям C-[ (идти к tag-у) и C-T (идти назад)

Вообще в emacs для этого стандартные комбинации -- M-. (найти таг) и M-* (вернуться назад), и на C-[ вы find-tag повесить не сможете (не знаю почему, оно почему-то перекрывает код Escape), а перевесить pop-tag-mark с M-* на C-t легко:

(global-set-key [(control ?t)] 'pop-tag-mark)

а нафиг вам Emacs, если лисп не нравится?

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

1. А не помогает... :(

2. Во-первых, я ошибся, надо на C-], хотя тут все равно, т.к. проблема оказалась куда серьезнее: emacs-у не нравится tag-файл (раньше вроде не жадовался, vim с ним работает), во-вторых, что мне не нравится -- emacs задает лишние вопросы, приходится лишний раз нажимать Enter, я вот от этого хотел избавиться.

>а нафиг вам Emacs, если лисп не нравится?

Мне нравится emacs. Режимы работы в vim -- штука не всегда удобная, кроме того, там не все так хорошо при наборе LaTeX-овских файлов. Emacs чаще оказывается удобней, но указанные две проблемы мешают. Многие навешивают другие команды к emacs (или vim), превращая их уже в среду разработки, я так не привык, поэтому мне это кажется менее удобным. В силу указанной привычки, возиться с конфигами что vim, что emacs не приходиться, за исключением правки мелких неприятностей, портящих жизнь, чем, собственно, сейчас и занимаюсь.

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

> 1. А не помогает... :(

Наверное, у вас не установлен auctex, а только стандартный tex-mode. Для него попробуйте вот так:

(add-hook 'LaTeX-mode-hook (lambda () (local-set-key [?\"] 'self-insert-command))

Я все же советую установить auctex, если есть возможность, и почитать мануал -- там много очень удобных фитч...

> Во-первых, я ошибся, надо на C-]

на C-] висит выход из рекурсивного редактирования, не советовал бы вам это менять...

> emacs-у не нравится tag-файл

у emacs'а собственная тулзовина etags для генерации таблицы тегов. Я не знаю, насколько она совместима с ctags, с последним ни разу не сталкивался.

> emacs задает лишние вопросы, приходится лишний раз нажимать Enter, я вот от этого хотел избавиться.

Не соображу что-то ничего лучше этого (если emacs неправильно распознает тег под точкой, то придется вручную вызывать M-x find-tag):

(global-set-key [(meta ?.)] (lambda ()
(interactive)
(find-tag (current-word))))

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

тьфу блин, спать пора :) Вместо первого блока кода нужно читать:

(add-hook 'latex-mode-hook (lambda () (local-set-key [?\"] 'self-insert-command))

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

Кстати, про двойную кавычку... Мне, например, гораздо удобнее при необходимости нажать C-u " и получить обычную двойную кавычку, чем перенастраивать саму клавишу. Почему-то гораздо чаще мне нужны именно '<<' и '>>' :)

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

Двойная ковычка нужна в `` "--- '' а еще в ``"='' и ``"-''.

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