2012-12-01 89 views
0

當我使用vi(我認爲在默認情況下在Slackware 13.37上調用elvis),我可以按預期插入文本,但是當我使用ESC x編輯出錯位時,光標移動鍵l以及$將光標置於因此強迫我在最後一個字母的左邊插入任何新的文本,基本上強制輸入錯字,除非我一直刪除一個空格。實際的箭頭鍵通常會讓我超越最後一個字母,但並非總是如此。Vi編輯和行結束時的光標位置?

爲了幫助解釋我在做什麼:

This is text with a tttypog 

ESC x

This is text with a typog 

ESC lESC $修復它可以讓我只將光標移動到克由此迫使我插入任何只有在g左邊的新文字

This is text with a typoraphicalg 

我做錯了什麼?

+3

如果你想好好學習Vi,我建議避免將插入模式作爲默認設置。如果你通常停留在命令模式下,並進入插入添加一些文本,它會更有意義。 –

回答

4

編輯:以「正常模式」替換「命令模式」 - @Jim管家:感謝您指出不正確

簡短的回答:如果你是在正常模式下,想一個字符後按插入文本a 。按A直接跳到行尾並在最後一個字符後插入字符。在vi中,afaik不能將光標放在當前行最後一個字符後面的列上(如果處於正常模式)。然而在vim中有一個名爲virtualedit的選項,它可以讓你這樣做(參見:help virtualedit)。

+4

我認爲你的意思是正常模式,而不是命令模式。 –

1

vi中有兩種模式,編輯模式(默認)和插入模式。命令「我」(不含引號)將帶您進入插入模式,ESC將您帶回編輯模式。在每個命令前都沒有必要按下ESC鍵,但按ESC鍵是一種無害的方法,以確保當您忘記了上一次使用哪種模式時,它處於編輯模式。

「A」命令(不帶引號)用於在行尾添加文本。

相關問題