關於 vi vim 的一些用法

2021-07-05 02:15:34 字數 2763 閱讀 5180

這兩天閒一點,繼續寫起來。

今天來寫一點自己在運用vi&&vim過程中的經驗和體會,以下的內容基本都是本人實際使用過的。今後如果用到了什麼新鮮玩意兒,再加進來。

寫的比較簡單,都是追求自己能看懂就行,奉行拿來主義的恐怕要實際操作和查資料才能明白了。

基本操作:(簡單列舉下,不多說了)

w、q、wq、q!、w!,

i、dinsert、delete、backspace、pageup、pagedown、home、end、tab等等鍵盤上的幾個鍵,用法不多說了。

g,文件開頭

g,文件結尾

查詢:

/,單斜槓,查詢

n,下乙個

n,或者是ctrl+n,上乙個

撤銷與恢復:

u,撤銷這一步操作,多按幾次就多撤幾步,哈哈哈。

ctrl + r, 撤銷之撤銷,也可以說是恢復吧,按u之後,再按這個ctrl + r 可以抵消u的效果。

恩,我也只能解釋這麼多了,懂的自然懂。

替換:(我個人一般不傾向於用全域性的替換,一般都是乙個個的找出來替換掉,防止替換了什麼不該換的東西)

用/查詢到某一行或者游標放在某一行,然後輸入

:s/$/$      這裡解釋一下$代表準備被替換的字串,$代表用來替換的字串

這條命令的作用只是替換當前行的首個目標字串。替換本行全部目標字串,需要用:s/$/$/g,我猜這個g應該是global的意思。

實際上這條命令還能實現刪除指定字元的功能,只要把$設為空就好。

多選:

v,可以選中一行中的多個字串或者整行,或者多行,甚至全文。

然後可以進行刪除或者格式化的操作。

如果不是刪除或者格式化的操作,而是按下了y, 那麼選中的這段,可以貼上在同乙個編輯器的別的地方,記住,是同乙個編輯器。

ctrl + v,多選列,選中多個列然後下拉,可以對選中區域刪除或修改。

刪除:

d,刪除整行,或者在v模式下刪除整段。

也可以輸入乙個數字,然後按下dd刪除多行,比如3,然後dd,刪除本行在內的以下三行。

刪除一列或多列:

其實還是多選的問題,還是要用到v這個命令,不過應該是ctrl + v,

ctrl  v之後移動游標,選中要刪除的幾行幾列,按x或者d都可以刪除掉。

格式化**:

我一般就是v,選中幾行,然後按等號鍵=,當然,這是格式化某一段。

那格式化整篇**怎麼辦呢,其實還是差不多啊。

按g回到頁首,v進入visual模式,g(其實就是shift + g)到頁尾,然後等號=搞定,

但是有個前提是你把vim的配置檔案設定好縮排,後面會說這個設定檔案。

**比對:

vimdiff

命令模式下: vert  diffsplit [filepath]

vim檢視二進位制檔案:

vim -b $ 開啟檔案,-b表示開啟binary檔案

:%!xxd                   xxd是binary轉16位,%和!表示什麼不是太清楚,%好像是表示當前路徑,待考證。

vim顯示行號:

:set number

或 set nu

取消顯示行號:

:set nonumber

或 set nonu

其實set這個命令有很多功能呢,目前用到最多就是個顯示行號,哈哈。

下面重頭戲來了,vim的配置檔案。

我在ls的時候總是習慣性的ls -a顯示隱藏檔案,哈哈哈,吐個槽。

言歸正傳:

cd /etc/vim/  然後

vim vimrc   開啟配置檔案vimrc,這時候會顯示乙個有很多注釋的配置檔案

我們這時只需在檔案下面加幾行:

set tabstop=4                       設定製表符寬度,tab、4個空格

set expandtab                       設定4空格替換tab

set noexpandtab                  設定tab替換空格這地方是個坑,不寫這一句,tab鍵下去還是8個空格?我也不太確定

-----------------------------

set softtabstop=4                 設定製表符寬度

set shiftwidth=4                    設定縮排寬度,4個空格

set smartindent                    設定智慧型縮排

set cindent                            設定c/c++方式縮排

set nu                                    設定顯示行號

set hlsearch                          設定顯示高亮

嗯,這麼些差不多夠用了,今後有什麼再加吧。

2017,9,14補充:

vimdiff經常會將相同的部分摺疊起來,

開啟指定摺疊: zo

收回已開啟的摺疊:zc

開啟所有摺疊:zr

關於Linux 的一些用法

假設我們定義了乙個變數為 file dir1 dir2 dir3 my.file.txt 我們可以用 分別替換獲得不同的值 拿掉第一條 及其左邊的字串 dir1 dir2 dir3 my.file.txt 拿掉最後一條 及其左邊的字串 my.file.txt 拿掉第乙個 及其左邊的字串 file.t...

vi vim的一些使用技巧

插入模式 移動游標 vi可以直接用鍵盤上的游標來上下左右移動。刪除文字 x 每按一次,刪除游標所在位置的後面乙個字元。x 例如,6x表示刪除游標所在位置的後面6個字元。x 大寫的x,每按一次,刪除游標所在位置的前面乙個字元。x 例如,20x表示刪除游標所在位置的前面20個字元。dd 刪除游標所在行。...

關於ListCtrl控制項的一些用法

本人從今天開始將陸續把自己在vc 中學到的點點滴滴記錄下來。最近正好在跟著導師做乙個軟體專案,要用到listctrl控制項。下面結合自己的程式設計經驗 其實我還是個菜鳥 介紹幾個listctrl控制項常用的方法。我選用的是報表形式 1 為listctrl 設定 線 m mylist.setexten...