reemplazar - vim linux
vimrc además de alternar: establecer pegar (4)
Estoy buscando una forma de enlazar una combinación de teclas (algo como leader + p) para alternar :set paste
activar y desactivar el :set paste
con la misma combinación de teclas.
Sé que puedo :set paste
y :set paste!
y puedo unirlos a 2 combinaciones de teclas diferentes, pero estoy buscando hacer un interruptor.
¡Cuidado con la respuesta aceptada!
La respuesta aceptada a esta pregunta causó que ocurriera un error bastante insidioso en entornos que tienen "espacio" como su <leader>
Problema
Digamos que quería copiar el siguiente texto:
Hello there people!
Con la configuración aceptada de set pastetoggle=<leader>p
Me gustaría ver lo siguiente:
Hello thereeople!
Lo que estaba sucediendo era que se estaba tragando la <space>p
porque mi líder es la barra espaciadora.
Esta no es una clave de "espacio" muy poco común, ¡así que pensé en mencionarlo para aquellos que intentan resolver este extraño comportamiento!
Una mejor solucion
La sugerencia de para hacer las siguientes obras como un encanto:
:nnoremap <leader>p :set invpaste<CR>
Renuncia
Todavía no estoy lo suficientemente aceptado por el desbordamiento de pila para comentar, así que perdóneme por dar esto como respuesta. Si alguien pudiera pegar esto como un comentario en la publicación principal, ¡estaría muy agradecido!
Bueno, pastetoggle
no funcionó para mí.
Lo que funcionó es esto (en mi .vimrc):
" Invert paste when /p is pressed
:nnoremap <leader>p :set invpaste<CR>
Hay un comando específico para cambiar el modo de pegar:
set pastetoggle=<F10>
para configurarlo en la tecla F10 por ejemplo.
Editar : Para usarlo con la tecla de guía, usaría
set pastetoggle=<leader>p
Puede usar pastetoggle
para pegar alternar.
set pastetoggle=<F3>