歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux系統vim編輯器與find命令相關知識

文本編輯器,字處理器

ASCII

nano ,sed

vi:Visual Interface

vim:VI iMproved

全屏編輯器,模式化編輯器

vim模式:

編輯模式(命令模式)

輸入模式

末行模式

------------------------------模式轉換:

編輯-->輸入:

i:在當前光標所在的字符前邊,轉為輸入模式;

a:在當前光標所在的字符後面,轉為輸入模式;

o:在當前光標所在的行下方,新建一行,並轉為輸入模式

I:在當前光標所在的行首,轉為輸入模式

A:在當前光標所在的行尾,轉為輸入模式

O:在當前光標所在的行上方,新建一行,並轉為輸入模式

輸入-->編輯:

[ESC]鍵

編輯-->末行:

末行-->編輯:

[ESC],[ESC]

輸入模式和末行模式不能直接轉換

一、打開文件

#vim /path/to/somefile

vim +# #為數字,即打開文件直接光標處在第幾行

vim +  直接處在最後一行上

vim +/PATTERN :打開文件,定位至第一次被PATTERN匹配到的行的行首

默認處於編輯模式

二、關閉文件

1、末行模式關閉文件

: q 退出

: wq 保存並退出

: q! 不保存並退出

: w 保存

: w! 強行保存

: wq --> :x

2、編輯模式下退出

ZZ 保存並退出

三、移動光標(編輯模式)

1、逐字符移動:

h:向左

l:向右

j:向下

k:向上

#h:移動#個字符;(#為數字)

2、以單詞為單位移動

w:移至下一個單詞的詞首

e:跳到當前單詞或下一個單詞的詞尾

b:跳至當前或前一個單詞的詞首

#w:一次跳#個數字的詞首  #e,#b

3、行內跳轉:

0:絕對行首

^:行首的第一個非空白字符

$:絕對行尾

4、行間跳轉

#G跳轉至第#行:

G:最後一行

末行模式下,直接給出行號,回車即可

四、翻屏操作

Ctrl+f:向下翻一屏

Ctrl+b:向上翻一屏

Ctrl+d:向下翻半屏

Ctrl+u:向上翻半屏

五、刪除單個字符

x:刪除光標所在處的單個字符,#x向後的#個字符

六、刪除命令:d

d命令要跟跳轉命令組合使用;#d跳轉符,#de,#dw,#db

dd:刪除當前光標所在行;#dd

末行模式下:

StartADD,EndADDd

.  表示當前行

$  表示最後一行

+# 向下的#行

七、粘貼命令 p

p:如果刪除的或復制的為整行內容,則粘貼至光標所在行的下方,如果復制或刪除的內容為非整行,則粘貼至所在字符的後面;

P:如果刪除的或復制的為整行內容,則粘貼至光標所在行的上方,如果復制或刪除的內容為非整行,則粘貼至所在字符的前面;

八、復制命令 y

用法同d命令

九、修改:先刪除內容,再轉換為輸入模式

c:用法同d命令

十、替換:r

R:替換模式

十一、撤銷編輯操作 u

u:撤銷前一次的編輯操作

連續u命令可以撤銷前n次的操作,最多撤銷50次的。

#u:直接撤銷最近#次編輯操作

撤銷最近一次撤銷操作:Ctrl+r

十二、重復前一次的編輯操作

.

十三、可視化模式

v:按字符選取

V:按矩形選取

十四、查找

/PATTERN

?PATTERN

n

N

十五、查找並替換

在末行模式下使用s命令

ADDR1,ADDR2s@PATTERN@string@gi

1,$

%:表示全文

十六、使用vim編輯多個文件

vim FILE1 FILE2 FILE3

:next 切換至下一個文件

:prev 切換至前一個文件

:last 切換至最後一個文件

:first 切換至第一個文件

退出

:qa全部退出

十七、分屏顯示一個文件

Ctrl+w,s:水平拆分窗口

Ctrl+w,v:垂直拆分窗口

在窗口間切換光標

Ctrl+w,ARROW

:qa 關閉所有窗口

十八、分窗口顯示多個文件

vim -o:水平分割顯示

vim -O:垂直分割顯示

十九、將當前文件中部分內容另存為另一個文件

末行模式下使用w命令

:w

:ADDR1,ADDR2w /path/to/somewhere

二十、將另外一個文件的內容填充在當前文件中

:r /path/to/somewhere

二十一、跟shell交互

:! COMMAND

二十二、高級話題

1、顯示或取消顯示行號

:set number

:set nu

:set nonu

2、顯示忽略或區分字符大小寫

:set ignorecase

:set ic

:set noignorecase  :set noic

3、設定自動縮進

:set ai    :set noai   :set autoindent

if[ $# -gt 0 ]; then

4、查找到的文本高亮顯示或取消

:set hlsearch

:set nohlsearch

5、語法高亮

:syntax on

:syntax off

二十三、配置文件

/etc/vimrc

~/.vimrc

------------------------------------文本查找---------------------------------------------------

文件查找:

lecate:

非實時,模糊匹配,查找是根據全系統文件數據庫進行的;

#updatedb,手動生成文件數據庫

速度快,

find:

實時查找

精確

支持眾多查找標准

遍歷指定目錄中的所有文件完成查找,速度慢;

fand 查找路徑 查找標准 查找到一行的處理動作

查找路徑:默認為當前目錄

查找標准:默認為指定路徑下的所有文件

處理動作:默認為顯示

匹配標准:

-name 'FILENAME':對文件名作精確匹配

文件名通配:

*:任意長度的任意字符

?

[]

-iname 'FILENAME':文件名匹配時不區分大小寫

-regex PATTERN:基於正則表達式進行文件名匹配

-user USERNAME:根據屬主查找

-group GROUPNAME:根據屬組查找

-uid UID:根據UID查找

-gid GID:根據GID查找

-nouser:查找沒有屬組的文件

-nogroup:查找沒有屬組的文件

-type

f:普通文件

d:目錄

c:

b:

l:

p:管道

s:套接字

-size [+|-][大於|小於]

[+|-]#k:[大於|小於]

#M

#G

組合條件:

-a 與

-o 或

-not

-mtime 修改

-ctime 改變

-atime 訪問

[+|-]#

-mmin

-cmin

-amin

[+|-]#

-perm MODE精確匹配

/MODE:任意一位權限匹配即滿足條件

-MODE:文件權限能完全包含此MODE才符合條件

find ./ -perm -001

運作

-print:顯示

-ls:類似ls -l的形式顯示每一個文件的詳細

-ok COMMAND {} \;  每一次操作都需要用戶確認

-exec COMMAND {} \; 不需要確認

Copyright © Linux教程網 All Rights Reserved