linux學習整理之vim編輯器的使用

2021-06-21 02:20:44 字數 4839 閱讀 7594

感謝鳥哥

索引

說明基礎

一般模式,切換,指令

vim高階特性

多檔案編輯,多視窗編輯,區塊選擇,檔案恢復

vim配置檔案

中文編碼

亂碼分析解決

dos與linux換行符問題,及轉換

dos2unix,unix2dos

字元編碼檔案轉換

iconv

一般模式下:

游標移動類:

h,j,k,l移動游標向左,下,上,右例如向下移動 30 行,可以使用 "30j" 

也可以使用方向鍵來進行移動(可以加上數字移動5h移動5個字元)

翻頁:ctrl+f(forward),ctrl+b(behind)

home或0/end或$移動到行首、尾

h,m,l分別表示游標移動到螢幕上嘴上,最中,最下的一行

g移動到這個檔案的最後一行

ng移動到第n行 gg移動到第一行

n游標向下移動n行

查詢類:

/ 向下查詢; ?向上查詢

n,n分別表示向下,上重複前乙個查詢或替換動作

:n1,n2s/word1/word2/g在第n1至n2行搜尋字串word1並用word2取代它

:1,$s/word1/word2/g在第一行至最後一行搜尋字串word1並用word2取代它

:1,$s/word1/word2/gc相對於上面的,這個會在替換前進行詢問。

複製,貼上,刪除:

x,x分別表示向後,向前刪除乙個字元

nx,向後刪除n個字元

dd刪除一行

ndd刪除游標向下的n行,

d1g刪除游標所在行至第一行的所有行 dg則刪除游標所在到最後一行的所有資料

d0刪除到行首 d$刪除到行末

yy 複製游標所在的那一行

nyy ,y1g,yg,y0,y$

p, p 貼上到下一行、上一行

j 合併當前行與下一行

u undo ctrl+r redo

. 小數點,即重複前乙個動作

一般模式切換到編輯模式:

i,i; i游標處插入,i行首插入

a,游標處追加,a行末插入

o,o;o,向下插入一行,o向上插入一行

r,r:取代模式(replace mode):r 只會取代游標所在的那乙個字元一次;r會一直取代游標所在的文字,直到按下 esc 為止;

指令模式:

:w ,:w!; :q,:q! , :wq

:w [filename]另存為

:r [filename]將另乙個檔案的內容加入到當前檔案

:n1,n2 w [filename] 將 n1 到 n2 的內容儲存成 filename 這個檔案。

:! command 暫時離開 vi 到指令列模式下執行 command 的顯示結果!例如

『:! ls /home』即可在 vi 當中察看 /home 底下以 ls 輸出的檔案資訊!

:set nu 顯示行號; :set nonu取消顯示行號

在 vi 中,『數字』是很有意義的!數字通常代表重複做幾次的意思! 

zz 這是大寫的 z 喔!若檔案沒有更動,則不儲存離開,若檔案已經被更動過,則儲存後離開!

1.vim臨時檔案的恢復功能: vim 會在與被編輯的檔案的目錄下,再建立乙個名為 .filename.swp 的檔案。 如果你的系統因為某些原因斷線了, 導致你編輯的檔案還沒有儲存,這個時候 .man.config.swp 就能夠發會救援的功能了!記住在恢復之後記得手動刪除這個swap檔案,否則你本次的編輯就會失效,下次任然會出現這個警告。

2. vim高階特性之區塊選擇

區塊選擇的按鍵意義

v 字元選擇,會將游標經過的地方反白選擇!

v 行選擇,會將游標經過的行反白選擇!

[ctrl]+v 區塊選擇,可以用長方形的方式選擇資料

y 將反白的地方複製起來

d 將反白的地方刪除掉

4.vim高階特性之多視窗編輯

:sp [filename]開啟乙個新視窗,可以不輸入檔名

ctrl+w+k/j(或者方向鍵上下)切換到上、下乙個視窗。

ctrl+w+q(或者:q)離開關閉視窗

/etc/vimrc,~/.vimrc或者~/.viminfo

配置檔案一些引數:

:set all 顯示目前所有的環境引數設定值。

:set nu 

:set nonu 就是設定與取消行號啊!

:set hlsearch

:set nohlsearch hlsearch 就是 high light search(高亮度搜尋)。 這個就是設定是否將搜尋的字串反白的設定值。預設值是 hlsearch

:set autoindent

:set noautoindent 是否自動縮排?autoindent 就是自動縮排。

