답변:
gq
또는 gw
연산자를 모션 명령과 함께 사용할 수 있습니다 . 기본적으로 fmt
프로그램은 Linux 에서 프로그램을 사용하여 지정된 텍스트를 형식화합니다. 그러나 내가 아는 한, 선을 정당화하지 않으므로 올바른 마진을 얻을 수 있습니다.
내가 사용하는 방법 gwip
은 단락에 커서를 놓고 (정상 모드)하는 것입니다. 커서를 같은 위치에 유지하면서 현재 단락의 서식을 지정합니다. 이 방법을 사용하여 현재 단락 만 형식화되도록하십시오. 텍스트 파일을 편집 할 때 파일 gwG
시작 부분에서 발행 (일반 모드)하면 전체 텍스트의 형식이 지정됩니다. 모범 사례로 단락 사이에 빈 줄을 하나 이상 비워 두십시오.
수행 할 수있는 많은 구성이 있습니다. 우선, 여기에 몇 가지 관련 도움이된다 : :h gq
, :h gw
, :h fo
(형식 옵션), :h fp
(포맷 프로그램), :h fo-table
(가능한 옵션에 대한 설명).
'formatprg'
옵션 을 설정하여 사용하도록 선택할 수 있습니다 .
이 주제에 관한 훌륭한 VimCast가 있습니다.
http://vimcasts.org/episodes/formatting-text-with-par/
기본적으로 다음을 설치해야합니다 par
.
$ brew install par
# or
$ sudo apt-get install par
그런 다음 열을 80 열로 줄 바꿈하려면 다음을 수행하십시오.
:set formatprg=par\ -w80
이제 gq
다른 답변과 같이 연산자 를 사용할 수 gqip
있으며 Vim의 내장 포맷터 대신 Par를 사용합니다.
Par는 상당히 발전했으며 다음과 같이 주석을 멋지게 형식화합니다.
/* This is a long */
/* multiline comment */
보낸 사람 :help usr_25
:
JUSTIFYING TEXT
Vim has no built-in way of justifying text. However, there is a neat macro
package that does the job. To use this package, execute the following
command:
:runtime macros/justify.vim
This Vim script file defines a new visual command "_j". To justify a block of
text, highlight the text in Visual mode and then execute "_j".
그래서 당신이해야 할 일은 실행
:ru macros/justify.vim
그런 다음
_j
전체 파일의 텍스트를 정당화합니다.
(물론, ru macros/justify.vim
.vimrc에 추가 하여 매번 입력 할 필요가 없습니다.)
참고 : 이것은 줄 바꿈을 추가 하지 않습니다 . 을 사용하여 수동으로 추가해야합니다 gq
. 이를 위해 다음을 통해 textwidth
(기본값은 0)을 원하는 값으로 설정해야합니다.
set textwidth=80
t
-flag via를 설정하여 원하는 경우 자동 텍스트 줄 바꿈
set formatoptions+=t
원하는 경우 .vimrc에 매핑을 설정하여 전체 작업을 수행 할 수 있습니다.
nnoremap <C-j> gggqG_j
이렇게하면 파일의 시작 부분 ( gg
)으로 이동하고 모든 줄을 줄 바꿈 ( gq
까지 G
) 한 다음 _j
텍스트 를 정렬합니다.
_j
매크로에 의해 추가 매핑은 나를 위해 전체 파일을 정당화하는 것, 또는이 라인 방식 시각적 인 선택으로 제한 할 수 있습니다.
nano는 ^J
"Justify" 라는 명령을 호출하는 데 도움이되지만 실제로 텍스트를 정당화 하지는 않지만 화면의 오른쪽 여백 (또는 구성 가능한 일부 열) 앞에있는 줄을 바꾸어 텍스트를 다시 포맷합니다.
당신은 변수를 설정하여 VIM에서 같은 일을 할 수 textwidth
에서 :help 'textwidth'
:
삽입되는 최대 텍스트 너비. 이 너비를 얻으려면 공백 후에 긴 줄이 끊어집니다. 값이 0이면이 기능이 비활성화됩니다.
즉, 입력하는 동안 줄이 textwidth
문자 보다 길면 VIM은 줄 길이를보다 작거나 같게 유지하기 위해 첫 번째 공백에서 줄을 줄 바꿈합니다 textwidth
.
이 작업을 수행하려면 옵션 formatoptions
에 문자가 포함되어야합니다 t
. 참조 :help 'formatoptions'
및 :help fo-table
사용 가능한 옵션에 대한 예를 들어, 당신은에 관심이있을 수 있습니다 c
의견 작업을 포맷 할 옵션을 선택합니다.
편집 : 당신은 넣을 필요없이, 동일한 작업을 수행 할 수 t
있는 formatoptions
명령을 사용하여, gw{motion}
현재의 커서 위치 이후 커서의 위치 사이의 텍스트를 포맷, {motion}
. 이 gw
명령은 시각 모드에서도 사용할 수 있으며 선택한 텍스트의 형식을 지정합니다.