#!/bin/bash
# boot up screen
screen -d -m -S editor
# configure screen 
sleep 0.1 && screen -X -S editor split &&
sleep 0.1 && screen -X -S editor title vim && 
sleep 0.1 && screen -X -S editor stuff "vim^M" &&
sleep 0.2 && screen -X -S editor focus &&
sleep 0.2 && screen -X -S editor screen &&
sleep 0.3 && screen -X -S editor resize 6 && 
sleep 0.3 && screen -X -S editor stuff "newlisp^M" && 
sleep 0.3 && screen -X -S editor title interpreter && 
sleep 0.4 && screen -X -S editor focus &
# attach screen
screen -x

Есть bash скрипт, в конце строк которого стоят ^M. Видны они только в vim. На сколько я понял, это досовское окончание строки и аналогом в nix будет /r. При замене их на /r или /r/n скрипт перестает работать, т.к. команда не подтверждается. Собственно несколько вопросов - чем это можно заменить и как такой символ можно поставить, т.к. обычные ^M vim распознает иначе.

Carpe diem

2

incogn1too пишет:

На сколько я понял, это досовское окончание строки и аналогом в nix будет /r.

правильно поняли. только оно пишется \r так.
или так \x0d

В обычном режиме(консоли) этот код приводит к тому, что курсор сдвигается в самую левую позицию, но однако перевода строки не происходит (<CR> без перевода строки).

Для регулярных выражений это один из пробельных символов.

что-бы посмотреть код в vim'е используйте ga, а для ввода ctrl+v,ctrl+m

в баше такой символ можно распечатать так:

 Консоль:
$echo -e "\r"

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

3

и да, хочу заметить, что эмулятор терминала может перехватывать CTRL+буква. Потом некоторые символы не работают. У меня в Terminal'е не работает CTRL+K (диграфы)

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

4

Спасибо.

Carpe diem