При перенаправлении вывода команды в переменную с помощью :redir
кажется, что все \n
заменяются на \r\n
.
Например, при запуске
redir => m
silent !echo -e "Hallo\nCiao"
redir END
put =m
затем новые строки, вставленные в буфер, заканчиваются ^M
, что указывает на символ возврата каретки (\r
).
Однако, похоже, это происходит только при выполнении внешней команды.Если вместо команды echo
, предоставленной оболочкой, мы используем внутреннюю команду Vim echo
, то есть
redir => m
" Note the missing `!` in front of `echo`
silent echo "Hallo\nCiao"
redir END
put =m
, тогда строки не заканчиваются ^M
, т.е.возврат каретки не вставляется.
Кто-нибудь знает, как я могу предотвратить преобразование Vim \n
в \r\n
?(Я нахожусь на Linux.)