2014-12-28 5 views
0

bash 쉘에서 (긴) 명령을 입력 할 때 실수로 줄을 잘못 입력했다면 다시 돌아 가지 않아도 실수를 바로 잡을 수 있습니까? 이 말에 무언가를 추가 할 수있을 것이다 -Bash 쉘 명령 인라인 교정

git commit =m 'Some really long commit message, perhaps spanning multiple lines' 

실수 = 대신 를 입력 한 예를 들어, 당신은 그냥 이런 식으로 뭔가를 입력했지만 아직 누르지 복귀했다 말할 수 명령을 입력하기 전에 실수를 바로 잡기 위해 인라인 대체를 수행 할 Enter 키를 누르십니까?

  • Ctrl+C을 누른 다음 복사 및 붙여 넣기의 조합을 사용하여 명령을 다시 작성하는 것과 같이 귀찮은 작업을하지 않아도되는 것이 좋습니다.
  • Enter 키를 누르기 전에 교정 할 수 있도록 왼쪽 화살표를 엄청 많이 누르십시오. (이론)

한 가지 해결책은 그러나 그때 이러한 방식으로 사용할 수있는 텍스트 문자열로 명령을 캡처하는 방법을 잘 모르겠습니다, sed를 통해 파이프 전체 명령의 내용이 될 것입니다. 내가 할 것이 무엇

+1

'C-a'를 누르면 (줄의 처음으로 돌아갑니다). 그리고 나서'C-e' (줄 끝)가 끝나지 않았다면 – keyser

+0

그것은 rebindable이고,'C-a'는 emacs입니다. – simonzack

+1

물론 리 바인드 가능하지만 'C-a'는 일반적으로 예를 들어. Bash (이맥스 모드) – keyser

답변

1

: Ctrl 키

는 다음 = 후 커서를 이동 + 는 다음Ctrl 키를 + 을했다.

최근 단어를 삭제하십시오.

+1

백 스페이스를 사용합니다. 나는 vim 신이 나를 지금 당할 것이라고 생각한다. – keyser

+0

ctrl + w가 다른 트릭을 추가하기 만하면되었다. 물론 백 스페이스도 그렇게 할 것이다;) –

+0

위대한 작품이다. ('bash shell for the line of the line'을 찾기 위해 웹 검색을하지 않으면 부끄럽다.) 물론 이것이 작동하지 않는 몇 가지 경우가 있습니다 (키가 리바운드되고 화면 세션 내에서 작동하지 않는 경우)하지만 일반적으로 이는 올바른 접근 방법입니다. – robjohncox

1

여러 바로 가기 여기에 도움이 될 수 있습니다

  • 사용 Ctrl 키가 줄의 시작
  • 사용 고도 + B고도 + F에 갈 + 한 번에 한 단어 씩 앞뒤로 이동
  • alt + e ~ 현재 명령이 포함 된 ($ EDITOR) 편집기를 열고 편집 한 다음 편집기를 닫습니다.