나는 Vim에서 항상 새로운 명령을 배우고 있지만, 모든 사람들이 가끔 새로운 것을 배우게 될 것입니다. 나는 최근에 이것에 대해 배웠다.
zz, zt, zb- 화면의 중간, 상단 또는 하단에 위치 커서
오래 전에 배우고 싶었던 다른 유용하거나 우아한 명령은 무엇입니까?
답변
삽입 모드를 전환 하는 CtrlC대신 사용할 수 있다는 것을 알고 싶습니다 Esc. 그것은 저에게있어 실질적인 생산성 향상이었습니다.
답변
내가 배운 가장 최근의 “와우”트릭은 복잡한 검색 및 교체 방법입니다. 과거에는 종종 대체 작업을 수행하는 정규 표현식이 복잡하여 작동하지 않았습니다. 더 좋은 방법이 있습니다.
:set incsearch " I have this in .vimrc
/my complicated regexp " Highlighted as you enter characters
:%s//replace with this/ " You don't have to type it again
여기서 “트릭”(더 나은 단어를 원함)은 검색을 사용하여 정규 표현식을 작성하고 문자를 입력 할 때 ‘incsearch’가 강조 표시 한 다음 대체에 빈 패턴을 사용할 수있는 방법입니다. 패턴의 기본값은 마지막 검색 패턴입니다.
예:
/blue\(\d\+\)
:%s//red\1/
다음과 같습니다.
:%s/blue\(\d\+\)/red\1/
보다:
:help 'incsearch'
:help :substitute
답변
내 친구에게 가장 많이 사용되는 명령에 대한이 참조를 만들었습니다.
select v
select row(s) SHIFT + v
select blocks (columns) CTRL + v
indent selected text >
unindent selected text <
list buffers :ls
open buffer :bN (N = buffer number)
print :hardcopy
open a file :e /path/to/file.txt
:e C:\Path\To\File.txt
sort selected rows :sort
search for word under cursor *
open file under cursor gf
(absolute path or relative)
format selected code =
select contents of entire file ggVG
convert selected text to uppercase U
convert selected text to lowercase u
invert case of selected text ~
convert tabs to spaces :retab
start recording a macro qX (X = key to assign macro to)
stop recording a macro q
playback macro @X (X = key macro was assigned to)
replay previously played macro * @@
auto-complete a word you are typing ** CTRL + n
bookmark current place in file mX (X = key to assign bookmark to)
jump to bookmark `X (X = key bookmark was assigned to
` = back tick/tilde key)
show all bookmarks :marks
delete a bookmark :delm X (X = key bookmark to delete)
delete all bookmarks :delm!
split screen horizontally :split
split screen vertically :vsplit
navigating split screens CTRL + w + j = move down a screen
CTRL + w + k = move up a screen
CTRL + w + h = move left a screen
CTRL + w + l = move right a screen
close all other split screens :only
* - As with other commands in vi, you can playback a macro any number of times.
The following command would playback the macro assigned to the key `w' 100
times: 100@w
** - Vim uses words that exist in your current buffer and any other buffer you may have open for auto-complete suggestions.
답변
gi 는 삽입 모드로 전환하여 이전과 같은 위치에 커서를 놓습니다.
답변
:큐!
vi를 처음 시작하기 전에 알고 있었으면 좋겠습니다.
답변
^ XF 는 현재 디렉토리의 파일 이름 사용을 완료합니다. 더 이상 터미널에서 복사 / 붙여 넣기 또는 고통스러운 이중 점검이 필요하지 않습니다.
^ XP 는 현재 파일에서 단어 사용을 완료합니다
: set scrollbind 는 한 버퍼가 다른 버퍼와 나란히 스크롤하도록합니다. 예를 들어 창을 두 개의 수직 창으로 분할하십시오. 각각 하나의 파일을로드하십시오 (아마도 동일한 파일의 다른 버전). 수행 :set scrollbind
각. 이제 하나를 스크롤하면 두 창이 함께 스크롤됩니다. 파일 비교에 이상적입니다.
답변
전체 명령 세트를 사용하여 대괄호 / 괄호 / 따옴표 / 태그 안의 텍스트를 변경할 수 있습니다. 그룹의 시작과 끝을 찾지 않아도되는 것이 좋습니다. 시험ci(, ci{, ci<, ci", ci', ct
변경하려는 객체의 종류에 따라 . 그리고ca(, ca{, ...
변형은 대괄호 / 따옴표도 삭제합니다.
기억하기 쉬움 : 괄호 안의 내용 변경 / 괄호 안의 내용 변경