2013-08-19 3 views
1

* .lisp 파일을 편집하려면 vim 7.3 with slimv를 사용하고 있습니다.slimv + vim : slimv는 vim 탭 설정을 무시합니다.

slimv는 대개 내 Vim 들여 쓰기 설정을 무시하며 때때로 엉망으로 만듭니다.

set tabstop=4 shiftwidth=4 softtabstop=4 noexpandtab 
let g:paredit_mode = 0 

Slimv 이러한 설정을 무시하고 들여 쓰기를위한 공간, 들여 쓰기 당이 개 공간을 사용하여 주장 : 나는 들여 쓰기 탭을 사용하고의 vimrc에 다음 줄을 갖고 싶어. 나는 "탭"문제를 해결하기 위해 관리하지 (그래서 더 이상 대신 탭이 공백을 삽입) 그러나, 나는 새로운 삽입 할 때 autoindentation를 해결하는 방법을 아주 잘 모르겠어요, Vim\vimfiles\indent\lisp.vim에서

setlocal expandtab 

을 주석으로 lisp 형태의 중간에있는 라인. 이 시나리오에서 slimv는 다시 내 설정을 무시하고 탭 대신 공백, 들여 쓰기 수준마다 2 칸씩 사용하여 새 줄을 정렬합니다.

내가 알 수있는 한, 들여 쓰기는`Vim/vimfiles/ftplugin/slimv.vim '에있는 function! SlimvIndent(lnum)에서 처리되지만,이 기능을 고치는 방법을 잘 모르겠습니다.) 언제 어디서나 구성 설정을 갖고있는 것 같다.

을 내가 slimv에서 탭 동작을 고칠 수 있습니까? 그것은 유용한 단축키 (,e는 등 양식을 평가하기 위해)이 있지만, 탭 문제가 매우 성가신입니다.

아이디어?

+0

플러그인에 (github) 링크가 있습니까? – FDinoff

+0

@FDinoff : 나는 그것을 얻었습니다 [** 여기 **] (http://www.vim.org/scripts/script.php?script_id=2531) 그것은 bitbucket에서 호스팅 된 것처럼 보입니다. 가장 최근의 개발 버전은 [ ** 여기 **] (https://bitbucket.org/kovisoft/slimv). – SigTerm

+0

들여 쓰기 당 2 칸을 복제 할 수 없습니다. 그러나 탭과 공백을 혼합하여 플러그인을 보았습니다 (표현식의 중간에 Enter 키를 누를 때). 그러나 가능한 한 많은 탭을 사용하고 나머지는 공백으로 채워 문 – FDinoff

답변

1

들여 쓰기 할 때 탭이 삽입되도록 slimv를 고정했습니다 (01). 파일을로드 한 후은이로드 된 후 으로 설정됩니다. Slimv은 여전히 ​​기본적으로 expandtab 정의, 그래서 당신의 .vimrc:set noexpandtab를 추가하는 것만으로는 충분하지 않습니다,하지만 당신은 예를 들어, 명령 '후'는 '후'또는하여이를 대체 할 수 있습니다 :

au BufReadPost *.lisp set noexpandtab

하거나 원하는 경우 언제든지 :set noexpandtab을 입력하십시오.

Slimv repository에서 최신 버전을 가져 오십시오. 나는 여전히 lisp 소스 파일에서 탭을 사용하지 말 것을 권고한다.

+0

안녕하세요, 마침내 lisp 프로그래밍을 할 시간을 찾았습니다 ... 이전 버전에서 사용 된 shiftwidth 및 indentation 스타일에 맞춰 버전을 만들었지 만 때때로 시작 부분에 공백을 삽입하려고 시도합니다. 예를 들어, 최상위'defun'을 작성하고 양식의 중간에 개행을 삽입하면 새 행은 두 개의 공백으로 정렬됩니다. 탭을 삽입해야합니다. 어쨌든 도움 주셔서 감사합니다. 다른 방법으로 문제를 해결할 때까지 답변을 수락 한 것으로 표시하겠습니다. – SigTerm

+0

slimv 들여 쓰기는 vim에 내장 된 lispindent() 함수를 기반으로합니다.이 함수는 하드 코딩 된 들여 쓰기 양이 두 열입니다. 현재 다른 표준 들여 쓰기 값 (예 : 4 열)을 슬림형으로 사용할 수 없습니다. 내가 한 모든 것은 공백 대신 탭 문자를 가질 가능성을 추가했지만 두 열의 표준 들여 쓰기 양은 변경되지 않았습니다. lispindent()를 사용하지 않도록 slimv에서 들여 쓰기 코드를 다시 작성하려고합니다. 준비가되면 들여 쓰기를 사용자 정의 할 수 있습니다. –

+0

정보를 제공해 주셔서 감사합니다. slimv를 고쳐 주셔서 고마워요. 솔직히 말해서, 확장 작성자 자신이 대답 할 것이라고 기대하지 않았습니다. – SigTerm