Linux文字處理 文字編譯器vim

2021-09-21 12:07:16 字數 4177 閱讀 2214

vim:(visual inte***ce improved),是一款全屏的純文字asscii的編輯器,是 vi 的增強版,相比較 vi 來說,vim支援語法高亮等特點。

vim是一種模式化的編輯器,常見的模式有編輯模式(命令模式),輸入模式,末行模式,視覺化模式,多檔案模式,多視窗模式等。

usage: vim [option]... [file]...

vim 選項+

vim + file 開啟檔案時游標處在最後一行的行首

vim +3 file  開啟檔案時游標處在第三行的行首

一、各個模式的介紹

編輯模式(命令模式):這個模式下鍵盤操作通常被理解為編輯命令

輸入模式:此模式下使用者可以輸入文字內容

末行模式:vim內建命令列介面,執行vim內建變數

視覺化模式:此模式下使用者可以高亮選擇文字的內容

多檔案模式:此模式下使用者一次可以開啟多個檔案

多視窗模式:此模式下在全屏下可顯示多個視窗來編輯檔案

二、各個模式之間的切換

模式切換型別

切換方法

編輯模式 -> 輸入模式

i,a在游標所在處的前方,後方轉換為輸入模式

i,a在游標所在處的行首,行尾轉換為輸入模式

o,o在游標所在行的上一行,下一行轉換為輸入模式

輸入模式 -> 編輯模式

esc編輯模式 -> 末行模式

:末行模式-->編輯模式

esc三、編輯模式(命令模式)下的文字操作

操作分類

具體方法及意義

游標移動

字元間移動

j,kj:向下移動游標      k:向下移動游標

h,lh:向左移動游標      l:向右移動游標

#3h:向左跳躍游標3個字元   4j:向下跳躍游標4行

單詞間移動

ww:游標移動到下乙個單詞詞尾

e,be:游標跳躍到當前或下乙個單詞詞尾

b:游標跳躍到當前或上乙個單詞詞首 #

3w:游標跳躍到下3個單詞的詞尾

4b:游標跳躍到上3或4(游標恰好在詞首)個單詞的詞首

行內移動

0,$0:游標跳躍到絕對行首

$:游標跳躍到絕對行尾 ^

^:游標跳躍到行首第乙個非空白字元開頭處

ctrl+f

ctrl+b

ctrl+u

ctrl+d

向檔案尾部翻一屏

向檔案首部翻一屏

向檔案尾部翻半屏

向檔案首部翻半屏

行間移動

#g5g:將游標跳躍到第5行行首第乙個非空白字元開頭處

g,gg

g:將游標跳躍到行尾第乙個非空白字元開頭處

gg:將游標跳躍到行首第乙個非空白字元開頭處

編輯命令

x類x,#x

x:刪除游標所在處的字元

4x:刪除游標所在處以及之後的共4個字元 d類

dd d #dd d#d

dd:刪除游標所在處的一整行

d:同 d$ 一樣,刪除游標所在處行向後的所有內容

d結合w,e,b,^,$,0,g,gg一起使用

dgg:刪除游標處以及游標處到行首的所有內容

db:刪除游標處到游標處前單詞的單詞首部的內容 y類

yy,y,y#y,#yy

yy y:複製游標所在處的整行

y3y 3yy:複製游標所在處的及以下共3行

結合w,e,b,^,$,0,g,gg一起使用

yw:複製游標所在處向後乙個單詞首部的的字元

y$:複製游標所在處向後這行所有的的字元

yg:複製游標所在處向後檔案尾部行所有的的字元 p類

p p行級別:

p: 貼上於當前行下方

p:  貼上於當前行上方      

小於行級別:

p: 貼上於當前游標所在處的後方

p:貼上於當前游標所在處的前方 c類

cc,#c

cc c:刪除游標所在處的一整行,並進入輸入模式

結合w,e,b,^,$,0,g,gg一起使用

cgg:刪除游標所在處到檔案行首的所有內容,並進入輸入模式

c0:刪除游標所在處到行首的所有內容,並進入輸入模式

撤消編輯

u,#u

u:撤銷上一次操作

3u:撤銷前3次操作

ctrl+r

撤銷上一次撤銷操作重複.

重複上一條命令

四、末行模式

末行模式是執行

