[python] Vim에서 파이썬 코드 블록을 주석 처리하는 방법

특정 들여 (그 라인 비주얼 모드로 선택되었는지, 또는 코드 라인을 나를 수 있도록 빔에있는 키 맵핑면 해서요 N 현재 커서 위치의 위 / 아래에 라인).

기본적으로 다음을 변환하는 것

def my_fun(x, y):
    return x + y

#def my_fun(x, y):
#    return x + y

관련 줄을 주석 처리 #하거나 """주석을 달아도 괜찮습니다 . 주어진 라인이 주석 처리 된 경우 동일한 키 매핑을 사용하여 라인의 주석 처리를 제거하는 것이 이상적입니다.



답변

1 단계 : 주석을 달려는 첫 번째 행의 첫 번째 열로 이동하십시오.

초기 상태

2 단계 : Ctrl+ v를 누르고 주석을 달 줄을 선택합니다.

선을 선택하십시오

3 단계 : ShiftI#space(. 삽입-에서 왼쪽 모드를 입력 문자 삽입 입력 선택은 사라지지만 그 안에 모든 라인은 4 단계 이후에 수정됩니다)

논평

4 단계 : Esc

<Esc>


답변

편도 수동

:set number
:10,12s/^/#


답변

.vimrc에 다음 매핑을 추가 할 수 있습니다

vnoremap <silent> # :s/^/#/<cr>:noh<cr>
vnoremap <silent> -# :s/^#//<cr>:noh<cr>

다음을 사용하여 블록을 강조 표시하십시오.

Shift+v

# 첫 번째 열에서 줄을 주석으로 처리하십시오.

-# 같은 방식으로 주석을 제거합니다.


답변

다음을 사용하여 블록을 강조 표시하십시오. ShiftV

선택한 블록을 다음과 같이 주석 처리하십시오 :norm i#(소문자 i).

주석을 해제하려면 블록을 다시 강조 표시하고 다음과 같이 주석을 해제하십시오. :norm ^x

:norm명령은 선택한 모든 줄에 대해 작업을 수행합니다. 주석 처리하면 #모든 줄의 시작 부분에 a가 삽입 되고 주석 처리를 제거하면 해당 행이 삭제 #됩니다.


답변

나는 일반적으로 시각적 블록 ( <C-V>)을 쓸어 내고 첫 번째 문자를 검색하고 바꿉니다.

:'<,'>s/^/#

(시각 블록이 선택된 상태에서 명령 모드를 시작하면 명령 줄에 ‘<,’>이 자동으로 배치됩니다) 그런 다음 동일한 시각적 블록을 스윕하여 블록의 주석을 해제 할 수 있습니다.

:'<,'>s/^#//


답변

주석을 달거나 주석을 해제하는 데 도움이되는 좋은 플러그인이 있습니다. 예를 들어 NERD Commenter 입니다.


답변

내 안에 다음 줄이 있습니다 .vimrc.

" comment line, selection with Ctrl-N,Ctrl-N
au BufEnter *.py nnoremap  <C-N><C-N>    mn:s/^\(\s*\)#*\(.*\)/\1#\2/ge<CR>:noh<CR>`n
au BufEnter *.py inoremap  <C-N><C-N>    <C-O>mn<C-O>:s/^\(\s*\)#*\(.*\)/\1#\2/ge<CR><C-O>:noh<CR><C-O>`n
au BufEnter *.py vnoremap  <C-N><C-N>    mn:s/^\(\s*\)#*\(.*\)/\1#\2/ge<CR>:noh<CR>gv`n

" uncomment line, selection with Ctrl-N,N
au BufEnter *.py nnoremap  <C-N>n     mn:s/^\(\s*\)#\([^ ]\)/\1\2/ge<CR>:s/^#$//ge<CR>:noh<CR>`n
au BufEnter *.py inoremap  <C-N>n     <C-O>mn<C-O>:s/^\(\s*\)#\([^ ]\)/\1\2/ge<CR><C-O>:s/^#$//ge<CR><C-O>:noh<CR><C-O>`n
au BufEnter *.py vnoremap  <C-N>n     mn:s/^\(\s*\)#\([^ ]\)/\1\2/ge<CR>gv:s/#\n/\r/ge<CR>:noh<CR>gv`n

바로 가기는 커서 위치와 주석이 시작되는 동안 #(# 뒤에 공백이 있음) 보존합니다 . 예를 들면 다음과 같습니다.

# variable x
x = 0

논평 후 :

# variable x
#x = 0

언 커맨트 후 :

# variable x
x = 0