<C-p>
그리고 <C-n>
현재 문서 내에서 발견 단어의 완료를 할 수 있습니다.
몇 가지 메모를 {0,1}^n
하고 (E,D)
여러 번 말하고 글을 쓰고 있습니다. 이들은 여러 단어로 구성된 단어입니다.
<C-p>
및 <C-n>
(또는 기타 관련 ins-completion
명령)으로 WORD를 완성하는 방법이 있습니까?
ins-completion
.
<C-p>
그리고 <C-n>
현재 문서 내에서 발견 단어의 완료를 할 수 있습니다.
몇 가지 메모를 {0,1}^n
하고 (E,D)
여러 번 말하고 글을 쓰고 있습니다. 이들은 여러 단어로 구성된 단어입니다.
<C-p>
및 <C-n>
(또는 기타 관련 ins-completion
명령)으로 WORD를 완성하는 방법이 있습니까?
ins-completion
.
답변:
옴니 펑크와 같은 자신의 기능을 작성하는 것 이외의 단어 완성을 할 수 있는지 모르겠습니다. 그러나 문자와 일치하는 단어를 확장하는 것이 마음에 들지 않으면 해당 문자를 'iskeyword'에 추가 할 수 있습니다
예를 들어, 'iskeyword'는 기본적으로
iskeyword=@,48-57,_,192-255
그런 다음 위의 추가 문자와 함께 설정했습니다.
:set iskeyword=@,48-57,_,192-255,{,},,,(,),^
이 추가 {
, }
, ,
, (
, )
, 그리고 ^
단어를 구성하는 문자 (이미 한 일에 추가)
그런 다음 입력이 {
Ctrl-n완료됩니다 {0,1}^n
( 주어진 두 예제 만 포함 된 파일에서)
참고 : :set iskeyword+=
다음과 같이 추가 작업만으로 수행하는 것이 좋습니다 .
:set iskeyword+={,},,,(,),^
이런 식으로 기존 설정에 새 문자를 추가하여 키워드를 구성하는 다른 요소는 그대로 둡니다.
원래의 질문의 일부는 아니지만, 다른 유사한 기능은 nvi 또는 Vim의 약어 기능을 사용하는 것입니다. 키워드 완성과 달리 약어는 최종 텍스트처럼 보이지 않아도됩니다. 또한 키워드 완성과 달리 약어는 요청하는 경우에만 자동으로 확장됩니다. 목표와 사용법에 따라 많은 입력을 절약 할 수 있으며 완료를 요구하지 않고도 많은 텍스트를 입력 할 수 있습니다.
약어는 작은 키워드 집합에 적합하며 미리 정의 할 수있는 경우 (단어 완성과 같은 텍스트에서는 검색되지 않습니다).
약어의 기본 개념은 WORD를 다른 텍스트와 연결하고 편집기에서 해당 WORD를 입력 한 것을 감지 할 때마다 (즉, 입력 한 텍스트는 공백으로 둘러싸이며, 완료 조치는 공백을 추가합니다) 키워드 또는 삽입 모드를 종료하면 다른 텍스트로 대체됩니다.
파일 {0,1}^n
에 많은 것이 포함되어 있고 다른 변형이 없다고 가정 해 봅시다 . 그것을 약간의 손가락 스트레칭으로 입력하면, 그냥 입력 01n
하거나 myvalue
확장하고 싶을 수도 {0,1}^n
있지만 , 단어 자체 01n
또는 myvalue
단어 자체 에서만 (즉, 다른 단어 내에 나타나는 경우에만) 변경).
nvi에서 할 수 있습니다 :abbrev 01n {0,1}^n
. Vim에서도 동일한 작업을 수행 할 수 있지만 :iabbrev 01n {0,1}^n
확장을 삽입 모드로만 제한하는 것이 좋습니다 .
그런 다음 텍스트가있는 경우 (여기서 |
커서를 나타냄)
We find that the value 01n|
그리고 당신은 공격 Esc하거나 Space또는 Tab하거나 커서를 이동, 텍스트가 대체됩니다, 당신은 (공간을 사용하여 예를 들어)가
We find that the value {0,1}^n |
중단없이 계속 입력 할 수 있습니다.
일반적으로 일반적인 오타를 자동으로 수정하는 데 사용되지만 (예 : 'teh'를 'the'로 변경) 미리 매핑을 설정하는 것을 신경 쓰지 않는다는 가정하에 사용 사례에도 똑같이 유용 할 수 있습니다.
:set iskeyword+={,},,,(,),^
예상대로 작동 하는 것 같습니다 .
abbreviate
이 작업에 더 적합한 방법에 대한 참조를 추가 할 수 있습니까?
:abbreviate
대신 사용하는 것이 좋습니다. 예를 들어,:ab 01n {0,1}^n
명령을 발행하십시오 . 그런 다음01n
삽입 모드에서 독립 단어로 입력 할 때마다 로 확장됩니다{0,1}^n
.