工作中常用到的Vim命令

2022-01-17 05:27:58 字數 2087 閱讀 9480

最近工作中需要到linux伺服器上更改檔案,苦於對vim的各種命令不熟悉,今天特此總結並熟悉一下各種vim命令,好提高工作效率。後期持續更新

vim編輯器個人設定

先複製乙份vim配置模板到個人目錄下,如果/usr/share/vim/vimrc檔案不存在則直接跳到第二步

cp /usr/share/vim/vimrc ~/.vimrc

編輯個人目錄下的.vimrc

vi ~/.vimrc

進入vim編輯模式編寫以下配置資訊

syntax on           '開啟語法高亮'

set nu! '設定行號'

set autoindent '自動縮排'

set tabstop=4 '設定tab鍵為4個空格'

set showmatch '設定匹配模式,類似當輸入乙個左括號時會匹配相應的右括號'

命令模式(command mode)—執行命令

在該模式中,可以輸入命令來執行許多種功能。控制螢幕游標的移動,字元、字或行的刪除,移動複製某區段及進入insert mode下,或者到 last line mode。

輸入模式(insert mode)—輸入文字

vi被執行時,通常處在命令模式下,鍵入以下命令 可以使vi退出命令模式,進入輸入模式:i(i)、a(a)、o(o)。

末行模式(last line mode)—執行待定命令

將檔案儲存或退出vi,也可以設定編輯環境,如尋找字串、列出行號……等。不過一般我們在使用時把vi簡化成兩個模式,就是將末行模式(last line mode)也算入命令列模式command mode)。

命令模式下常用命令

移動命令

^ 移動到當前行的開頭處

$ 移動到當前行的結尾處

w 移動到下乙個單詞的開始位置

gg 移動到檔案頭

shift+g 移動到檔案尾

h 游標左移

j 游標下移

k 游標上移

l 游標右移

ctrl+b(back) 螢幕往後移動一頁

ctrl+f(forward) 螢幕往前移動一頁

ctrl+u(up) 螢幕往上移動半頁

ctrl+d(down) 螢幕往下移動半頁

撤銷命令

u 倒退一步

ctrl+r 重做

刪除命令

x 刪除當前字元

dd 刪除游標所在行

dgg 刪除游標所在行到檔案頭的所有字元

dg 刪除游標所在行到檔案尾的所有字元

拷貝剪下和貼上

退出命令

:w filename(存入指定檔案) 另存為

:q 退出

:q! 強行退出vi,使被更新的內容不寫回檔案中。

:wq 儲存並退出,即將上面的兩步操作可以合成一步來完成。

:x 儲存並退出

搜尋命令

/text  從游標開始向後查詢text,按n查詢下乙個,按n查詢前乙個。

?text 從游標開始向前查詢text,按n查詢前乙個,按n查詢下乙個。

搜尋特殊符號.*^%/?~$需要轉義

:n 將游標快速定位到n行

vim +/text a.php 開啟a.php並將游標定位到第乙個text

% 快速定位到另一半符號{}()

替換命令

r 替換游標所在字元(按下r後輸入新字元)

%s/t/o/g 將所有的t替換為o

修改命令 c [數字] motion

c^ 刪除游標從當前位置到當前行的開頭處所有字元,並進入插入模式

c$ 刪除游標從當前位置到當前行的結尾處所有字元,並進入插入模式

插入命令

i 在當前位置前插入並切換到輸入模式

a 在當前位置後插入並切換到輸入模式

o 在當前行下方插入一行並切換到輸入模式

按下插入命令可進入文字輸入模式

:!可以執行其他shell命令

git 工作中常用到的命令

今天主要記錄一下平常工作當中使用的git操作 1.git的安裝這裡省略 2.git的操作指令 在專案開發中,經常是拉去經理已經搭建好的乙個專案,也就是給我們乙個git位址。比如 第一步 轉殖 在git黑視窗輸入 git clone 然後會生成乙個對應的專案資料夾 一般在工作中是多人開發,所以應該在本...

工作中常用到的git命令

git config global user.name linying1223 git init3.1 將檔案放入到暫緩區 git add 代表全部檔案或資料夾,也可以具體到某個檔案 git add readme.txt 3.2 將快取區 內容新增到倉庫中 git commit m 案例 git s...

工作中常用到的Linux命令(持續更新)

1.ps ef grep 程序名 這個程序名可以是模糊值 根據查詢出來的結果可以得到程序號,即 pid,然後用kill 9 pid強制殺掉這個程序 這個命令是由於最近一直維護linux上的專案而經常使用的,我們的專案是在windows下開發,然後再部署到linux上,每一次的回歸測試都是將開發人員修...