vim을 사용하면 라인의 텍스트 왼쪽에있는 경우 실제로는 expandtabs
을 사용하고 싶습니다. 공백이 아닌 문자 오른쪽에있는 경우 사용하고 싶습니다. (나는 들여 쓰기와 공백을 위해 정렬을 위해 탭을 사용하고 싶습니다.)vim은 탭을 텍스트의 왼쪽으로 만 확장 할 수 있습니까?
이 작업을 수행 할 수 있습니까? 이 같은
vim을 사용하면 라인의 텍스트 왼쪽에있는 경우 실제로는 expandtabs
을 사용하고 싶습니다. 공백이 아닌 문자 오른쪽에있는 경우 사용하고 싶습니다. (나는 들여 쓰기와 공백을 위해 정렬을 위해 탭을 사용하고 싶습니다.)vim은 탭을 텍스트의 왼쪽으로 만 확장 할 수 있습니까?
이 작업을 수행 할 수 있습니까? 이 같은
예. Smart Tabs 플러그인을 사용하십시오.
이 스크립트를 사용하면 줄의 시작 부분에 일반 탭 설정을 사용하고 탭을 공백으로 확장 할 수 있습니다. 이것은 효과적으로 '들여 쓰기'와 '정렬'을 구별합니다.
<tab>
편집기 탭 설정을 사용하여 줄의 첫 부분 (첫 번째 공백이 아닌 문자 앞에)에 탭을 삽입하고 그렇지 않으면 공백을 삽입합니다.
<BS>
은 Vim은 함수 인수를 줄 수 있도록.vimrc
에set cindent set cinoptions=(0,u0,U0
를 추가하려면 smarttab
람 탭 또는 '확장'탭을 삭제 편집기 탭 설정을 사용합니다. 플러그인과 같은 공백을 인코딩합니다
int f(int x,
......int y) {
--->return g(x,
--->.........y);
}
이것은 "x
"와 "y
"의 정렬을 만드는 탭 크기 (tabstop
)의 독립.
시도 뭔가 :
function! TabMaybeIndent()
if strpart(getline('.'), 0, col('.') - 1) =~ '^\s*$'
return "\<Tab>"
else
return " "
endif
endfunction
set noexpandtab
imap <Tab> <C-r>=TabMaybeIndent()<CR>
이것은 합리적인 접근 방식처럼 보입니다. 사소한 조정을하면 맹목적으로 4 칸을 삽입하는 대신 현재의 'softtabstop'설정을 따를 수도 있습니다. – ephemient
나는 그것을 할 수 있다고 강력히 믿습니다. 나는 그것이 쉽지 않을 것이라고 생각한다. –