De la pregunta ¿Cómo reemplazar un personaje para una nueva línea en Vim? . Debe usar \ r cuando reemplace el texto de una nueva línea, como este
:%s/%/\r/g
Pero al reemplazar el final de las líneas y las nuevas líneas para un personaje, puede hacerlo como:
:%s/\n/%/g
¿Qué sección del manual documenta estos comportamientos y cuál es el razonamiento detrás de ellos?

%buscar y reemplazar?:ssolo aplicará la sustitución a la línea actual.:%shace que aborde todo el archivo. Más .Respuestas:
De vim docs en patrones :
fuente
De http://vim.wikia.com/wiki/Search_and_replace :
fuente
:h :s%, especialmente el último párrafo. (vía:h :s)Otro aspecto de esto es que
\0, que tradicionalmente es NULL, ses//\0/entiende como "todo el patrón coincidente". (Que, por cierto, es redundante y más largo que&).\0decirNULL, entonces usas\n\npara decir\n, así que usas\r.\rsignificar\r, pero no sé quién querría agregar ese personaje a propósito.—☈
fuente
\ntiene diferentes significados en los patrones de búsqueda y reemplazo. Fantástica respuesta.:help NL-used-for-Nulfuente
En primer lugar, abra
:h :spara ver la sección "4.2 Sustituto" de la documentación sobre "Cambio". Esto es lo que acepta el comando:Observe la descripción sobre
patternystringEntonces, ahora sabe que el patrón de búsqueda y los patrones de reemplazo siguen reglas diferentes. Si sigue el enlace a
|pattern|, lo lleva a la sección que explica todos los patrones de expresiones regulares utilizados en Vim.Mientras tanto, lo
|sub-replace-special|lleva a la subsección de "4.2 Sustituto", que contiene los patrones para la sustitución, entre los cuales se encuentra el\rsalto de línea / división.(El acceso directo a esta parte del manual es
:h :s%)fuente