代码改变世界

Vim 的学习

2021-06-13 19:22  tonyniu8  阅读(46)  评论(0编辑  收藏  举报

发现vim 居然自带教程。
Linux中输入:

vimtutor 开启学习之路。

第一講小結

  1. 光標在屏幕文本中的移動既可以用箭頭鍵,也可以使用 hjkl 字母鍵。
    h (左移) j (下行) k (上行) l (右移)

  2. 欲進入vim編輯器(從命令行提示符),請輸入︰vim 文件名 <回車>

  3. 欲退出vim編輯器,請輸入以下命令放棄所有修改︰

    :q! <回車>

    或者輸入以下命令保存所有修改︰

    :wq <回車>

  4. 在正常模式下刪除光標所在位置的字符,請按︰ x

  5. i insert ,a A append.A为在行尾附加,a为光标处附加。

特別提示︰按下 鍵會帶您回到正常模式或者取消一個不期望或者部分完成
的命令。

好了,第一講到此結束。下面接下來繼續第二講的內容。

第二講小結

  1. 欲從當前光標刪除至單字/單詞末尾,請輸入︰dw

  2. 欲從當前光標刪除至當前行末尾,請輸入︰d$

  3. 欲刪除整行,請輸入︰dd

  4. 在正常模式下一個命令的格式是︰

    [number] command object 或者 command [number] object
    其意是︰
    number - 代表的是命令執行的次數
    command - 代表要做的事情,比如 d 代表刪除
    object - 代表要操作的對象,比如 w 代表單字/單詞,$ 代表到行末等等。
    $ (to the end of line), etc.

  5. 欲撤消以前的操作,請輸入︰u (小寫的u)
    欲撤消在一行中所做的改動,請輸入︰U (大寫的U)
    欲撤消以前的撤消命令,恢復以前的操作結果,請輸入︰CTRL-R

第三講小結

  1. 要重新置入已經刪除的文本內容,請輸入小寫字母 p。該操作可以將已刪除
    的文本內容置于光標之後。如果最後一次刪除的是一個整行,那麼該行將置
    于當前光標所在行的下一行。

  2. 要替換光標所在位置的字符,請輸入小寫的 r 和要替換掉原位置字符的新字
    符即可。

  3. 更改類命令允許您改變指定的對象,從當前光標所在位置直到對象的末尾。
    比如輸入 cw 可以替換當前光標到單詞的末尾的內容;輸入 c$ 可以替換當
    前光標到行末的內容。

  4. 更改類命令的格式是︰

    [number]   c   object        或者      c   [number]   object
    

下面我們繼續學習下一講。

第四講小結

  1. Ctrl-g 用于顯示當前光標所在位置和文件狀態信息。Shift-G 用于將光標跳
    轉至文件最後一行。

    先敲入一個行號然後按 Shift-G 則是將光標移動至該行
    號代表的行。

輸入您曾停留的行號,然後按下 SHIFT-G。這樣就可以返回到您第一次按下
CTRL-g 時所在的行好了。注意︰輸入行號時,行號是不會在屏幕上顯示出來
的。

  1. 輸入 / 然後緊隨一個字符串是則是在當前所編輯的文檔中向後查找該字符串。
    輸入問號 ? 然後緊隨一個字符串是則是在當前所編輯的文檔中向前查找該字
    符串。完成一次查找之後按 n 鍵則是重復上一次的命令,可在同一方向上查
    找下一個字符串所在;或者按 Shift-N 向相反方向查找下該字符串所在。
    搜索的时候忽略大小写
    方法一:
    查找时使用\c参数。进入底行模式,输入命令“/string\c ” 或 “/\cstring”,将会忽略大小写查找string字符串。
    注意:\c与字符串之间不要有空格,因为该空格也会被认为是查询的字符串
    方法二:
  2. 如果光標當前位置是括號(、)、[、]、{、},按 % 可以將光標移動到配對的
    括號上。
  4. 在一行內替換頭一個字符串 old 為新的字符串 new,請輸入  :s/old/new
     在一行內替換所有的字符串 old 為新的字符串 new,請輸入  :s/old/new/g
     在兩行內替換所有的字符串 old 為新的字符串 new,請輸入  :#,#s/old/new/g
     在文件內替換所有的字符串 old 為新的字符串 new,請輸入  :%s/old/new/g
     進行全文替換時詢問用戶確認每個替換需添加 c 選項,請輸入 :%s/old/new/gc             

第五講小結

  1. :!command 用于執行一個外部命令 command。

    請看一些實際例子︰
    :!dir - 用于顯示當前目錄的內容。
    :!rm FILENAME - 用于刪除名為 FILENAME 的文件。

  2. :w FILENAME 可將當前 VIM 中正在編輯的文件保存到名為 FILENAME
    的文件中。

  3. :#,#w FILENAME 可將當前編輯文件第 # 行至第 # 行的內容保存到文件
    FILENAME 中。

  4. :r FILENAME 可提取磁盤文件 FILENAME 並將其插入到當前文件的光標位置
    後面。

第六講小結

  1. 輸入小寫的 o 可以在光標下方打開新的一行並將光標置于新開的行首,進入
    插入模式。
    輸入大寫的 O 可以在光標上方打開新的一行並將光標置于新開的行首,進入
    插入模式。

  2. 輸入小寫的 a 可以在光標所在位置之後插入文本。
    輸入大寫的 A 可以在光標所在行的行末之後插入文本。

  3. 輸入大寫的 R 將進入替換模式,直至按 鍵退出替換模式而進入正常
    模式。

  4. 輸入 :set xxx 可以設置 xxx 選項。
    复制与粘贴:
    yy复制一行,p粘贴
    或者
    v进入visual 模式,再进行粘贴

  5. e cursor move a word a time

  6. y copy ,p paste.

第六講第四節︰設置類命令的選項

              ** 設置可使查找或者替換可忽略大小寫的選項 **
  1. 要查找單詞 ignore 可在正常模式下輸入 /ignore 。要重復查找該詞,可以
    重復按 n 鍵。

  2. 然後設置 ic 選項(ic就是英文忽略大小寫Ignore Case的首字母縮寫詞),即
    輸入︰
    :set ic

  3. 現在可以通過鍵入 n 鍵再次查找單詞 ignore。重復查找可以重復鍵入 n 鍵。

** 4. 然後設置 hlsearch 和 incsearch 這兩個選項,輸入以下內容, highlight ︰**
** :set hls is **

  1. 現在可以再次輸入查找命令,看看會有什麼效果︰
    /ignore

set hls is 设置highlight

第七讲 帮助与教程
vim 自带教程
vimtutor中,输入help 进入。
Press CTRL-] to jump to a subject under the cursor.
Press CTRL-O to jump back (repeat to go further back).

learn on national day
vi

  • move
    lineG mov to line
    % find matching parenthesis
  1. 如果光標當前位置是括號(、)、[、]、{、},按 % 可以將光標移動到配對的
括號上。
    ^ go to start of line
    $ end of line
  • editing
    :n1,n1s/word1/word2/g
    :1,$s/word1/word2/g
    cw replace a word,c$ replace a line
    :%s replace from first to last line
    dw next word, db previous word
    dlineG delete to G line

    vim column mode
  • delete column
    1.cursor move to place
    2.ctrl +v visual block
    3.select the content to rm
  • add column
    1.cursor move to place
    2.ctrl +v visual block
    3.shift +i (I)
    4.make change
    5.esc twice