IDE 대신 VIM을 다시 사용해야하는지 고려하고 있습니다. IDE에서 표준이 아닌 VIM의 가장 유용한 기능은 무엇입니까?
emacs
대신에 사용하기 시작할 수 있습니다 . ;-)
IDE 대신 VIM을 다시 사용해야하는지 고려하고 있습니다. IDE에서 표준이 아닌 VIM의 가장 유용한 기능은 무엇입니까?
emacs
대신에 사용하기 시작할 수 있습니다 . ;-)
답변:
VIM의 고급 기능이 반드시 그렇게 강력하다고 생각하지는 않습니다. 그것은 키보드에서 손을 떼지 않아도 아무것도 할 수 없다는 사실입니다. 거대한 파일에서 무언가를 찾는 것은 몇 번의 키 입력만큼 간단합니다. 같은 창에서 여러 파일을 열고 닫는 것도 엄청나게 빠릅니다.
처음에는 직관적으로 보이지 않지만 시간 가치가 있습니다. 표준 IDE로 사용하지 않더라도 (예를 들어 일반적으로 Visual Studio 또는 Eclipse를 사용) VIM을 사용하여 IDE를 기다리는 것보다 훨씬 빠르기 때문에 파일을 빠르게 열고 편집 할 수 있습니다. 하중.
VIM 사용법을 배우는 데 시간을 투자하면 결코 후회하지 않을 것입니다. 나는 터치 타입을 배우는 것과 비슷하다고 말하고 싶습니다.
나에게 :global
명령은 킬러 응용 프로그램입니다. 정규식과 일치하거나 일치하지 않는 모든 행에서 임의의 vim 명령을 실행합니다.
여기 몇 가지 예가 있어요.
기본 동작은 일치하는 모든 행을 나열하는 것입니다.
:g/TODO:/
"TODO :"라는 텍스트가 포함 된 모든 줄을 나열합니다.
'마우스'라는 단어가 포함 된 모든 줄에서 '미키'를 '미니'로 변경
:g/Mouse/ s/Mickey/Minnie/
명령은 자체 범위를 가질 수 있으므로 "TODO :"가있는 모든 행에서 다음 빈 행으로 삭제됩니다.
: g / TODO : /., / ^ $ / d
사용 : g! 정규식과 일치하지 않는 모든 행에서 실행 (예 : "sucks"라는 단어가 포함 된 행을 제외하고 "emacs"를 "vim"으로 대체) :
:g!/sucks/ s/emacs/vim/
짝을 이루는 심볼 세트 사이의 모든 것을 삭제하는 기능이 매우 유용하다는 것을 알았습니다. 예를 들어, 종종 코드에서 문자열을 바꾸고 싶다는 것을 알게 될 것입니다. 따라서 di"
커서가 블록에있는 동안 ""
그대로 유지하면서 문자열을 삭제 하고 두 따옴표 사이에 커서를 놓습니다. da"
똑같은 일을하지만 따옴표 문자도 삭제합니다.
ci"
은 커서를 삭제하고 삽입 모드에 놓아 즉시 쓰기를 시작할 수 있도록하는 것입니다.
'삽입 모드 키워드 완성'. 삽입 모드에서 Ctrl-P 및 Ctrl-N을 사용하여 텍스트를 검색하여 입력하는 변수 이름을 모두 입력하십시오. 나는 다른 IDE에서 이것을 본 적이 없으며 정말로 그것을 놓쳤다. IDE의 코드 완성은 동일하지 않습니다.
^X^O
삽입 모드에서 옴니 완료 (활성화 된 경우) 그러나 당신 말이 맞아요, 키워드 완성을 사용하는 것보다 옴니 완성을 훨씬 능가합니다.
내가 매우 유용한 다른 기능은 들여 쓰기를 변경하는 기능입니다. :15,30>>
15-30 (포함)의 모든 줄을 두 번 :15,30<<
들여 쓰고 같은 줄을 두 번 들여 쓰기합니다.
=
보다 유용하지는 않지만 <<
and 보다 유용하다고 생각 >>
합니다.
dd 명령 (현재 줄 삭제) 나는 이것을 많이 사용합니다.
또한 3dd와 같은 것을 입력하고 다음 3 줄을 삭제할 수 있다는 것은 훌륭합니다. 나는 다른 편집기에서 이것을 본 적이 없다 = D
명령 줄에 빠르게 액세스 할 수 있습니다. CTRL + Z 또는 : wqa는 키보드에서 손을 떼지 않고도 1 초 이내에 명령 줄을 표시합니다.
:!/bin/bash
. 나는 :!
자주 사용 합니다.
:sh
질문의 모호함과 IDE의 차이점으로 인해 대답하기가 다소 어려우며 많은 사람들이 다른 기능과 다른 기능을 제공하지 않습니다 (그리고 내가 몇 가지만 가지고 있다는 사실).
그러나 Vim을 다른 편집자와 구별 할 수 있다고 생각합니다 (예, Emacs조차도)는 정말 훌륭한 편집자라는 것 입니다. 나는 시간이 지남에 따라 많은 편집자를 사용했으며 Vim처럼 텍스트를 조작하는 완벽한 기능 세트가 거의 없다고 솔직하게 말할 수 있습니다.
예를 들어, 텍스트를 조작하는 스타일에는 아주 자주 (여러 줄의 선 / 선택) 복제 및 여러 줄의 선 / 선택) 위 / 아래 이동이 포함됩니다. 대부분의 IDE에서 이러한 기능이 누락되었습니다 (VS ReSharper에 비슷한 기능이 있다고 들었지만).
프로그래밍하는 언어에 따라, 아이디어를 고수하거나, 가장 많은 리팩토링을 제공하는 아이디어를 얻거나, C #을 수행하는 경우 Visual Studio를위한 선명도를 얻고, Java를위한 intellij 또는 Visual Studio를위한 시각적 지원, 일식 또는 넷빈에서 리팩토링을 최대한 활용하십시오.
우리는 텍스트 조작에서 코드 조작으로 이동해야합니다. 리팩토링 도구는 그러한 기능을 제공합니다. vim이 모든 기능을 제대로 제공한다면 더 이상 텍스트 편집기를 다루고 싶지 않습니다.
대부분의 IDE에서는 화면을 분할 할 수 없습니다. 저는 VIM에서 그 기능을 좋아합니다.
<C-w>