2012-03-02 8 views
5

내가 알고있는 것처럼, w 3 개 그룹으로 분할 텍스트로 단어 경계를 인식 (문자)vim에서는 맞춤 단어 경계 동작을 어떻게 만듭니 까? <code>iskeyword</code> 설정에 지정된</p> <p>1) 문자 (알파벳, 숫자 및 밑줄)</p> <p>2) 기타 인쇄 할 수없는 문자 :

3) 공백 문자

당신이 단지 다음 1 군에 간다, 그래서 내가 그것을 정의하고 싶습니다 다음 그룹 1 또는 그룹 2로 이동 w을 누를 때마다 시간이 지남에 점프 "기호 wo rds ".

은 무엇 거의 작동하면이 경우 : iskeyword 문자 클래스 \k를 사용

nnoremap w /\k\+<CR>

. 그러나 검색을 수행하여 내 강조 표시를 변경하고 내 검색 기록을 어지럽게 만들고 다른 사람이 알고있는 것을 모의하기 때문에 추한 것입니다. w 명령이 정상적으로이 작업을 "깔끔하게"만들 수 있습니까?

nnoremap w /\k\+<CR>:nohl<CR>:call histdel("search", -1)<CR> 

그것은 추한 및 강조 표시는 할 수있다 :

+0

나는 당신이 원하는대로 따라하지 않는다. 'W '가 도움이됩니까? 그것은 공백 문자와 공백 문자가 아닌 두 개의 문자 그룹을 가지므로 다음 공백 문자 다음의 첫 번째 문자로 항상 이동합니다. –

+0

아니요, 제대로 작동하지 않습니다. 'W'는 알파벳 문자와 함께 기호 문자를 덩어리로 만듭니다. 내가 원하는 것은 사실상 공백 문자를 사용하여 기호를 덩어리로 만들므로 단어 경계를 만드는 동안 기호를 건너 뛸 수 있습니다. – Ein

답변

0

것은 내가 난 \k이 상황에서 무엇을 의미하는지 모르겠지만, 당신은 두 가지 즉각적인 문제는 선물을 해결할 수 있습니다 .. 여기에 많은 도움이되지 않을 수도 있습니다 깜박임, 그러나 이것은 올바른 방향으로 당신을 가리킬 것입니다.

3

나는 operator pending mode, a.k.a xmap, smap 및 가족을 찾고 있다고 생각합니다.

나는이 in other answers on SO의 몇 가지 예를했을 :

가장 적절한 예는

또한 유사하고 유용 할 수있는 몇 가지 방법을 찾을 것입니다 너

+1

나는 그것을 기억한다. 좋은 대답. – lucapette

+0

운영자에게 적절한 동작을하는 것이 좋으며, 그래서 대답을하면 새로운 것들이 나에게 가르쳐주었습니다. 그러나 실제로 나를 불행하게 만드는 것은 "탐색을 수행하는"나를 모방하는 것입니다. 나는 그것을 실행하여 대응하는'xmap'과'omap'을 정의해야합니다. – Ein

+0

@Nuno : 문서의 경우 vimscript (함수) 내부에서 검색하면 ** '현재'검색 패턴, 검색 기록 등에 영향을 미치지 않습니다 ** (어쨌든 모든 _other_ 부작용은 그 같은 함수) – sehe