for customize python vim editor

customize - vim python syntax



Cómo comentar un bloque de código Python en Vim (12)

Me preguntaba si había alguna asignación de teclas en Vim para permitirme sangrar ciertas líneas de código (ya sea que esas líneas hayan sido seleccionadas en modo visual, o n líneas arriba / debajo de la posición actual del cursor).

Así que básicamente algo que convierte lo siguiente

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

a

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

Estoy de acuerdo con usar # o """ para comentar las líneas relevantes. Idealmente, también me gustaría el mismo mapeo de teclas para descomentar las líneas si las líneas dadas han sido comentadas.


Francamente uso un complemento de comentario para ese link . Puede manejar casi todas las sintaxis. Define movimientos agradables, usándolo con algunos matchers de bloque de texto específicos para python que lo convierten en una herramienta poderosa.


Hay algunos buenos complementos para ayudar a las líneas de comentar / descomentar. Por ejemplo, The NERD Commenter .


Hay muchos complementos de comentarios para vim, algunos de los cuales son de varios idiomas, y no solo de Python. Si usa un administrador de complementos como Vundle , puede buscarlos (una vez que haya instalado Vundle) usando, por ejemplo:

:PluginSearch comment

Y obtendrás una ventana de resultados. Alternativamente, puede buscar vim-scripts para los complementos de comentarios .


Normalmente barrer un bloque visual ( <CV> ), luego buscar y reemplazar el primer caracter con:

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

(Al ingresar al modo de comando con un bloque visual seleccionado se coloca automáticamente ''<,''> en la línea de comando). Luego puedo descomentar el bloque eliminando el mismo bloque visual y:

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


Puede agregar la siguiente asignación a su .vimrc

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

Resalta tu bloque con:

Shift+v

# para comentar sus líneas de la primera columna.

-# para descomentar de la misma manera.


Resalta tu bloque con: Shift V

Comente el bloque seleccionado con :norm i# (minúscula i)

Para descomentar, resalte su bloque nuevamente y descomente con :norm ^x

El comando :norm realiza una acción para cada línea seleccionada. Los comentarios insertarán un # al comienzo de cada línea, y el comentario eliminará ese # .


Tengo las siguientes líneas en mi .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

Los accesos directos conservan la posición del cursor y sus comentarios, siempre y cuando comiencen con # (hay espacio después de #). Por ejemplo:

# variable x x = 0

Después de comentar:

# variable x #x = 0

Después de desamarrar:

# variable x x = 0


Un plugin muy ligero y ligero: vim-commentary.

gcc para comentar una línea
gcgc descomentar echa un vistazo a la página de complementos para más.

v + k / j resalta el bloque y luego gcc para comentar ese bloque.


una forma manual

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


NERDcommenter es un excelente complemento para comentar que detecta automáticamente un número de tipos de archivos y sus caracteres de comentarios asociados. Ridículamente fácil de instalar usando Pathogen .

Comenta con <leader>cc . Descomente con <leader>cu . Y alterna los comentarios con <leader>c<space> .

(La clave <leader> predeterminada en vim es / )


Ctrl K para comentarios (Modo Visual):

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

Ctrl U para descomentar (Modo Visual):

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


Paso 1: vaya a la primera columna de la primera línea que desea comentar.

Paso 2: Presione: Ctrl + v y seleccione las líneas que desea comentar:

Paso 3: Mayúsculas - I # espacio (Ingrese el modo Insertar a la izquierda, escriba caracteres para insertar. La selección desaparecerá, pero todas las líneas dentro de ella se modificarán después del Paso 4).

Paso 4: Esc