나는 코드가있을 때 :이맥스에서 들여 쓰기 영역에 할당과 해시를 지능적으로 정렬하는 방법은 무엇입니까?
a = 1
foo = 2
을 나는 것처럼 보이게하려는 :
a = 1
foo = 2
내가 사용할 수있는 정렬 --같음 기능 여기에 정의 :
Emacs hotkey to align equal signs
영역을 선택하고 기능을 실행하십시오. 나는 함수 정의에 '=>'에서 '='변경뿐만 아니라 해시 일하기 기능을 변경하고 할 수 있습니다 :
bar = { :a => 1,
:foo => 2 }
는로 변환 :
bar = { :a => 1,
:foo => 2 }
나는이 원하는 전체 버퍼를 선택하고 indent-region을 실행할 때 모든 코드에 대해 정렬을 수행해야합니다. 그러나 나는 그것을 지능적으로 수행하기를 원합니다 - 버퍼의 모든 '='를 가장 오른쪽 '='에 정렬하지 말고 할당 블록과 개별 해시 리터럴을 위해 수행하십시오.
편집 :이 마지막 부분을 명확히하기 위해, 나는 다음과 같은 버퍼 있다고 가정 :
a = 1
foo = 2
some_other_code
def fn
bar = { :a => 1,
:foo => 2 }
end
내가 (전체 버퍼를 선택) 'CX의 시간'을하고 싶지을, 'MC- \'(indent- 지역)과는 다음과 같이 있습니다
a = 1
foo = 2
some_other_code
def fn
bar = { :a => 1,
:foo => 2 }
end
이것은 정렬 - 투 - 동일 기능을 대체 작동하지만, 어떻게 내가-들여 지역이을 추가 할 수 있으며 그것은 단지 지정의 정의 나 그룹을 해시 로컬 신청 한? (I이 무엇을 의미하는의 설명에 대한 원래의 질문에 편집을 참조하십시오.) – Loren
을 아마도 정렬 - 정규 표현식 다음-지역을 들여 호출하는 새로운 defun는 함께. 그러나 나는 단순히 indent-region을 수행 한 다음 모든 align-regexp를 수동으로 수행 할 것입니다. 이 워크 플로우가 그러한 자동화에 충분히 호소력이 있는지 확실하지 않습니다. – vpit3833
놀라운! 고맙습니다! – film42