2016-10-06 5 views
1

물고기 껍질에 두 번째 시도를하고 있습니다. 실제로 나를 귀찮게하는 한 가지는 Ctrl + w 바로 가기의 "새로운"동작입니다.bash와 같은 물고기 쉘 삭제 단어를 만드는 방법

상황은 다음 고려 :

$ vim ~/.config/fish/config.fish 

를 ... 줄의 끝 부분에 커서를 가지고. 당신이 Ctrl 키를 누르면

+ 승, 다음과 같은 상황이 발생합니다 bash는

  • : ~/.config/fish/config.fish 물고기에
  • 을 삭제 : 만 config.fish 내가 할 수있는 방법

을 삭제 물고기는 공백으로 구분 된 단어를 삭제합니까?

+1

물고기 쉘에 익숙하지는 않지만 라인 편집기에서 어떤 단어를 "단어"로 간주해야하는지 정의하는 설정이 적용됩니다. 예 : vim에는'iskeyword' 옵션 변수가 있고 zsh에는 쉘 변수'$ WORDCHARS'가 있습니다. 즉 기본적으로 zsh 라인 편집기가 원하는 것을 수행하지만, 개인적으로'^ W'가 파일 경로 세그먼트에서 멈추기를 원하기 때문에'$ WORDCHARS'를 편집했습니다. 때때로이 동작은 당신이 호출하는 라인 에디터 함수에 따라 다르다. –

답변

6

"물고기의 표기법에서"\ cw "는"backward-kill-path-component "(bind \cw에서 알려줍니다)에 바인딩됩니다. bind \cw backward-kill-word 또는 bind \cw "commandline -rt ''" (제거 전체 현재 토큰) 또는 bind \cw backward-kill-bigword - 당신이 원하는 경우

, 당신은 "뒤로 죽이는 단어"또는 물고기 스크립트 등의 입력 기능을 포함, 다른 뭔가에 바인딩 할 수 있습니다. 자세한 내용은 the bind documentation 또는 bind --help을 참조하십시오.

여기서 "단어"와 "큰 단어"의 차이점은 "단어"는 단어가 아닌 다음 단어로 이동한다는 것입니다. 단어는 "."일 수 있습니다. 또는 "/"또는 "-", "bigword"는 진정으로 다음 공백 문자로 이동합니다.

"bigword"기능은 fish 2.3.0에서만 도입되었습니다.

대화식 셸에서 이러한 주문을 시도 할 수 있습니다. 영구적으로 만들려면 fish_user_key_bindings이라는 함수에 추가해야합니다.

+0

좋아,이게 나를 2.3 버전으로 업그레이드시켜 주었다. 감사! –