[완료]vi에서 insert모드에서 방향키 입력시 알파벳 입력되는 현상 & vi 에서 개행문자로 치환하는 방법

knumis의 이미지

질문이 총 2가지 입니다.

첫번째질문)
vi에서 a키를 누르면
터미널 화면 하단에 "--끼워넣기--"와 같이 표현되면서 insert 모드가 되는데요.

제가 vi 작업중에 어떤 키를 눌렀는지,
insert 모드에서 아래 현상이 발생합니다.

현상1. 백스페이스키가 동작하지 않습니다.
현상2. 상,하,우,좌 방향키에 대해 각각 A,B,C,D가 써집니다.
현상3. 화면 하단에 "--끼워넣기--" 라고 표시되지 않습니다.

명령모드에서는 방향키와 백스페이스키 모두 제대로 동작합니다.

어떻게 하면 이전처럼 제대로 동작하게 할 수 있을까요?

두번째질문)
윈도우에서 가져온 메이크파일이 아래와 같습니다.

CC = cc^MCOPS =^MLINT = lint^MLOPS = -x -u^M^M
..중략...

dos2unix는 ^M를 공백으로 바꾸어주기만 하는데요.
메이크파일이 제대로 동작하려면
^M을 공백이 아닌 리눅스에서의 개행문자로 문자열 치환해주어야 할 것 같습니다.

vi에서 문자열 치환시 개행문자는 어떻게 표현해주어야 하나요?
다시 말하면 아래의 HERE 부분에는 어떻게 입력해야 하나요?
:%s/^M/HERE/g

고수님들의 많은 답변 부탁드립니당.

익명 사용자의 이미지

vi는 껏다키면 설정이 리셋됩니다. -_-a

vi보다는 vim을 사용하세요!

knumis의 이미지

앗..그렇네요.
이렇게 간단한 것을..
답변주셔서 감사합니당

doodoo의 이미지

HERE 를 없애고...기냥 // 로 해 보세요

doodoo의 이미지

앗 참고로 ^M 은 ctrl + v + m 인거 아시죠 ^^;

knumis의 이미지

답변 감사드립니다.

그런데 말씀하신 것은 ^M을 삭제하는 것이고,

제가 원하는 것은 ^M 을 개행문자로 대체하는 것입니다.

다시 말하면 아래와 같은 형태인데,

:%s/^M/개행문자/g

위의 라인에서 개행문자 부분을 어떻게 입력해야 하는지 궁금합니다.

doodoo의 이미지

그럼 \r 로 해 보세요 될것 같은데요.

knumis의 이미지

쉬운 걸 가지고 고민했네요.
답변 감사합니당~