Vim에서 잘못된 인라인 자바 들여 쓰기를 어떻게 수정합니까?
Vim에서 인라인 자바를 들여 쓰기가 제대로되지 않는 것입니다. 다음을 고려하세요 :
$(document).ready(function() {
// Closing brace correctly indented
$("input").focus(function() {
$(this).closest("li").addClass("cur-focus");
}); // <-- I had to manually unindent this
// Closing brace incorrectly indented
$("input").blur(function() {
$(this).closest("li").removeClass("cur-focus");
}); // <-- This is what it does by default. Argh!
});
Vim은 두 번째 경우에 닫는 중괄호를 자동으로 들여 쓰기를 주장하는 것입니다. 전체 파일을 다시 들여 쓰는 경우에도 마찬가지입니다. 첫 번째 경우에서 볼 수있는 것보다 표준적인 JS 들여 쓰기 스타일을 사용하여 자동으로 들여 쓰기를 수행해야합니까?
대부분의 배포이고 버그가없는 Javascript로보기 쓰기는 Preston Koprivica의 펼쳐 집니다.
제안 된 답변에있는 소위 OOP 배포에는 심각한 버그가 있고 대괄호가있는 코드를 들여 쓰지.
JavaScript 들여 쓰기 사용 : Preston Koprivica의 Javascript 들여 쓰기 (HTML 들여 쓰기 포함) . oligofren 의 헤즈 업에 감사드립니다 -그에게 찬성표 를 주세요 .
한 펼쳐지는 jQuery에서 자주 사용되는 클로저 구문의 언급 된 내용을 언급합니다.
$(function() {
// only one level of indentation, not two
});
이 펼쳐지는 나에게 더 잘 작동합니다 : http://www.vim.org/scripts/script.php?scriptid=2765
2009 년의 답변의 대부분은 솔직히 구식입니다.
vim-javascript 는 Preston의 광범위한보다 훨씬 최신이며 최신 입니다.
Vundle을 아직 사용하지 않았다면 설치가 조금 더 복잡 하지만 대안의 문제로 고통받지 않는을 구석으로 같습니다.
설정의 일부 조합은 VIMRC 파일에 있어야합니다.
syntax on
set syn=auto
set showmatch
filetype on
filetype plugin on
filetype indent on
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
나는 이와 같은 문제가 있었다. 이 모든 자바 읽어 들여 쓰기 중 최고입니다 :
http://www.vim.org/scripts/script.php?scriptid=1840
IndentAnything이 필요합니다.
http://www.vim.org/scripts/script.php?scriptid=1839
추가 보너스로 Javascript 블록을 꽤 예쁘게 만드는이 들여 쓰기를 작성했습니다. 기본적으로 기본 html indenter (Javascript 블록 내에서는 IndentAnything)를 사용합니다.
여기에 올 누군가 경우 https://github.com/pangloss/vim-javascript 에서 vim-javascript
로 pangloss
가 지금까지 나를 도왔습니다. 즉 Vim 7.4. 그리고 oligofren과 Charles Roper의 위의 솔루션은 믿을 수 있습니다.
구문 파일에 Java 스크립트에 대한 들여 쓰기가 좋다고 가정하고 블록을 시각적으로 강조 표시하고 =를 누릅니다. 이것은 자바에서 작동하므로 자바 스크립트에 대해 반쯤 괜찮은 일을 할 것으로 기대합니다. 결과는 아마도 tabstop, expandtab 및 shiftwidth 설정에 따라 달라질 수 있습니다.
gq도 유용합니다. 줄을 들여 쓰지 않고 형식을 지정합니다.
자바 스크립트에 특화된 플러그인을 설치할 필요가 없으며, 들여 쓰기를위한 내장 Vim 옵션을 배울 수 있습니다. 빔은 꽤 많은 옵션을 가지고 있으며, 들여 쓰기 스타일 중 일부는 좋아하는 cindent
, smartindent
그리고 indentexpr
자신의 옵션이 있습니다.
cindent
또는 smartindent
또는을 사용하고 있는지 확인하려면 indentexpr
다음을 실행하십시오.
:set cindent?
:set smartindent?
:set indentexpr?
이름에도 불구하고 cindent
C 프로그램에만 적용되는 것이 아니라 Javascript를 포함하여 거의 동일한 구문을 공유하는 여러 프로그래밍 언어에 적용 할 수 있습니다. :help C-indenting
이것 에 대한 문서를 살펴보십시오 . 특히 이와 같은 선으로 설정을 조정할 수 있습니다 . :help 'cinoptions'
및을 참조하십시오 :help cinoptions-values
. 다음은 구성의 예입니다.
:au FileType js,javascript setlocal shiftwidth=2 softtabstop=2 cinoptions=j1,J1,(1s " see help cino-j cino-J cino-(
'ProgramingTip' 카테고리의 다른 글
파이썬의 날짜에서 날짜 추출 (0) | 2020.11.22 |
---|---|
iOS에서 Assets.car 파일 분석 (0) | 2020.11.22 |
PHP의 datetime에서 AM / PM을 얻는 방법 (0) | 2020.11.22 |
Unix에서 재귀 적 mkdir () 시스템 호출 (0) | 2020.11.22 |
Ruby에서 노드를 상수로 변환하는 방법은 무엇입니까? (0) | 2020.11.22 |