用于css的html缩进,在emacs中的html

时间:2011-04-19 05:31:30

标签: emacs indentation

我在html和js模式下遇到emacs缩进问题。 我想要更好的模式或功能以获得更好的缩进

我也看到了Smart Tab并创建了这样的代码

(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 个答案:

答案 0 :(得分:1)

nxml mode(配置片段here)会给您带来满意的效果吗?