:set backup 是否自動儲存備份檔?一般是 nobackup 的, 如果設定 backup 的話,那麼當你更動任何乙個檔案時,則原始檔案會被另存成乙個檔名為 filename~ 的檔案。

:set backspace=(012) 一般來說, 如果我們按下 i 進入編輯模式後,可以利用倒退鍵 (backspace) 來刪除任意字元的。 但是,某些 distribution 則不許如此。此時,我們就可以透過 backspace 來設定囉~ 當 backspace 為 2 時,就是可以刪除任意值;0 或 1 時,僅可刪除剛剛輸入的字元, 而無法刪除原本就已經存在的文字了!

:set 顯示與系統預設值不同的設定引數,

:syntax on

:syntax off 是否依據程式相關語法顯示不同顏色?

:set bg=dark

:set bg=light 可用以顯示不同的顏色色調,預設是『 light 』

vim ~/.vimrc

"這個檔案的雙引號 (") 是註解

set hlsearch            "高亮度反白

set backspace=2         "可隨時用倒退鍵刪除

set autoindent          "自動縮排

set ruler               "可顯示最後一行的狀態

set showmode            "左下角那一行的狀態

set nu                  "可以在每一行的最前面顯示行號啦!

set bg=dark             "顯示不同的底色色調

syntax on               "進行語法檢驗,顏色顯示。

中文編碼有以下幾個方面:

1.系統編碼:/etc/sysconfig/i18n

2.終端的語系:lang

3.開啟終端的軟體的語系

4.文件的語系

主要是下面兩點有影響。

比如我的是使用xshell鏈結遠端ubuntu主機。

ubuntu系統的語系設定不是在上面說的那裡。ubuntu系統語系在/var/lib/locales/supported.d/local檔案中。語系的支援說明在/usr/share/i18n/supported檔案中

如果我們需要新增語系,可以編輯這個檔案新增:

zh_cn.utf-8 utf-8

也可以這樣:

#locale-gen zh_cn.utf-8 ; locale-gen zh_cn 

# cat /var/lib/locales/supported.d/local是不是多了語系了。

然後使之生效

:# locale-gen

之後就是關於環境變數lang的設定,我們可以採取設定/etc/environment

vi /etc/env

ironment

加入lang="zh_cn.utf-8"

儲存.使之生效: source /etc/environment

然後就是設定我們開啟終端軟體的編碼。

由於我是採用使用xshell在windows下連線遠端linux主機,所以此時我的顯示仍然亂碼,我需要將xshell中關於終端字元編碼的設定為utf-8即可。

現在就正常了。

我們可以將他們進行相互轉換。:

dos2unix [-kn] file [newfile]

[root@www ~]# unix2dos [-kn] file [newfile]

選項與引數:

-k  :保留該檔案原本的 mtime 時間格式 (不更新檔案上次內容經過修訂的時間)

-n  :保留原本的舊檔,將轉換後的內容輸出到新檔案,如: dos2unix -n old new

iconv -f 原本編碼 -t 新編碼 filename [-o newfile]

iconv -f big5 -t utf8 vi.big5 -o vi.utf8

不過如果是要將正體中文的 utf8 轉成簡體中文的 utf8 編碼時,那就得費些功夫了!

iconv -f utf8 -t big5 vi.utf8 | \

> iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o vi.gb.utf8

你也可以參考我的部落格小站

linux學習之vim編輯器

vi是乙個常用的linux下文字編輯器,基本所有的類unix系統都會預設裝有vi編輯器,所以只要學通了vi,則可以在任意linux上進行文字操作。在控制台裡敲入 vi filename 即可啟動vi編輯器,如果該file已經存在,則編輯已存在檔案,如果不存在,則建立新的檔案。vim是公升級版的vi,...

Linux學習之Vim編輯器

vi編輯器是所有unix,linux系統下的內建的標準文字編輯器 vim在vi的基礎上增加了很多的新特性,比如程式編輯能力,是更加強大和使用範圍更廣的文字編輯器 1.vi的幾種模式 一般模式 移動游標,複製貼上,刪除內容 幾種模式間的切換如下示 2.vi的使用 vi 檔名 進入一般模式 yy複製游標...

Linux學習手冊之vim編輯器

插入命令命令 作用a在游標後附加文字 a在本行末附加文字 i在游標前插入文字 i在本行開始插入文字 o在游標下插入新行 o在游標上插入新行 定位命令命令 作用h 方向左鍵 左移乙個字元 j 方向下鍵 下移一行 k 方向上鍵 上移一行 l 方向右鍵 右移乙個字元 移至行尾 0移至行首 h移至螢幕上端 ...