Linux文字編輯器 vim

2021-09-25 01:22:25 字數 3911 閱讀 2946

linux文字編輯器

ed  pico  emacs  nano  **im  vim  vi

vim 是文字編輯器  不是文書處理工具(office  liboffice  wps)

你的運維生涯99.999999% 離不開它  rhel(centos)裡最小化安裝沒有vim只有vi,記得裝包

vim 基於perl開發的,所以vim依賴perl環境

vim有三種模式

分別為:

一般模式:

vim開啟檔案預設進入的就是一般模式

調整游標位置  複製  刪除操作

編輯模式:

輸入內容

末行模式(命令模式):

對整個檔案進行操作 搜尋 儲存  全域性替換

三種模式的切換方式:

一般模式

i/a/o/r        ------->        編輯模式

<------- [esc]        

: / ?        ------->        命令模式

<------- [esc]

一般模式的操作

移動游標的方法

1、上下左右四個箭頭鍵

2、h左 j下 k上 l右

數字+hjkl(方向鍵)

ctrl+f  page down 下翻頁

ctrl+b  page up   上翻頁

ctrl+d  向下移動半頁

ctrl+u  向上移動半頁

+       游標移動到非空白字元處的下一行

-    -----------------------上一行

數字+space   向右移動n個字元

0        home     移動到行首

$     end      移動到行尾

h       游標移動到螢幕最上方所在行的行首

m       螢幕**所在行的行首

l       最下方所在行的行首

g       游標移動到檔案的最後一行

數字+g   移動到指定行

gg       移動到檔案的第一行   相當於1g

數字+enter  游標向下移動指定行

搜尋&替換

/keyword  從游標所在位置向下搜尋   n下乙個  n上乙個

?keyword  ---------------上---    n 上乙個  n 下乙個

:%(全文) s/old/new/g   全文搜尋替換

:n1,n2 s/old/new/g       n1與n2之間進行替換 

:n s/old/new/g           只在n行替換

:n1,n2 s/old/new/gc(替換前詢問)       n1與n2之間進行替換詢問是否替換

:n1,n2 s/^#//  n1與n2之間的行開頭去掉#號

:n1,n2 s/^/#/  -----------------加上#--

:g /^\s*$/d   刪除全文中的空行  ^代表開頭   \s  代表空格  *萬用字元 $ 代表結尾

刪除 複製 貼上

d刪除    

x/x   x=從游標所在處向後刪除乙個字元  x=從游標所在處向前刪除乙個字元

數字+x 同上,向前/向後刪除n個字元

dg     刪除游標所在行處到最後一行

d1g    刪除游標所在行處到第一行的所有

d$     刪除游標所在處到行尾

d0     刪除游標所在處到行首

dd     刪除游標所在行

數字+dd 刪除n行

y複製    

yy      複製游標所在行

數字+yy 複製n行

y1g     複製游標所在行處到第一行

yg      複製游標所在行處到最後一行

y0      複製游標所在處到行首

y$      複製游標所在處到行尾

p貼上p/p     p=從游標所在行下一行貼上 p=上一行貼上

u       撤銷

區塊選擇

v           字元選擇

v           行選擇

ctrl+v      區塊選擇

y        複製

d           刪除

編輯命令

i/i   i=游標前插入  i=游標所在行行首

a/a   a=游標後      a=-----------尾

o/o   o=游標所在行下一行插入 o=游標所在行上一行插入

r/r  (替換) r=替換游標所在處的字元  r=從游標所在行開始替換 游標所在處開始向後替換,

儲存、退出

:w   儲存

:w!  強制儲存

:q   退出

:q!  強制退出

:wq  儲存退出

:wq! 強制儲存退出

:x    相當於wq

zz   相當於wq!

:w /path/filename  將內容儲存到指定位置

:r /path/filename  將內容從指定檔案讀取過來

檢視檔案 cat  

more  -數字  一次顯示n行

less -n 顯示行號   多配合別的命令使用 例如:ps -ef | less  作用分頁顯示

tail(檢視日誌) tail -f  =  tailf

多檔案編輯

vim filename1 filename2

:n 下乙個

:n 上乙個

:files  檢視開啟的檔案

多視窗編輯

:sp filename (上下分屏)  切割當前視窗開啟新的內容

ctrl+w  切換游標位置

:vsp filename(左右分屏)

ctrl+w  切換游標位置

vim環境變數

設定vim環境變數  在使用者的家目錄下.vimrc(記錄使用者對vim的設定)

:set nu/:set nonu     設定行號

:set hisearch/:set no-------   搜尋時是否高亮顯示

:set autoindent/:set no------  是否自動縮排

:set backup/:set no--------    是否自動備份

:set ruler/:set no-----     是否提示游標位置

:syntax on/:syntax off    文件內容是否顯示顏色(語法高亮):syn on :syn off

:set paste(不要寫到vimrc下) 解決複製文字格式問題

用家目錄下.viminfo 記錄vim中使用過的命令/操作

環境變數

******$? 執行上乙個指令的返回值

$0 當前程式的名稱

$n 當前程式的第n個引數,n=1,2,…9

$* 當前程式的所有引數(不包括程式本身)

$# 當前程式的引數個數(不包括程式本身)

$$ 當前程式的pid

$@ 與$*相同,但是使用時加引號,並在引號中返回每個引數

$- 顯示shell使用的當前選項,與set命令功能相同

****echo $user      表示當前使用者的登入名稱,值與whoami命令的結果一致

echo $uid        表示當前使用者的id,該變數的值與」id-u」命令的結果一致

echo $shell     表示當前使用者的登入shell,值與」passwd」檔案中的shell欄位一致

****echo $home   表示當前使用者的登入目錄(宿主目錄),值與」psaawd」檔案中home欄位一致

echo $pwd    表示使用者當前所在的目錄,值與pwd命令的結果一致

***echo $path    表示當前使用者的命令搜尋路徑,即使用者不指定全路徑名執行命令,shell程式將在哪些目             錄以及按照何種順序進行命令的搜尋   

linux文字編輯器 vim

文字編輯器 vim vim 檔名 vim的三種工作模式 命令模式,編輯模式,末行模式 vim 檔名 進入命令模式 檢視,儲存,退出 i a o 進入編輯模式 內容編輯 esc 回到命令模式 g 直接移動到檔案末尾 gg 直接移動到檔案頭 0 直接移動到行頭 直接移動到行末 x 刪除游標所在位置的字元...

Linux文字編輯器Vim

1 首先進入或者建立文字文件 2 進入插入模式在文字文件中輸入文字 3 esc鍵進入命令模式進行文字編輯設定 4 退出文字 特點 進入 vi 已經存在或者建立檔名 插入命令iao 按下b件,並不是輸入b,而是等待輸入 按下o間,進入插入模式 esc回到命令模式 在命令模式中設定行號 set nu 儲...

linux文字編輯器vim

vim是乙個功能強大的全螢幕文字編輯器,是linux上最常用的文字編輯器,他的作用是建立 編輯 顯示文字檔案,vim沒有選單,只有命令。vim工作模式 vi myfile.msg esc從插入模式回到命令模式 1.vim插入命令 命令作用 小寫a在游標所在字元後插入 大寫a在游標所在行尾插入 小寫i...