그래서 (분명히) 문제가 있습니다. 내가 interesting article about "Smart Tabs" 읽고,이 이맥스에서 테스트하고 완벽하게 잘 작동합니다.빔 : 들여 쓰기/정렬 문제
그래서 저는 이것을 vim에서 시도했기 때문에 현재 이맥스를 사용하고 있습니다. 다음은 들여 쓰기와 관련이 있다고 생각되는 .vimrc의 행입니다.
set autoindent " auto/smart indentation
set cindent
set preserveindent
set copyindent
set smarttab " tab and backspace are smart
set tabstop=4 " 4 spaces
set softtabstop=4
당신은 my vimrc is here for you, 아래에 설명 된대로 다른 뭔가가 예기치 않은 동작의 원인이 될 수 있다고 생각합니다.
예상되는 동작
나는 샘플 프로그램은 내가 코드 만 입력하고 모든 그리 자주 엔터 키를 눌러로, 다음과 같이하고자합니다. 이 -이다
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (int argc, char *argv[])
{
-> printf ("%s\n",
-> ........teststring);
-> function_with_many_arguments (bacon,
-> ..............................indentation,
-> ..............................problems);
-> return 0;
}
</pre>
, 나는 정력 만 들여 쓰기 탭을 사용하려면 ("."는 각각 ">는"탭을 나타내고, 각각의 공백을 나타냄); 정렬을 위해 NEVER. 누군가가 탭 크기를 줄이면 탭 수가 같은 문자 수에 관계없이 함수 호출과 여러 줄 인수 집합이 제대로 정렬되기를 바랍니다.
현재 동작은
내가 찾을 수있는 모든 자원을 검토 한 결과, 그리고 내가 함께 내 vimrc에 넣어 방법입니다. 내가 잘못 뭐하는 거지
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (int argc, char *argv[])
{
-> printf ("%s\n",
-> -> -> teststring);
-> function_with_many_arguments (bacon,
-> -> -> indentation,
-> -> -> problems);
-> return 0;
}
: 는 지금, 대신 예상되는 동작을하는이 코드 대신 모습입니다? 어떤 정렬이라도 모든 탭 정렬이 두 개의 탭 문자 인 것처럼 보입니다. 그리고 나는 그것을 대신 오른쪽 공백에 들여 쓰려고합니다.
': set cino = (0' taken taken form [here] (http://stackoverflow.com/questions/88931/lining-up-function-parameter-lists-with-vim) – FDinoff
링크 된 복제본은 불행하게도 Vim에서 자동으로 얻기가 어렵다. (혼합 탭/공백) 들여 쓰기 부분에 대답해라. –