vim學習小結

2022-02-18 06:34:17 字數 1854 閱讀 6804

參考書籍《linux 從入門到精通》第二版(劉憶智 等編著)

背景:vim的設計哲學就是讓使用者能夠在主鍵盤區完成所有工作。

vim是vi的增強版本,vim分為插入和命令兩種模式

插入模式下可以輸入字元

命令模式下可執行除了輸入字元之外的所有操作,包括儲存、搜尋、移動游標等。

啟動vim時自動處於命令模式

可以在命令列下輸入vim file(如果file不存在,那麼vim會自動新建乙個名為file的檔案),啟動vim時自動處於命令模式,按i鍵可以進入插入模式(防坑:按鍵之前請確保當前輸入法是英文), 此命令用於在當前游標所在處插入字元。vim會在左下角提示使用者此時所處的模式。

示例:vim test.py進入檔案內,此時為命令模式

輸入i後,進入插入模式:

輸入想要輸入的內容後,按esc鍵回到命令模式,此時左下角的「-- 插入 --」提示消失,告訴使用者正處於命令模式下。

儲存檔案:

下一步,需要儲存這個檔案。需要使用 「:」 命令在底部開啟乙個命令列,此時游標閃爍,等待使用者輸入命令

:q     簡單退出,如果有修改的話,vim會拒絕退出並在底部顯示提示資訊

:q!    強制退出

:w    儲存不退出

:wq  儲存並退出

:wq  newfilename  儲存退出並另存為新檔名,如果newfilename已存在,可加 ! 強制覆蓋。

/string   向前查詢(從游標開始的地方「朝向檔案尾」)

?string   向後查詢(從游標開始的地方「朝向檔案頭」)

這裡的「前」指的是「朝向檔案尾」,「後」指的是朝向檔案頭,跟常見理解的意義不太一樣,可以稍稍留意下,通常常用的也就是/string。那麼查詢到字串之後,想跳轉到下乙個出現string的位置如何是好呢。

整體格式 :s///

先看乙個示例,稍後一一來解釋

示例::%s/prints/print/g

回車之後顯示如圖,所有prints已經被替換成了print

3.1 首先,作用範圍

1,4表示從第1行到第4行

n,$s表示從第n行到最後一行

1,$s表示從第一行到最後一行,也可用%s來表示

s的話就表示當前行

3.2 //

簡單來說就是想要把替換成,數入想要的內容即可

3.3 

c 每次替換前詢問

e 不顯示錯誤資訊

g 替換一行中所有的匹配項(此選項通常需要使用)

i 不區分大小寫

vim的配置檔案叫vimrc

linux下通常位置etc/vim目錄下,修改此配置檔案需要root許可權,如果沒有特殊需要的話,不要那麼做。使用者可以在自己的主目錄下新建乙個名為「.vimrc」的檔案,然後把配置資訊寫在裡面。

windows電腦下如果安裝也會在目錄中有乙個vimrc檔案。如果有一些個性化的配置,可以在此檔案更改

比如說自動縮排:set autoindent

VIM 學習小結 1

vim 學習小結 1 移動 1.游標的移動 h 左移 j 下移 k 上移 l 右移 2.移動游標到行頭 數字03.跳轉到最後一行 g 行號加g 跳轉到指定行 4.跳轉到第一行 gg5.返回上次的位置 ctr o ctr i 到較新的位置 6.到配對的 處 刪除 1.刪除游標所在位置的字元 x2.刪除...

VIM 命令小結

兩種模式 normal mode 普通模式 insert mode 插入模式 插入模式按 escape進入普通模式,普通模式按i進入插入模式。定位 h 左移.j 下移.k 上移.l 右移 pagedown or ctl f 前滾 pageup or ctl b 後滾 g 最後一行 num gg 到第...

Vim使用小結

set fileformat 設定檔案格式 set endofline 設定檔案結束符 set noendofline 取消檔案結束符 set list 進入list mode set nolist 退出list mode s n g 刪除換行符 set textwidth 設定行寬 set tex...