Хитрости редактора vi

Создание многострочного комментария

" commenting
" multiline
vmap <F3> :s/^/#/<CR>
vmap <S-F3> :s/^#//<CR>
" single line
imap <F3> <Esc>:.,.s/^/#/<CR>_i
nmap <F3> :.,.s/^/#/<CR>
imap <S-F3> <Esc>:.,.s/^/#/<CR>_i
nmap <S-F3> :.,.s/^#//<CR>

Комментируем через f3, можно в визуальном режиме (v)  выделить блок и нажать f3 - закомментируется весь блок,  раскомментирование: shift+f3

Как убрать Windows (DOS) символы перевода строки ^M

Unix использует для перевода строки последовательность символов 0xA . Windows использует комбинацию двух символов: 0xD 0xA.
0xD - это символ перевода строки.  Редактор vi отображает последовательность 0xD в виде ^M
Можно удалить все эти ненужные символы   ^M(^M)  с помощью следующей команды:

`:%s/^V^M//g`

где  ^V^M  это последовательно нажатые клавиши  CTRL+V,CTRL+M , которые иммитируют ввод символа  ^M внутри редактора  vi.

Это выражение заменяет  ^M на пустоту по всему документу (ключ /g - globally)

2-ой способ:
команда shell TR (translate or delete characters)

tr -d '\r' dosfile > unixfile