vim其實本身自帶了一個教學功能,對於新手來說真的是很有幫助。他是一步步的教導該如何使用vim。
這
個vim的教學程式是包含在vim-common內的,這個教學的教材內容是有多國語言版本的,也包含了中文,甚至有正體中文和簡體中文。可惜的是正體中
文的教材內容只有big5編碼,而簡體中文的教材是gb2312編碼。以現在較新的linux版本而言,系統預設都是utf8,所以在使用前我們要先做個
小動作,就是改教材的編碼。
先到“/usr/share/vim/vim71/tutor”下找一個檔名為
“tutor.zh.big5”和“tutor.zh.euc”這兩個檔案。如果你的系統裡沒有這個目錄,試著在“/usr/share/vim/”目錄
下找個以vim開頭後面又有跟著數字的目錄。先將“tutor.zh.euc”複製一份起來,再使用“iconv”指令將“tutor.zh.big5”
轉換成utf8編碼並且用“tutor.zh.euc”為檔案存起來。
# echo tutor.zh.big5 | iconv -f big5 -t utf8 -o tutor.zh.euc
在做以上動作時,必須要有root的權限哦!!!這樣就完成了
使用以下指令啟動教學程式
# vimtutor zh
接下來就昰各位自己跟著教程好好學了。這裡以下是我的筆記,也算是功能鍵的記錄
移動游標
h | 左 |
j | 下 |
k | 上 |
l | 右 |
<ESC> :q! <Enter> =>
離開並且放棄修改
<ESC> :wq <Enter> => 存檔後離開
正常模式下
VIM刪除類命令 | |
x | 刪除一個字 |
i | 在游標所在處插入輸入字元 |
dw | 從游標處開始刪除一個單字/詞 |
d$ | 刪除從游標處開始到該行行末 |
dd | 刪除游標所在處的一整行 |
u | 撤消最後執行的指令 |
U | 撤消一整行所有修改的指令 |
Ctrl - R | 撤消以前的撤消命令,恢復以前的操作結果 |
置入類命令 | |
p | 將最後一次刪除的內容置入光標之後的下一行 |
替換類命令 | |
r | 輸入 r 和一個字符替換光標所在位置的字符。 |
R | 可連續替換多個字符。 |
更改類命令 | |
cw | 要改變一個單字/單詞的部分或者全部 |
定位及文件狀態 | |
CTRL-g | 顯示當前編輯文件中當前光標所在行位置以及文件狀態信息。 |
SHIFT-G | 輸入您曾停留的行號,然後按下 SHIFT-G。就可以到達指定的行號。注意︰輸入行號時,行號是不會在屏幕上顯示出來的。若未輸入行號直接按SHIFT-G,將會到達文件的最後一行。 |
搜索類命令 | |
/ | /字串,繼續往下找相同字串按 n ,往上找則按 Shift - N。 |
? | 逆向查找字串。 |
設置類命令 | |
:set ic | 在搜索字串時下達此指令可使搜尋的字串怱略大小寫,ic即Ignore Case的縮寫。 |
:set hls | hlsearch |
:set is | incsearch |
配對括號的查找 | |
% | 可以查找配對的括號 )、]、} |
修正錯誤的方法之一 | |
:s/old/new/g | 將一整行的old替換為new。 |
:s/old/new | 可以替換 old 為 new,但只替換游標所在行的第一個符合條件的字串。 |
:%s/old/new/g | 將整個文件中的old改為new。 |
:#,#s/old/new/g | #為行號,在兩個行號之間進行替換old為new。 |
:%s/old/new/gc | 進行全文替換時詢問用戶確認每個替換需添加 c 選項 |
在 VIM 內執行外部命令的方法 | |
:!外部命令 | 執行該外部命令。 |
:w filename | 將文件存檔為檔名filename |
選擇性的保存命令 | |
:#,# w FILENAME | 將兩行之間的內容以檔名FILENAME存檔。 |
提取和合並文件 | |
:r filename | 讀取filename的文件內容,並從所在位置處開始置入。 |
打開類命令 | |
o | 在游標的下方開出新的一行並進入編輯模式 |
O | 在游標的上方開出新的一行並進入編輯模式 |
插入類指令 | |
a | 在游標後插入內容 |
A | 在游標所在行的行末插入內容 |
<F1> or :help | 開啟說明文件,要結束此說明文件請使用 : q |
e | 打開指定的文件檔名 |
刪除命令 d 的格式
[number]
d
object
或者 d
[number] object
number - 代表執行命令的次數(可選項,預設設置為 1 )。
d - 代表刪除。
object - 代表命令所要操作的對象(下面有相關介紹)。
一個簡短的對象列表︰
w - 從當前光標當前位置直到單字/單詞末尾,包括空格。
e - 從當前光標當前位置直到單字/單詞末尾,但是 *不* 包括空格。
$ - 從當前光標當前位置直到當前行末。
正常模式的命令格式
[number] command
object
或者 command
[number] object
其意是︰
number -
代表的是命令執行的次數
command -
代表要做的事情,比如 d 代表刪除
object -
代表要操作的對象,比如 w 代表單字/單詞,$ 代表到行末等等。
$ (to the end of line), etc.
請問一下
回覆刪除我執行轉檔tutor成utf-8的指令
會出現程式記憶體區段錯誤
是哪裡出錯呢
謝謝
Raycherng,
回覆刪除不好意思,有點摸不著頭緒,是不是可以提供更詳細一點的問題說明,例如是否Fedora嗎?是否為第8版,語言版本為何,所下的指令全文。