a menudo me encuentro eliminar y añadir secciones XML en los archivos de configuración: server.xmlComentando XML en vim
- de Tomcat settings.xml
- Maven
y muchos otros.
¿Hay un complemento/comando vim para que esto sea tan simple?
a menudo me encuentro eliminar y añadir secciones XML en los archivos de configuración: server.xmlComentando XML en vim
y muchos otros.
¿Hay un complemento/comando vim para que esto sea tan simple?
Se puede utilizar una combinación de etiquetas XML a juego, como puede verse en this question y Perl de búsqueda y reemplazo.
Por ejemplo, dado este fragmento:
<TypeDef name="a">
<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>
</TypeDef>
Coloque el cursor sobre cualquiera de la apertura o el cierre de TypeDef
y escriba la siguiente secuencia:
vat:s/^\(.*\)$/<!--\1-->/
v
- se pone en modo visual
at
- selecciona la etiqueta XML completa
:s/^\(.*\)$/<!--\1-->/
- rodea cada línea con '<!--...-->'
, los delimitadores de comentarios para XML
Como alternativa, puede simplemente eliminar de esta manera:
dat
d
- Eliminar de acuerdo con los siguientes movimientos
at
- como antes
Mejor sería si encontrara un comando que agrega cosas al principio y al final de la selección.
Cuando estoy comentando código Python, estoy haciendo esto:
:2,4s/^/#/g
Gracias por la respuesta, me apunta en la dirección correcta. ¿Pero cómo voy a agregar '' a la última? –
Las macros de vim lo hacen fácil, ya sea usando las marcas '< and '> que van con selecciones visuales, o moviendo el cursor de un extremo de la selección visual al otro con' o ' – sjh
Vim no lo hace tiene comentarios inteligentes para todos los tipos de archivos por sí mismo. Debería obtener un script para sus necesidades de comentarios.
utilizo el guión enhcomentify que ha existido y se mantiene durante mucho tiempo
http://www.vim.org/scripts/script.php?script_id=23
Parece que hacer así xml y se obtiene la ventaja de las mismas combinaciones de teclas para cualquier que tipo de archivo está utilizando .
Hay otros ..en particular el NERD comentarista
uso surround.vim para la coincidencia de etiquetas en general, borrar, insertar, que rodea etc,
Para comentar las etiquetas, es fácil de usar objetos de texto vim & y un simple macro
Ejemplo:
introduzca
vmap ,c <esc>a--><esc>'<i<!--<esc>'>$
algún lugar adecuado, a continuación, coloque el cursor en la capital "A" de la "ArrayType" en la línea dos de los siguientes (tomado de Nathan Fellmans ejemplo anterior)
<TypeDef name="a">
<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>
</TypeDef>
después haga clic en
vat,c
y obtendrá:
<TypeDef name="a">
<!--<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>-->
</TypeDef>
con el cursor al final del comentario
Creo que la adaptación de this vim tip puede ser útil.
Propongo añadiendo:
" Wrap visual selection in an XML comment
vmap <Leader>c <Esc>:call CommentWrap()<CR>
function! CommentWrap()
normal `>
if &selection == 'exclusive'
exe "normal i-->"
else
exe "normal a-->"
endif
normal `<
exe "normal i<!--"
normal `<
endfunction
a su .vimrc
Luego, con una selección visual activo (V), golpear \ c (barra invertida a continuación, c) para envolver su bloque en <!-- -->
XML comentarios de estilo.
Como alternativa, como se sugiere en el wiki puede poner el código en ~/.vim/scripts/wrapwithcomment.vim y añadir a su .vimrc:
au Filetype html,xml source ~/.vim/scripts/wrapwithcomment.vim
cargar sólo que la funcionalidad cuando se trabaja en una archivo html o xml
Me encanta la simplicidad de https://github.com/tpope/vim-commentary. Fácil de agregar otros idiomas, aunque parece ser compatible con la mayoría de la caja. Menos de 100 líneas de código.
gcc
para comentar la línea actual, o seleccione el texto que desea enviar un comentario y pulse gc
. Muy facil.
"Súper fácil" es una subestimación si tiene configuración de paquete. Espero que más personas encuentren esta. –
Su actualización es muy perspicaz. Puedo usar vat: s/-> // para eliminar comentarios. Gracias. –
+1 para la información 'dat'. Debería obtener aún más si muestra cómo agregar esto a una tecla de acceso directo. –
@ MerlynMorgan-Graham ¿Quiere decir algo como: 'nmap dt dat' –
Johann