LINUX.ORG.RU

Отступы табуляцией в Bash с SmartTabs.

 , ,


0

2

Как в Emacs'е настроить использовать SmartTabs для некоторых желаемых языков и табуляции для Bash?

Сейчас так:

(require 'smart-tabs-mode)
(smart-tabs-insinuate 'c 'ruby)
(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
SmartTabs работает в C и Ruby, но в Bash используются пробелы, а не табуляция.

★★★★★

Последнее исправление: Camel (всего исправлений: 1)
Ответ на: так работает? от hope13

Не работает

Нет, по прежнему пробелы. Пробовал ещё 'shell-mode-hook и 'shell-script-mode-hook, результат тот же.

Camel ★★★★★
() автор топика
Ответ на: так работает? от hope13

t

А с чего ты взял, что это должно работать? Где у него t определено? Или на что оно должно биндиться? Или это встроенная переменная, константа?

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

t means Ъ

Или это встроенная переменная, константа?

Любое не-nil значение воспринимается как Ъ true.

Camel ★★★★★
() автор топика
Ответ на: t means Ъ от Camel

А, у них t — это true? Понял:) Первый раз вижу, такое незатейливое название:)

newquestion
()
Ответ на: Не работает от Camel

вот это точно работает:

(add-hook 'sh-mode-hook (lambda () (setq tab-width 4 sh-basic-offset 4 indent-tabs-mode t))) 

//в емакс табуляция зависит от переменной tab-width, в частности ширина табуляции должна быть кратной tab-width.

hope13 ★★★
()
Последнее исправление: hope13 (всего исправлений: 1)
Ответ на: комментарий от hope13

Не точно

вот это точно работает:

Не работает. Вот полный .emacs.d/init.el

(menu-bar-mode -1)
(tool-bar-mode -1)

(set-default-font "Hack-16")

(add-to-list 'load-path "~/.emacs.d/cl-lib/")
(require 'cl-lib)

;; (setq-default indent-tabs-mode nil)
;; (setq tab-width 4)

(require 'package)
(package-initialize)
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                         ("marmalade" . "https://marmalade-repo.org/packages/")
                         ("melpa" . "http://melpa.org/packages/")))

(require 'whitespace)
(setq-default whitespace-style '(face tabs spaces trailing space-before-tab newline empty space-after-tab space-mark tab-mark newline-mark))
(global-whitespace-mode 1)

(require 'fill-column-indicator)
;; (add-hook 'after-change-major-mode-hook 'fci-mode)

(require 'smart-tabs-mode)
(smart-tabs-insinuate 'c 'ruby 'python)
(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
(add-hook 'sh-mode-hook (lambda () (setq tab-width 4 sh-basic-offset 4 indent-tabs-mode t)))
;; (add-hook 'shell-script-mode-hook
;;           (lambda () (setq indent-tabs-mode t)))
;; (add-hook 'sh-mode-hook
;;           (lambda () (setq indent-tabs-mode t)))

(smart-tabs-advice python-indent-line-1 python-indent)
(add-hook 'python-mode-hook
          (lambda ()
            (setq indent-tabs-mode t)
            (setq tab-width 4)))
;;            (setq tab-width (default-value 'tab-width))))

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