일반적으로 명령 모드에서 특히 줄로 이동하는 방법을 알고 있습니다. 그러나 현재 현재 줄의 끝으로 이동하는 명령은 무엇입니까?
vimtutor
. 아마 그들은 몰랐 을까요?
일반적으로 명령 모드에서 특히 줄로 이동하는 방법을 알고 있습니다. 그러나 현재 현재 줄의 끝으로 이동하는 명령은 무엇입니까?
vimtutor
. 아마 그들은 몰랐 을까요?
답변:
그냥 $ (달러 기호) 키를 누릅니다. A줄 끝으로 이동하고 편집 모드 (추가)로 전환하는 데 사용할 수 있습니다 . 공백이 아닌 마지막 문자로 이동하려면 g다음 _키를 누를 수 있습니다 .
그 반대 A는 I(라인 시작 부분에 삽입 모드)입니다. 를 누르면 ^커서가 줄의 첫 번째 공백이 아닌 문자에 놓입니다.
g_
g_
빈 문자를 포함하지 않기 때문에 변형 이 더 유용 할 때가 있습니다
많은 사람들이 말했듯이 :
또한 :
|
명령은 개수를 계산할 수 있습니다 (예 : 3 | 세 번째 열로 이동합니다.
g _ 공백이 아닌 마지막 문자로 이동합니다.
g $ 화면 라인의 끝으로 간다 (버퍼 라인이 여러 화면 라인에 걸쳐있을 때)
b
전혀 같지 않은 이전 단어의 시작 부분으로갑니다. 대략와 같습니다 $ge
.
_
하고 g_
같은 시각 /를 확 잡아 당기는 위해 $
도 복사합니다 / 새로운 라인 (LN) 문자를 삭제합니다.
g_
내가 실제로 줄의 끝을 찾은 유일한 방법입니다.
$
는 나를 감싸 줄 때조차 줄의 끝으로갑니다. 나는 그 행동을 조정할 설정이 없다는 것을 알고 있습니다. 아마도 .vimrc에 의해 다시 매핑 g$
되었습니까?
주요 질문-줄의 끝
$ 줄의 끝으로 가고 명령 모드를 유지합니다.
A 줄 끝으로 가고 삽입 모드로 전환
반대로-줄의 시작 (기술적으로 첫 번째 공백이 아닌 문자)
^ 줄의 시작으로 이동하고 명령 모드를 유지합니다.
I (대문자 i) 줄의 시작으로 이동하고 삽입 모드로 전환
추가-줄의 시작 ( 공백에 관계없이 기술적으로 첫 번째 열 )
0 영 (0)은 줄의 시작으로 이동하고 명령 모드를 유지합니다.
0i (0 뒤에 소문자 i)가 줄의 시작으로 이동하고 삽입 모드로 전환
vi를 배우기 시작하는 사람들을 위해 전형적인 Windows GUI 편집기 커서 이동 및 단축키에 대한 vi 명령을 나열하여 vi에 대한 좋은 소개가 있습니다.
I
하지 않습니다 0
만 ^
, 두로 I
와 ^
처음으로 이동 비 공백의 줄의 문자하지만 0
(그 이름에서 알 수 있듯이) 0 열로 이동합니다.
0
했습니까? (행의 첫 번째 문자 (= 열 0)로 이동하여 삽입 모드로 이동)
0i
입니다. :-)
현재 줄이 보이는 화면 주위를 다음 줄로 줄 바꿈하는 경우 g $ 를 사용 하여 화면 줄 끝까지 갈 수 있습니다 .
gw
및 gq
있는 명령이 다시 포맷의 텍스트입니다. ( :h gw
및 참조 :h gq
) gw{motion}
화면 라인이 실제 라인과 일치하도록 텍스트를 변경하고 변경 한 것 같습니다 .
많은 경우에, 우리가 문자열 안에있을 때 큰 따옴표로 묶거나 문장을 작성할 때 escape를 누르고 화살표 키로 해당 줄의 끝으로 이동하고 세미콜론 ( ;
) 을 눌러 끝내기를 원하지 않습니다 라인. vimrc 파일 안에 다음 줄을 작성 하십시오.
imap <C-l> <Esc>$a
라인은 무엇을 말합니까? Ctrl + l을 일련의 명령에 매핑합니다. Esc(명령 모드), $(라인 끝), a(추가)를 한 번에 누르는 것과 같습니다 .
vim
확실히 당신은 이런 것들로 훨씬 적은 시간에 훨씬 더 많은 일을 할 수 있습니다. @razorxpress, 사소한 조정 imap <C-l> <Esc>A
은 Ctrl + l을 누르는 것과 Esc
(삽입 모드 종료) A
(줄 끝에 추가)와 동일합니다.
inoremap <C-l> <C-o>A
또한 line (또는 아마도 physical line)과 screen line 의 차이점에 유의하십시오 . 줄 끝 문자 ( "\ n")로 줄이 끝납니다. 화면 줄은 터미널이나 화면에서 한 줄의 문자로 표시되는 모든 것입니다. 화면 너비보다 긴 실제 줄이 있으면 둘이 분리되어 전자 메일을 작성할 때 매우 일반적입니다.
구별은 줄 끝 명령에도 나타납니다.
후자의 동작을 항상 선호하는 경우 다음과 같이 키를 다시 매핑 할 수 있습니다.
:noremap 0 g0
:noremap $ g$
g_
물리 라인 의 마지막 비 공백입니다 . 스크린 라인은 어떻습니까?
또는 확실한 대답이 있습니다. End키를 사용 하여 줄 끝으로 이동하십시오.
Mac에서 지원하지 않는 삽입 모드 (Windows에서 사용하고 Linux에서 사용)에서 줄의 시작과 끝으로 나를 데려가는 데 익숙했습니다. 원격 시스템에서 vim을 사용할 때 쉽게 할 수 없기 때문에 이것은 특히 성가신 일입니다. 약간의 고통스런 시행 착오 후에, 나는 .vimrc
똑같은 일을하지만이 줄의 시작을 위해 Ctrl-A와 줄의 끝을 위해 Ctrl-D에 묶인 이 줄을 생각해 냈습니다 . (어떤 이유로 Ctrl-E는 예약되어 있거나 적어도 바인딩 방법을 찾지 못했습니다.) 즐기십시오.
:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>
여기에 ASCII 제어 문자 코드에 대한 좋은 차트가 있습니다.
http://www.physics.udel.edu/~watson/scen103/ascii.html
Ctrl-V + Ctrl-도 수행 할 수 있지만 이와 같은 곳에 붙여 넣지는 않습니다.