Python 코드에 Vim 접기를 사용하는 권장 방법은 무엇입니까?
Python 코드 용 Vim에서 코드 접기를 활성화하는 데 관심이 있습니다. 그렇게하는 여러 가지 방법을 발견했습니다.
누구든지 Vim에서 Python 코드 접기를 선호하는 방법이 있습니까? 즉,
- 사용하고 좋아하는 특정 Vim 플러그인이 있습니까?
- 수동 접기를 사용합니까, 아니면 주석에 마커를 배치합니까?
- Vim에서 Python 용 코드 접기를 수행하는 다른 권장 방법이 있습니까?
개인적으로 나는 마커로 내 코드를 흩뿌 리도록 설득 할 수 없습니다. 나는 들여 쓰기 접기를 사용하는 데 꽤 익숙해졌습니다. 접기 열기 / 닫기 및 zR 및 zM 명령을위한 스페이스 바 매핑 (아래 참조)과 함께 저는 바로 집에 있습니다. Python에 적합합니다!
nnoremap <space> za
vnoremap <space> zf
내가 사용 이 파이썬 구문 파일을. 접기 방법을 구문으로 설정하고 모든 클래스와 함수를 접습니다.
파이썬 코드를 접는 또 다른 플러그인. 다소 간단하고 독 스트링을 처리하고 GitHub에서 :
즐겨!
파이썬은 들여 쓰기로 접기에 적합하고, 내 자신의 코드를 작성하기 위해 비트를 사용합니다. 마커를 사용하여 원하는 방식으로 문서를 처리 할 수 있고 일종의 목차 역할을 할 수 있습니다. 다른 사람의 코드를 볼 때 둘 사이를 전환하기 위해 vimrc에 이것을 가지고 있습니다.
#Toggle fold methods \fo
let g:FoldMethod = 0
map <leader>fo :call ToggleFold()<cr>
fun! ToggleFold()
if g:FoldMethod == 0
exe 'set foldmethod=indent'
let g:FoldMethod = 1
else
exe 'set foldmethod=marker'
let g:FoldMethod = 0
endif
endfun
#Add markers (trigger on class Foo line)
nnoremap ,f2 ^wywO#<c-r>0 {{{2<esc>
nnoremap ,f3 ^wywO#<c-r>0 {{{3<esc>
nnoremap ,f4 ^wywO#<c-r>0 {{{4<esc>
nnoremap ,f1 ^wywO#<c-r>0 {{{1<esc>
나는 들여 쓰기 접기가 파이썬에게는 괜찮다고 생각합니다. vim-config python / django IDE 아이디어를 위해 다중 분기 git repo를 만들고 있습니다. 멀리 포크!
http://github.com/skyl/vim-config-python-ide
나는 python_ifold
플러그인을 정말 좋아합니다 .
이 플러그인을 사용해보십시오 :
http://vim.sourceforge.net/scripts/script.php?script_id=515
나에게 이상적인 폴딩은 class
및 def
블록 만 접는 것이고 , 들여 쓰기 폴딩은 제 취향에 맞지 않습니다. 나는 하나의 우아한 해결책은 다음과 같이 구문 시스템을 사용하는 것입니다 생각 하나 토마스에 의해 언급했다. 그러나 이것은 원본 구문 파일을 대체하기위한 것이며 원본보다 오래되어 끝날 수 있습니다 (즉, 해당 스크립트는 Python 3 구문을 언급하지 않음).
내 해결책은 위의 스크립트에서 가져온 중요한 줄로 ~/.vim/syntax
이름이 지정된 파일을 폴더 에 배치 하는 python.vim
것입니다.
syn match pythonDefStatement /^\s*\%(def\|class\)/
\ nextgroup=pythonFunction skipwhite
syn region pythonFunctionFold start="^\z(\s*\)\%(def\|class\)\>"
\ end="\ze\%(\s*\n\)\+\%(\z1\s\)\@!." fold transparent
hi link pythonDefStatement Statement
그런 다음 :set foldmethod=syntax
.
Python 소스는 사용자 정의 vimrc 파일과 함께 vim 구문 플러그인과 함께 제공됩니다. Vim 에서 파이썬 FAQ를 확인하십시오.
'program tip' 카테고리의 다른 글
테스트 실행 폴더에 MSTest 복사 파일 (0) | 2020.08.12 |
---|---|
Windows 글꼴 배율이 100 %보다 클 때 GUI가 제대로 작동하도록하려면 어떻게해야합니까? (0) | 2020.08.12 |
PermGen과 Metaspace의 차이점은 무엇입니까? (0) | 2020.08.12 |
jUnit의 fixtureSetup이 정적이어야하는 이유는 무엇입니까? (0) | 2020.08.12 |
PowerShell 버전을 2.0에서 3.0으로 업그레이드하는 방법 (0) | 2020.08.12 |