一些vim的內建變數,以及問搜尋、替換、刪除等操作。在這裡要引入內容定界。

內容定界的格式是:startpos,endpos。說明在末行模式下操作的範圍。   

內容定界符

具體意義

##:第#行

3:表示第三行 .

.:表示當前行

$$:表示最後一行

%%:表示全文 等價於 1,$

$-#    .+#

支援像$-2, .+2等內容定界 

.+1,$-1 表示當前行的下一行至倒數第二行

下面介紹末行模式的的操作方法以及意義,這些操作都是結合內容定界符一起使用的。

種類具體意義

c d y 

:%y 複製整個文字內容

:.,30d 刪除當前行道30行的內容

100c:刪除100的內容,並變為輸入模式,在100行的行首

w r 

w /path/to/somefile: 將選定範圍內的內容儲存至某檔案

r /path/from/somefile: 將指定的檔案中的內容讀取到指定位置中

`例如:

:1,100w /tmp/test.txt 將1,100的內容儲存到/tmp/test.txt檔案中

:54r /etc/passwd 將/etc/passwd檔案內容加入到54行的下面

s///gi

s/要查詢內容的模式/要替換的字串或者引用/gi

其中g: global, 全行替換  i: 不區分字元大小寫

:%s@^[[:space:]]\@@g 刪除整個文字的空白行

/ ?/ ? 是命令列搜尋,支援正規表示式

/pattern 向下搜尋

?pattern 向上搜尋

n n 使用n,n上下檢視

命令:set nonu   取消顯示行號

:set ai   自動縮排

:set noai  取消自動縮排

:set ic   設定忽略大小寫

:set noic 取消設定忽略大小寫

:set sm  設定括號匹配

:set nosm 取消設定括號匹配

:syntax on|off 設定語法高亮

:set hlsearch 設定搜尋高亮

:set nohlsearch 取消設定搜尋高亮

五、視覺化模式,多檔案模式,多視窗模式

1)視覺化

v:指的是國標所走過的字元

v:指的是國標所走過的行

例如:在某些連續的行首加入#號。編輯模式下:v-->選中行--->i--->#---->esc就可完成此功能。

2)多檔案模式

vi file1 file2 file3... 在末行模式下可以使用next,previous,last,first關鍵字開啟下乙個,上乙個,最後乙個,第乙個檔案。使用wqall可以儲存全部檔案。

3)多視窗模式

多檔案模式:vim -o:水平分割視窗

-o:垂直分割視窗

單檔案模式:

ctrl+w, s: 水平分割

ctrl+w, v: 垂直分割

六、配置檔案

/etc/vimrc:全域性的

~/.vimrc:使用者模式下的配置檔案

補充:1.設定製表符寬度

:set tabstop=4

:set softtabstop=4

2.設定縮排的空格數

:set shiftwidth=4

3.每行的縮排值與上一行相等

:set autoindent

4.使用

c/c++ 

語言的自動縮排方式

:set cindent

5.顯示行號

:set nu

6.將搜尋內容反白

:set hlsearch

7.可以刪除任意值

:set backspace=2

本文側重介紹的是vim文字編輯器的使用。

linux 文字處理

1.文字處理 echo echo e 033 40 35m.背景顏色範圍 40 49 40 黑 41 深紅 42 綠 43 黃色 44 藍色 45 紫色 46 深綠 47 百色 字型顏色範圍 30 39 30 黑 31 紅 32 綠 33 黃 34 藍色 35 紫色 36 深綠 37 百色 eg e...

Linux 文字處理

author janloong do o cat 連線檔案並且列印到標準輸出 sort 給文字行排序 uniq 報告或者省略重複行 cut 從每行中刪除文字區域 paste 合併檔案文字行 join 基於某個共享欄位來聯合兩個檔案的文字行 comm 逐行比較兩個有序的檔案 diff 逐行比較檔案 p...

Linux文字處理命令

4 linux文字處理命令sort命令 sort命令的功能是對檔案中的各行進行排序。sort命令有許多非常實用的選項,這些選項最初是用來對資料庫格式的檔案內容進行各種排序操作的。實際上,sort命令可以被認為是乙個非常強大的資料管理工具,用來管理內容類似資料庫記錄的檔案。sort命令將逐行對檔案中的...