2017-04-21 7 views
0

파이썬 유닛 테스트 파일을 실행 한 후 문제가 발생합니다. 파일이 종료되면 "i"를 누르고 다른 vim 키 바인딩을 사용한 후에 만 ​​콘솔과 상호 작용할 수 있습니다. 또한 화살표 키를 사용하여 입력 한 내용을 가로 지르는 것은 줄 끝의 임의의 문자를 삭제한다는 것을 알게되었습니다.파이썬 파일을 실행 한 후 bash에서 실행되는 Vim 명령어

EX : 나는 RHEL 7 bash에 사용하고

$ ./tests.py -v 
<output> 
$ <cannot type> 
<press "i"> 
$ I can now type 
<press <- > 
$ I can no 

. 나는이 문제에 대한 인터넷 검색을 시도했지만 문제의 서식을 잘못 지정하고 있거나 드문 문제입니다.

도움 주셔서 감사합니다.

편집 :

실제 test.py 개인 코드가 포함되어 있지만,이 예는 같은 필수 코드가 포함되어 있습니다. 쉘이 vi-mode에 배치되는 것처럼

test.py는

#!/usr/bin/env python 

import unittest 

class TestUtil(unittest.TestCase): 
    def test_hello_world(self): 
     text = "Hello World!" 
     self.assertEqual("Hello World!", text) 
     print(text) 
     pass 
if __name__ == '__main__': 
    unittest.main() 
+0

, 정말 진짜 test.py를 표시 할 수 없습니다하지만 기본적으로 나는 변수를 만들 것이다, ansible와 실행 명령이 인터페이스 , 인쇄 출력 및 패스. – depperm

+0

같이 tests.py 무엇

set -o emacs 

+0

@ DanLowe 그건 내 문제 였어! 답변에 댓글을 달면 올바른 것으로 표시됩니다. –

답변

0

소리가 난다. 이 모드는보다 일반적으로 사용되는 emacs 키 대신 vi 편집 키를 사용할 수있는 모드 인 readline입니다.

이 문제가 발생할 수 있음을 알게 된 두 가지 방법이 있습니다.

set -o vi 

bindkey -v 

기술적으로, 당신이 set +o vi를 사용을 해제합니다. 그러나 이렇게하면 모든 인라인 편집이 비활성화됩니다. emacs 모드로 돌아 가기를 원할 가능성이 높습니다. 보통은 기본값입니다. 그렇게하려면, 대신에이 작업을 수행 :

위의 추가