Emacs break 代码语句

编程语言里面statement长了,为了保持可读性,需要拆分,但是又要不影响逻辑,就需要一些“修饰符”。

举个python的例子(因为python依靠indent来划分scope)

if number > 5 and number < 15:
    print "1"

可以这样断句子:

if (number > 5 and
    number < 15):
    print "1"
# 用括号

也可以这样

if number > 5 and \
        number < 15:
    print "1"
# 用backslash

Emacs有没有功能能做到这个呢(不同语言style guide不一样)

里面也提到了其它工具。

An example of the type of formatting that YAPF can do, it will take this ugly code:

x = {  'a':37,'b':42,

'c':927}

y = 'hello ''world'
z = 'hello '+'world'
a = 'hello {}'.format('world')
class foo  (     object  ):
  def f    (self   ):
    return       37*-+2
  def g(self, x,y=42):
      return y
def f  (   a ) :
  return      37+-+a[42-x :  y**3]

and reformat it into:

x = {'a': 37, 'b': 42, 'c': 927}

y = 'hello ' 'world'
z = 'hello ' + 'world'
a = 'hello {}'.format('world')


class foo(object):
    def f(self):
        return 37 * -+2

    def g(self, x, y=42):
        return y


def f(a):
    return 37 + -+a[42 - x:y**3]
1 个赞