사용자 지정 comint 모드에서 탭 완성 가져 오기

출혈 손가락

일반적으로 다음과 같은 명령을 사용하여 CLI를 시작하려고합니다 (올바르게 정의하지 않을 수 있음).

(make-comint-in-buffer "PUTTY" nil "./plink.exe" nil "dbserver")
(make-comint-in-buffer "Python" nil "c:/Python26/python.exe" nil "-i")
(make-comint-in-buffer "Python" nil "c:/Python27/python.exe" nil "-i")
(make-comint-in-buffer "git" nil "C:/Program Files (x86)/Git/bin/sh.exe" nil "--login" "-i")

특히 명령 프롬프트의 첫 번째와 마지막을 위의 시작은 tab완료 기능을 제공합니다 . 그러나 comint-mode나는이 기능을 얻지 못하는 것 같습니다.

입력 tab하면 프로세스에 전달하고 완료 후보를 다시 가져 오는 대신 포인트 아래에 간단한 탭 문자가 추가됩니다. comint-dynamic-complete그리고 C-qtab원하는 결과를 생성하지 않습니다.

위의 기능을 comint-mode다른 프로세스 실행할 때 어떻게 활용할 수 있습니까?

타일러

짧은 대답

Emacs에서 자신 만의 완성 함수를 작성해야합니다. 이들은 외부 프로그램에서 정보를 가져올 수 있지만 python 또는 git 등에서 제공하는 탭 완성에 직접 액세스 할 수는 없습니다.

긴 대답 :

를 실행 make-comint-in-buffer하면 외부 프로세스에서 데이터를 대화식으로 보내고 받기위한 가장 기본적인 설정을 설정하는 것입니다. 를 누를 때마다 enterEmacs는 현재 행을 기본 프로세스로 보낸 다음 프로세스의 출력을 다시 인쇄합니다. 외부 프로세스는 Emacs가 전체 행을 보낼 때까지 수행중인 작업을 알지 못합니다. 단일 문자가 직접 전달되지 않습니다.

이것은 터미널에서 직접 외부 프로그램을 실행하는 것과 다릅니다. 터미널에서 파이썬을 실행하면 입력하는대로 모든 문자를 해석합니다 (또는 최소한 할 수 있음). 그래서 탭을 눌렀을 때 무언가를 완료하려고하는 것을 압니다. Emacs에서 파이썬을 실행하면 Emacs는 Enter 키를 누를 때까지 모든 입력을 처리합니다. 즉, 탭을 눌렀을 때 Emacs는 탭 문자를 삽입하고 파이썬은 무언가를 시도하고 완료하는 것을 알지 못합니다.

Emacs는 comint 모드에 대해 탭 완성 기능을 제공 할 수 있지만 Emacs 측에서 완성 대상을 구축해야합니다. 외부 프로그램의 기본 완성에 의존 할 수 없습니다. 이것이 어떻게 작동하는지에 대한 아이디어를 얻으려면 shell.el의 완성 함수를 살펴보십시오 M-x find-library shell.

이것은 한두 줄의 elisp로 할 수있는 일이 아닙니다. 외부 프로세스와 상호 작용하도록 작성된 주요 모드의 중요한 부분입니다-R 용 ESS http://ess.r-project.org/

즉, shell.el의 핵심을 파헤쳐 보면 시작할 수 있도록 수정할 수있는 충분한 코드를 찾을 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

단축 코드 속성에서 사용자 지정 분류법 가져 오기

분류에서Dev

사용자 지정 속성 내에서 사용할 속성 값 가져 오기

분류에서Dev

Mapbox-자동 완성 결과에서 지역 가져 오기

분류에서Dev

사용자 매직 기능을위한 IPython 사용자 지정 탭 완성

분류에서Dev

Angularjs 사용자 지정 지시문에서 속성 값 가져 오기

분류에서Dev

외부 페이지의 활성 탭에서 URL 가져 오기

분류에서Dev

C # 이벤트에서 사용자 지정 특성 가져 오기

분류에서Dev

사용자 지정 개체 배열에서 속성 배열 가져 오기

분류에서Dev

Python LDAP 쿼리에서 사용자 지정 속성 가져 오기

분류에서Dev

특정 개체 속성 / 필드에서 사용자 지정 특성 가져 오기

분류에서Dev

PHP에서 사용자 정의 속성 값 가져 오기

분류에서Dev

Laravel에서 많은 사용자 정의 속성 가져 오기

분류에서Dev

