vi 쓰시는 분들에게... 방향키는 절대로 안쓰는게 좋습니까?
글쓴이: hsnks100 / 작성시간: 월, 2013/12/30 - 12:54오후
정말 궁금합니다.
입력모드에서 커서 왔다갔다 하면서 편집하고 싶은 욕망이 강하게 드는데요. 억제를 해야할까요?
참고 쓰다보면 밝은 날이 옵니까? 너무 간질간질합니다.
사소한거 하나하나 esc 눌러서 hjkl 로 이동하는데, ... 제가 하는 방법이 맞는지 잘 모르겠습니다.
조언 부탁합니다!
Forums:
그냥 편하게 사용하는게 좋은 것 같습니다.
그냥 편하게 사용합니다. 어차피 vi만 사용하는 것도 아니라서 문서편집이나
다른데서 vi 키가 먹는 것도 아니라서 둘다 필요한 상황에서 편하게 사용합니다. 그리고
키보드 중앙에만 계속 손올리고 사용하면 어깨랑 손목도 않좋아집니다.
저는 키를 다시 디파인해서 j, l로 좌우, i,k로 위 아래 이동합니다.
^space로 편집모드와 명령모드를 왔다갔다 하게 했구요.. ^j로 back space ^k로
delete를 사용합니다. shift-i,shift-k를 이용해 page 단위 스크롤로 사용합니다.
명령모드에서 t 누르면 우측 tab으로 shift-t를 누르면 좌측 텝으로 이동하게 해서
제 맘에 맞도록 변형해서 사용합니다.
주로 편짐위치 찾거나 read only 파일 볼 때는 화살표키 보다는 ijkl 을 많이 사용
그래도 커서키가 편하긴 합니다. 편집모드나 명령 모드 둘다 사용하니 혼란도 없고
그리고 마우스도 잘 사용합니다. 상황에 따라 편한 인터페이스가 있는 것 같습니다.
키를 내가 원하는데로 바꿀수있나요?
바꿀수 있다면 하는 방법좀 알려주실수있나요?
그리고 ^space에서 ^의 의미가 뭔가요? shift + 6 + space 하라는건가요?
거기서 ^는 Control 키를 뜻하는 것 같네요.
거기서 ^는 Control 키를 뜻하는 것 같네요.
세벌 https://sebuls.blogspot.kr/
최신 리눅스 bash같은경우는 괜찮은데..
최신 리눅스 bash같은경우는 괜찮은데..
가끔 오래된 *nix vi들중 방향기가 안먹히는것들이 있습니다.
SE나 SI로 여러가지 서버 접해본다면 hjkl쓰시는게 좋습니다^^
제가 쓰는 해결책(?)은 대충 다음과 같습니다.
제가 쓰는 해결책(?)은 대충 다음과 같습니다.
<Esc>
키로 작동하게 만든다거나<Esc>
키를 서로 바꾼다거나익숙하면 상당히 편리합니다.
hjkl 익숙해지면 그다지 불편하다고 느끼지 않을 수 있습니다.
윈도우와 linux를 같이 쓰다 보면 어느 순간, 메모장에서 :q 하고 있는 자신을 발견합니다.
page up, page down의 경우도 ctrl+f ctrl+b 가 익숙하면 편합니다.
노트북의 경우 키배열이 특징이 있는데, vi키는 거의 표준 키배열에 영숫자 안에서 사용하니.
0 줄 맨앞으로 갈 때, A 맨 뒤에 넣을 때, $ 맨 뒤로 이동할 때,
옆으로 이동할 때, lwlwlwlwlwlw 통해서 이동하기도 하고,
찾기도 /, ? 통해서 자유롭게 이동하고,
:%s 같은 걸로 쉽게 문자열 바꾸고,
123G 같은 걸로 라인 쉽게 이동하고,
복사할 때도, 마우스로 어렵게 드래그하는 것이 아니라, 5yy 같이 눈대중으로 라인수 잡아서 복사할 수 있지요.
심지어, 메모장정도만 있는 PC에는 gvim을 설치하여 사용합니다.
최소한 메모장보다는 편하지요.
hjkl i a x d c w 정도로 시작해 보십시오.
vi에서 방향키를 사용하려고 하지마시고,
vi를 익히던가 nano gedit 같은 걸로 갈아타시면 됩니다.
--
http://www.dgkim.net/
입력 모드에서 잠깐의 이동을 하고 싶을 때 좀
입력 모드에서 잠깐의 이동을 하고 싶을 때 좀 번거로울 때가 있습니다. "Esc, 할 것 인가 말 것 인가"
다른 유닉스들도 그렇고 많은 리눅스 배포본들이 기본적으로 vim의 풀 버전을 설치하질 않습니다. vim이 아니고 vi(보통 vim을 최소 옵션으로 컴파일한)만 설치하고 vim은 따로 설치해야 합니다. vi는 방향키가 먹질 않습니다. 방향키에 익숙해졌다면 이럴 때 좀 답답할 수 있습니다. 난 내 컴퓨터 말고는 안 만진다 하시면 상관 없습니다.
간단한 이동이라면 입력 모드에서 C-o를 사용하는 방법도 괜찮습니다. C-o는 노말 모드 명령 하나를 수행하고 다시 입력 모드로 들어 갑니다. C-o p하시면 Esc p i 와 같습니다. C-o /keyword 하시면 Esc /keyword i 이렇게 한 것과 같습니다. 비슷한데 마지막에 입력 모드로 들어가는 키가 하나 생략 됩니다. 이걸 easymotion 플러그인과 같이 사용하면 잘 어울립니다.
easymotion 플러그인은 단어, 글자, 행 단위의 이동 명령들을 진짜 끝내주게 만들어 줍니다. 현재 화면에 보이는 곳 중에서 b, w, e, ge, j, k, f, F, t, T 이런 키들로 이동 가능한 위치 어느 곳이나 한 번에 갈 수 있게 해줍니다. 기억할 것 하나는 저 키들을 눌르기 전에
<leader><leader>
를 누릅니다. 저의 경우는 ,,(콤마콤마).b, e 등등 다 마찬 가지의 원리 입니다. w, b인지 생각조차 하기 싫으면 f,F만 기억하면 됩니다. 그냥 원하는 곳의 글자로 검색해서 갑니다.
easymotion과 C-o와 결합하면 입력 모드에서 상당히 랜덤한 이동을 영화의 한 장면처럼 할 수 있습니다.
정말 한 폭의 그림 같지 않나요?
다른 방법은 readline(emacs) 스타일의 단축키를 지정해서 사용하는 겁니다. readline이나 emacs에 대해 모르시더라도 터미널(쉘)에서 작업을 해보셨으면 이미 몇 가지 단축키를 알고 계실 겁니다. 그냥 아무키나 지정하면 되지 왜 굳이 readline이냐?
readline 단축키들은 터미널에서 사용자 입력을 받는 거의 대부분의 프로그램들에 의해 사용되고 직접 readline 라이브러를 사용하지 않더라도 거의 비슷한 단축키를 자체적으로 지원해 줍니다. 익혀두면 터미널 환경에서는 유비쿼터스 합니다. 먹어준다는 표현이 이럴 때 어울리겠군요. gtk도 키바인딩을 emacs로 지정하면 이런 단축키들을 브라우저를 포함한 많은 gtk 프로그램의 입력창에서 사용할 수 있습니다.
제가 자주 쓰는 키만 몇 가지 나열해 보겠습니다.
inoremap을 사용하셔서 직접 맵핑하셔도 되고 https://github.com/tpope/vim-rsi 플러그인을 쓸 수도 있습니다. 이 플러그인의 설정은 위의 단축키와는 약간 다른데(C-n,p -> M-n,p) command 모드에서도 되도록 맵핑해 줍니다.
혹시나 hjkl이나 방향키를 주된 이동 수단으로 사용하시고 다른 키들은 잘 쓰시지 않는다면 :h motion.txt를 틈날때 마다 자주 읽으시라고 말씀 드리고 싶습니다. vim은 글자 단위 보다는 논리적인 단위로 접근할 때 그 강점이 더 잘 발휘 됩니다.
특히나 커서를 이동하는 목적이 그 자리에서 입력을 바로 시작하는 것이 아니라 삭제나 수정 혹은 선택을 하기 위한 밑준비인 경우가 많은데 이런 조합을 묶어서 처리하는 키들이 많이 있습니다.
5, 6에 있는 키들이 정말로 많이 유용하고,
이런 플러그인과 함께 쓰면 효과가 엄청 증폭 됩니다. surround는 각종 태그, 괄호, 따옴표에 찌든 현대인의 지친 마음을 따듯하게 surrond 해주는 플러그인입니다.
"아까 거기로 가고 싶다" - 묻지마 이동의 꽃, 8도 꼭 읽어 보세요. 막연하게 어딘가 가고 싶을 때 눌러 보면 마법처럼 그곳으로 데려다 주는 몇 가지 유용한 키들을 알려 줍니다.
잊지 마세요. 당신도 영화의 한 장면 처럼 이동할 수 있습니다.
--
마잇
일일이 답변 못 달아줘서 죄송합니다. 답변 다신
일일이 답변 못 달아줘서 죄송합니다.
답변 다신 모든분들 감사합니다. vi 에 한층 더 다가선거 같네요. 고맙습니다~!
장문의 글을 달아주신 마잇님 감사합니다. 꼼꼼히 다 읽었습니다.
----------------------------------------------------
개인 블로그: https://kangssu.com
정답을 알려드립니다. vi는
정답을 알려드립니다.
vi는 안쓰는게...
emacs를 쓰는게...
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
심지어 twitter, facebook, 9gag
심지어 twitter, facebook, 9gag 에서 j, k 사용 가능합니다.
--
http://www.dgkim.net/
gmail, tumblr에서도 가능합니다.
gmail, tumblr에서도 가능합니다.
심지어 저는 파이어폭스나 크롬에도
vimperator, vimfx,
vimium 같은 애드온을 깔아서 vi키로 웹서핑을 합니다.
글쓴이 입니다. 지금은 vim 의 열렬한 팬이
글쓴이 입니다. 지금은 vim 의 열렬한 팬이 되었습니다. hjkl 없이는 vim 을 쓸 수가 없군요.
모든 에디터를 vimming 합니다. visual studio + vsvim, eclipse + vrapper, xcode + xvim.
vim 나홀로 쓰는것도 아주 만족스럽습니다.
sublime 에디터도 병용해서 쓰는데 여기서도 vim 플러그인 찾습니다.
정복하길 잘했습니다. 가끔 텍스트 입력하는데 vim operation 이 안되는 환경에 가면 말 못할 답답함이 느껴집니다.
----------------------------------------------------
개인 블로그: https://kangssu.com
vim operation 이 안되는 환경에 가면 말
vim을 배우고 이 점이 가장 불안 합니다.
방향키로 이동하는것은 vim에서만 되는거고요.
방향키로 이동하는것은 vim에서만 되는거고요 freebsd나 다른 상용 유닉스에 딸려오는 vi들은 방향키 전혀 안 먹습니다.
하나 더해서 v키로 영역설정하는것도 vim만 됩니다. 오리지날 vi는 물론 elvis같은 다른 vi클론들도 다 안되는 vim만의 특화기능.
Written By the Black Knight of Destruction
간만에 생각이 나서 검색해보다가 제가 쓴글이
간만에 생각이 나서 검색해보다가 제가 쓴글이 있네요.
이젠 vim operation 없이는 뭘 못하겠습니다... 가장 걱정되는 부분이네요.
예전에 only insert mode 에서 어떻게 작업을 했는지 기억이 잘 안납니다. 제가 home, end, ctrl, insert, delete 키를 조합해서 굉장히 키보드 타이핑을 화려하게 하는 스타일이었는데
또 문제는 노트북이나 표준 키보드가 아니면 너무 힘들었던 기억이 있네요. (미니 키보드 같은 경우)
이젠 vim operation 만 있으면 걱정이 없는데, 반대로 그 점이 가장 불안합니다.
현업에서는 vim 플러그인만 깔면 되는데, 그게 아닌 경우에 다른 사람 컴퓨터로 뭐 봐줄 때는 그냥 키보드 잡고 타이핑을 못하고 있네요.
세벌식 유저에 vim 유저가 되니까 일반 다른 컴퓨터에서 타이핑이나 글을 쓸일이 있으면 글 구성 생각하는것만 해도 버거운데
머리속으로 두벌식, vim 이 아니니까 다른식으로 타이핑을 해야한다는 압박감 때문에 너무 힘듭니다.
그냥 세벌식, vim 을 모르는 상황으로 갔을 때가 암것도 몰라서 맘이 편했던것 같네요.
그나마 드보락도 6개월 가량 써봤는데 환경마다 너무 단축키 환경이 달라서 도저히 적응을 못하고 현재는 qwerty 를 씁니다. 콜맥도 1년가량 썼는데 결국 qwerty...
다시 qwerty 로 돌아온게 다행이네요.
또한, 세벌식 최종썼다가 신세벌식 썼다가 2015 세벌식 썼다가 지금은 세벌식 390 씁니다.
이 처럼 자기만의 환경 세팅이 너무 강해서 겪은 힘든 일 있으신가요?
----------------------------------------------------
개인 블로그: https://kangssu.com
저는 세벌식최종, 드보락, 가끔가다 쿼티 씁니다.
저는 세벌식최종, 드보락, 가끔가다 쿼티 씁니다. 콜맥은 안 써봤습니다. 처음엔 평범하게 두벌식과 쿼티로 시작.
드보락 자판 자체는 좋은데 환경이 다른 곳에서는 불편함이 있습니다.
예를 들어 어떤 프로그램에서 Ctrl-C를 눌러야 할 때 키보드에서 c를 드보락 기준으로 해야 할까요? 쿼티 기준으로 해야 할까요? 프로그램에 따라 다르더군요...
세벌식 자판도 그 자체는 좋은데 환경에 따라 불편함이 있습니다.
어떤 입력 항묵에 숫자만을 입력하도록 제한한 경우 두벌식기준으로 숫자 자리를 눌러야만 되게끔 만든 프로그램이 있지요. 일부러 그렇게 만들기도 힘들겠구먼.
이런 저런 불편함이 있어도 세벌식과 드보락을 쓰는 편함이 불편함보다 크기에 세벌식과 드보락을 버릴 생각은 없네요.
세벌 https://sebuls.blogspot.kr/
드보락도 써봤으나 ctrl+c, v 가 너무 힘들어서
드보락도 써봤으나 ctrl+c, v 가 너무 힘들어서 포기했습니다.
단축키 배열이 너무 판이하게 다른건 적응이 안되더라고요.
----------------------------------------------------
개인 블로그: https://kangssu.com
데비안 계열의 경우는
기본 설치된 vim은 i 모드중 방향키 사용시 깨진 글자가 주루ㅜ룩~~ 넘처나는 현상을 보시게 됩니다.
dd 를 연발해서 지워도 나중에 방향키를 누르면 또 나옵니다.
그러나 apt-get 으로 다시 설치하면 동일 버전임에도 그런현상이 없어지고요..
조금 다른 주제이긴 하나......
제 경우, AutoComplPop라는 자동완성 플러그인을 사용합니다. 그리고 많은 분들이 사용하고 계시리라 생각합니다.
이 경우 플러그인이 추천하는 항목 중 하나를 선택할 때 방향키를 사용해야만 하지 않나요? 다른 방법이 있나요?
c-n c-p 입니다.
c-n c-p 입니다. emacs 의 그것이죠.
----------------------------------------------------
개인 블로그: https://kangssu.com
댓글 달기