vim的功能鍵說明

這篇是一邊跟著vim本身提供的教學做一邊寫下的vim筆記

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 hlshlsearch
:set isincsearch
配對括號的查找
可以查找配對的括號 )、]、}
修正錯誤的方法之一
: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] 

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.


2 則留言:

  1. 請問一下
    我執行轉檔tutor成utf-8的指令
    會出現程式記憶體區段錯誤
    是哪裡出錯呢
    謝謝
     

    回覆刪除
  2. Raycherng,
    不好意思,有點摸不著頭緒,是不是可以提供更詳細一點的問題說明,例如是否Fedora嗎?是否為第8版,語言版本為何,所下的指令全文。

    回覆刪除

dnf upgrade fails with Error: GPG check FAILED

 OS: Fedora 36 今天在做  dnf  更新的時候,突然有很多 package 都出現簽章問題無法更新。類似如下的錯誤訊息 .... is not signed. ...... is not signed. ......... is not...