emacs 中 css、html 的 html 缩进

emacs 中 css、html 的 html 缩进

我在 html 和 js 模式下对 emacs 缩进有问题。我想要更好的模式或功能来实现更好的缩进

我也看到了智能标签并创建如下代码

(require 'smarttabs)
(define-key read-expression-map [tab] 'hippie-expand)
(define-key read-expression-map [backtab] 'unexpand)

(smart-tabs-advice js2-indent-line js2-basic-offset)
    (smart-tabs-advice python-indent-line-1 python-indent)
    (add-hook 'python-mode-hook
              (lambda ()
                (setq indent-tabs-mode t)
                (setq tab-width (default-value 'tab-width))))
(smart-tabs-advice html-indent-line html-basic-offset)

但也存在问题,在 js2mode、html-mode、nxhtml 模式下我遇到了很多这样的问题

<div>
  <table>
    <tr>
      <td>
        test
      </td>
    </tr>
  </table>
</div>
  • 全部都是空格,我想要标签(具有特定大小)
  • 有时我想使用tabshift tab来增加或减少标签数量,但是不起作用...只有这种缩进是可以接受的:D

或者为 javascript js2mode 创建类似这样的内容

function preview(img, selection) {
    var scaleX = 64 / (selection.width || 1);
    var scaleY = 64 / (selection.height || 1);
    $('#preview').css({ 
                          width: Math.round(scaleX * img.width) + 'px',
                          height: Math.round(scaleY * img.height) + 'px',
                          marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px',
                          marginTop: '-' + Math.round(scaleY * selection.y1) + 'px' 
                      });
}

但我想要这个

function preview(img, selection) {
    var scaleX = 64 / (selection.width || 1);
    var scaleY = 64 / (selection.height || 1);
    $('#preview').css({
        width: Math.round(scaleX * img.width) + 'px',
        height: Math.round(scaleY * img.height) + 'px',
        marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px',
        marginTop: '-' + Math.round(scaleY * selection.y1) + 'px'
    });
}

我能做什么来解决这个问题?

答案1

text-indent CSS 属性指定块中文本行前的缩进量(空白空间)。默认情况下,该属性仅控制块中第一个格式化行的缩进

相关内容