로그 사용자 지정 NLog 대상의 모든 속성 가져 오기

분류에서Dev

자동 완성 필드에서 텍스트 가져 오기

분류에서Dev

Angular Ractive Forms : 사용자 지정 구성 요소에서 유효성 검사기 가져 오기

분류에서Dev

강력한 입력을 사용하여 속성에서 사용자 지정 특성 가져 오기

분류에서Dev

PUN 2 사용자 지정 속성 가져 오기 및 설정

분류에서Dev

드롭 다운 선택과 함께 사용자 지정 속성 jQuery 선택기 사용 (2 개 가져 오기)

분류에서Dev

<select>를 사용하여 select2에서 사용자 지정 데이터 속성 가져 오기

분류에서Dev

여러 완성 파일 (zsh)에서 사용할 탭 완성 도우미 기능 정의

분류에서Dev

CRM 2011에서 연락처의 모든 기본 제공 및 사용자 지정 필드 가져 오기

분류에서Dev

DataGridViewComboBoxColumn에서 사용자 지정 형식 다시 가져 오기

분류에서Dev

사용자 지정 IStorage 구현에서 IProject 가져 오기

분류에서Dev

PySpark에서 사용자 정의 모듈 가져 오기 실패

분류에서Dev

Assembly.LoadFrom 사용자 지정 특성 가져 오기

분류에서Dev

jQuery로 사용자 지정 속성 가져 오기

분류에서Dev

Azure ML 배포 환경에서 사용자 지정 Python 모듈 가져 오기

분류에서Dev

SwiftUI가 탭보기에 사용자 지정 글꼴을 적용하지 않음

분류에서Dev

sqlite에서 사용자 정의 필드 가져 오기

Related 관련 기사

  1. 1

    단축 코드 속성에서 사용자 지정 분류법 가져 오기

  2. 2

    사용자 지정 속성 내에서 사용할 속성 값 가져 오기

  3. 3

    Mapbox-자동 완성 결과에서 지역 가져 오기

  4. 4

    사용자 매직 기능을위한 IPython 사용자 지정 탭 완성

  5. 5

    Angularjs 사용자 지정 지시문에서 속성 값 가져 오기

  6. 6

    외부 페이지의 활성 탭에서 URL 가져 오기

  7. 7

    C # 이벤트에서 사용자 지정 특성 가져 오기

  8. 8

    사용자 지정 개체 배열에서 속성 배열 가져 오기

  9. 9

    Python LDAP 쿼리에서 사용자 지정 속성 가져 오기

  10. 10

    특정 개체 속성 / 필드에서 사용자 지정 특성 가져 오기

  11. 11

    PHP에서 사용자 정의 속성 값 가져 오기

  12. 12

    Laravel에서 많은 사용자 정의 속성 가져 오기

  13. 13

    로그 사용자 지정 NLog 대상의 모든 속성 가져 오기

  14. 14

    자동 완성 필드에서 텍스트 가져 오기

  15. 15

    Angular Ractive Forms : 사용자 지정 구성 요소에서 유효성 검사기 가져 오기

  16. 16

    강력한 입력을 사용하여 속성에서 사용자 지정 특성 가져 오기

  17. 17

    PUN 2 사용자 지정 속성 가져 오기 및 설정

  18. 18

    드롭 다운 선택과 함께 사용자 지정 속성 jQuery 선택기 사용 (2 개 가져 오기)

  19. 19

    <select>를 사용하여 select2에서 사용자 지정 데이터 속성 가져 오기

  20. 20

    여러 완성 파일 (zsh)에서 사용할 탭 완성 도우미 기능 정의

  21. 21

    CRM 2011에서 연락처의 모든 기본 제공 및 사용자 지정 필드 가져 오기

  22. 22

    DataGridViewComboBoxColumn에서 사용자 지정 형식 다시 가져 오기

  23. 23

    사용자 지정 IStorage 구현에서 IProject 가져 오기

  24. 24

    PySpark에서 사용자 정의 모듈 가져 오기 실패

  25. 25

    Assembly.LoadFrom 사용자 지정 특성 가져 오기

  26. 26

    jQuery로 사용자 지정 속성 가져 오기

  27. 27

    Azure ML 배포 환경에서 사용자 지정 Python 모듈 가져 오기

  28. 28

    SwiftUI가 탭보기에 사용자 지정 글꼴을 적용하지 않음

  29. 29

    sqlite에서 사용자 정의 필드 가져 오기

뜨겁다태그

보관