LINUX VIM文字編輯器

2021-09-26 12:33:18 字數 2450 閱讀 9153

vim/vi是unix / linux上最常用的文字編輯器而且功能非常強大。

只有命令,沒有選單。

乙個有趣的段子

周圍的同事不是用vi就是emacs,你要是用ultraedit都不好意思跟人家打招呼...什麼外掛程式呀、語法高亮呀、拼寫檢查呀,能給它開的都給它開著,就是乙個字:酷!你說這麼牛x的一東西,怎麼著學會也得小半年吧。半年!?入門都遠著呢!能學會移動游標就不錯了,你還別說耗不起,就這還是左右移動!!!(《大碗》編輯器版)

vim工作模式

命令作用

a在游標後附加文字

a(shift + a)

在本行行末附加文字   行尾

i在游標前插入文字

i(shift+i)

在本行開始插入文字 行首

o在游標下插入新行

o(shift+o)

在游標上插入新行

命令作用

:set nu

設定行號

:set nonu

取消行號ggg

到第一行

到最後一行

ng到第n行

:n到第n行

命令作用

:w儲存修改

:w new_filename

另存為指定檔案

:w >> a.txt

內容追加到a.txt檔案中 檔案需存在

:wq儲存修改並退出

shift+zz(zz)  

快捷鍵,儲存修改並退出

:q!不儲存修改退出

:wq!

儲存修改並退出(檔案所有者可忽略檔案的唯讀屬性)

不儲存並退出:

有修改,但是修改後的內容是不儲存的

有突發情況,導致視窗退出。修改檔案之後,直接刪除同名的.swp檔案

命令作用

x    

刪除游標所在處字元   nx 刪除游標所在處後n個字元

dd刪除游標所在行,ndd刪除n行

:n1,n2d

刪除指定範圍的行(eg :1,3d   刪除了123這三行)

dg刪除游標所在行到末尾的內容

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

命令作用

yy、y    

複製當前行

nyy、ny

複製當前行以下n行

dd   

剪下當前行

ndd 

剪下當前行以下n行

p、p貼上在當前游標所在行下  或行上

命令作用

r取代游標所在處字元

r(shift + r)

從游標所在處開始替換字元,按esc結束

uundo,取消上一步操作

ctrl+r

redo,返回到undo之前

命令作用

/string

向後搜尋指定字串   搜尋時忽略大小寫 

:set ic ?

string 向

前搜尋指定字串 n

搜尋字串的下乙個出現位置,與搜尋順序相同

n(shift + n)

搜尋字串的上乙個出現位置,與搜尋順序相反

:%s/old/new/g

全文替換指定字串

:n1,n2s/old/new/g

在一定範圍內替換指定字串 

% 指全文,s 指開始,g 指全域性替換

起始行,終止行s/要替換的字串/替換的新的字串/g    c 詢問確認

eg: :%s/ftp/yang/g    

全域性替換,把ftp替換為yang

eg: :41,44/yang/lee/c  

從41行到44行,把yang替換為lee,詢問是否替換

eg: :41,44/yang/lee/g  

同上,不詢問,直接替換

eg: :

%s/\/root/\/root/g  

把/root替換為/root

eg: 

:%s#

/bin/bash

#/bin/ksh

/g把/bin/bash全部替換為/bin/ksh

使用替換命令來新增刪除注釋

:% s/^/#/g

來在全部內容的行首新增 # 號注釋

:1,10 s/^/#/g

在1~10 行首新增 # 號注釋 vi

裡面怎麼查命令??

:!which cp vi

裡面怎麼匯入命令的結果?

:r !which cp

v可視字元模式

v(shift+v)可視行模式,選擇多行操作

ctrl+v可視塊模式(列模式),操作列 i

或者o進入插入模式。

Linux vim文字編輯器,alias命令別名

vim命令 alias命令 vim 是乙個全螢幕純文字編輯器,是 vi 編輯器的增強版。vim執行安裝命令 查詢在哪個rpm包內 yum provides vim 安裝vim路徑 yum install 路徑 vim手冊中文版 命令列輸入 lang zn.cn.gbk vimtutorvim基本使用...

文字編輯器

include stdio.h include string.h include stdlib.h define len sizeof struct linetable struct linetable main 輸出並加入行號 display struct linetable head else ...

文字編輯器

text editer文字編輯器 data ref container tec type ref to cl gui custom container.data ref edit type ref to cl gui textedit.data text line 85 work area it t...