2013-10-26 74 views
2

我正在學習Ed文本編輯器。 您知道要從輸入模式退出,用戶應在1個時間段內輸入一行(「。」)。如何在編輯期間逃脫

比方說,我想輸入文本的時期。 我想過一個解決方法。首先,我插入「..」。接下來,我將「..」替換爲「。」。

但我的方法有點笨拙。

+0

你的方法很好,它甚至通過POSIX提示:輸入單個的_The典型的方法是用其他字符先於它,然後用替換命令刪除該字符。並且POSIX還指定在輸入模式下不存在轉義字符。 –

回答

2

通過閱讀GNU ed(1)的C源文件,沒有轉義字符。在我一直想做到這一點的場合,我傾向於添加一個空行,然後使用快速換人:

a↵ 
↵ 
.↵ 
s/^/.↵ 

,或者你可以添加一個字符,然後將其刪除(它,如果你玩ed(1)高爾夫),是一個性格比以上)更

a↵ 
x↵ 
.↵ 
s/./.↵ 
+0

爲了記錄,這也是'diff -e'所做的。 'diff -e <(echo)<(printf'。\ n')' – Gumnos