vim用法小結

vim使用:

使用vivim的三種主要模式 : 命令模式,插入模式,擴展模式 

 

擴展模式:

w:寫入磁盤文件

wq:寫入并退出

x:寫入并退出

q:退出

q!不存盤退出,即使更改都將丟失

r filename:讀文件內容到當前文件中

w filenane: 將當前文件內容寫入到另一個文件中

!command:在當前界面執行命令

r!command:讀取命令執行結果到文件中來。

 

移動光標,進入插入模式 v 

i:當前位置插入

I:當前光標所在行行首輸入

a:在當前光標所在處后面輸入

A:在當前光標所在行的行尾輸入

o:當前光標所在行的下方打開一個新的行

O:當前光標所在行的上方打開一個新的行

光標在單詞間跳轉:

w:跳轉到下一個單詞的詞首

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

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

 

當前頁面跳轉:

H:頁首的行首

M:頁面中間行首

L:頁面尾部行首

 

當前行跳轉

0:跳轉至當前行的行首

^:跳轉至當前行的非空字符行首

$:跳轉至行尾

 

行間移動:

數字+G:跳轉至數字指定行

G:跳轉至最后一行的行首

1G或者gg:跳轉至第一行行首

 

句間移動:

):下一句

(:上一句

 

段落間移動:

}:下一段

{:上一段

 

翻屏:

ctrl f:向前翻一屏

ctrl+b:向之前翻一屏

crtl+d:向下翻半屏

ctrl+u:向上翻半屏

 

關閉文件:

ZZ:命令模式下下保存退出

ZQ:不保存退出

 

命令模式下的字符編輯:

x:刪除字符

#x:刪除光標所在處的#個字符,包括他本身

xp:交換光標所在處的字符及其后面字符的位置

~:在當前光標所在處轉換大小寫

 

替換字符:

r:替換光標所在處的字符

-R:進入替換模式,一個個的替換

 

刪除操作:

d:刪除命令,結合光標跳轉字符實現范圍刪除

d$:刪除至行尾(不包括光標所在處的字母)

d^:刪除至非空行首(不包括光標所在處的字母)

d0:刪除至行首(不包括光標所在處的字母)

dw:刪除至下一個單詞的詞首(都包括光標所在位置的字母)

de:刪除至下一個單詞的詞尾

db:刪除至前一個單詞的詞首或者當前單詞的詞首

dd刪除光標所在行

D:從當前光標刪除至行尾。(不包括光標所在處的字母)

wq:保存退出

不保存退出

x:保存退出

 

復制文本 

y:復制,與命令d類似(都包括復制光標所在位置的字母)

y0:復制到行首(不包括光標所在處)

y^:復制到非空行首(不包括光標所在處的字母)

y$:復制到行尾(不包括光標所在處的行尾)

yy:復制當前行

yw:復制當前位置到下一個單詞詞首(復制包括光標當前所在處的字母)

ye:復制當前位置到下一個單詞詞尾 (復制包括光標當前所在處的字母)

yb:復制當前位置到當前單詞詞首或上一個單詞的詞首(復制包括光標當前所在處的字母)

 

粘貼:

p:緩沖區存的如果為整行,則粘貼當前光標所在行的下方,否則粘貼至當前光標所在處的前面。

P:緩沖區存的如果為整行,則粘貼當前光標所在行的上方,否則粘貼至當前光標所在處的前面。

 

cd的區別在于c可以刪除后立刻進入插入模式。

 

 

地址定界 :用于確定搜索范圍或者替換范圍

start_pos,end_pos #: 具體第#行,例如2表示第2行; 

#,#: 從左側#表示行起始,到右側#表示行結尾 

#,+#: 從左側#表示的行起始,加上右側#表示的行數 

2,+3  表示25行 

.: 當前行 

$: 最后一行 

.,$-1 當前行到倒數第二行 

%:全文相當于1,$

 

/pat1/,/pat2/ 從第一次被pat1模式匹配到的行開始,一直到第一次被 pat2匹配到的行結束 #,/pat/ /pat/,$ v 使用方式:后跟一個編輯命令

刪除

復制

w  file: 將范圍內的行另存至指定文件中 

r  file:在指定位置插入指定文件中的所有內容

例如:1,/^U/dv

 

撤銷改變 v

vu撤銷最近的更改 v

#u撤銷之前多次更改 v

撤消光標落在這行后所有此行的更改 v

 按Ctrl – r重做最后的“撤消”更改 v

重復前一個操作 v

n.重復前一個操作n次 

 

搜索文檔 

查找 /PATTERN:從當前光標所在處向文件尾部查找 

?PATTERN:從當前光標所在處向文件首部查找 

n:與命令同方向 

N:與命令反方向v

 

替換:

s: 在擴展模式下完成查找替換操作 

格式:

s/要查找的內容/替換為的內容/修飾符 要查找的內容:可使用模式 替換為的內容:不能使用模式,但可以使用\1, \2, … 等后向引用符號;還可以使用“&”引用前面查找時查找到的整個內容 

修飾符:

i: 忽略大小寫 

g: 全局替換;默認情況下,每一行只替換第一次出現 

gc:全局替換,每次替換前詢問 v 

查找替換中的分隔符/可替換為其它字符,例如 

%s@/etc@/var@g

%s#/boot#/#i 

第一步:定邊界

第二步:s功能替換

第三步:查找的內容用正則匹配,分隔符為@,#

第四步:替換的內容可以引用,不能用正則

第五步:參數,g或者i,c詢問是否覆蓋

 

 

vim寄存器 

     有26個命名寄存器和1個無命名寄存器,常存放不同的 剪貼版內容,可以不同會話間共享。 v 

     用a,b,,z表示,用“寄存器表示,放在數字和命令之間 

如:

3"tyy 表示復制3行到t寄存器中

 "tp  表示將t寄存器內容粘貼 v 

未指定,將使用無命名寄存器 v 

10個數字寄存器,用0,1,…,9表示,0存放最近復 制內容,1存放最近刪除內容。當新的文本變更和刪除 時,1轉存到22轉存到3,以此類推。數字寄存器不能 在不同會話間共享。 v 

 

可視化和多窗口 v

允許選擇的文本塊 

面向字符 

面向行 ctrl-v 面向塊 v 

可視化鍵可用于與移動鍵結合使用: 

w, ) , ,箭頭等 v 

突出顯示的文字可以被刪除,復制,變更,過濾,搜索/替換等。這就是可視化存在的最大意義。

 

vim FILE1 FILE2 FILE3 … 

:next 下一個 

:prev 前一個 

:first 第一個 

:last 最后一個 

:wall 保存所有 

:qall 退出所有 

:wqall

 

定制vim的工作特性:

 配置文件:永久有效 

全局:/etc/vimrc 

個人:~/.vimrc 

擴展模式:當前vim進程有效 v

(1) 行號 顯示:set number, 簡寫為set nu 取消顯示:set nonumber, 簡寫為set nonu v

(2) 括號成對匹配 匹配:set showmatch, 簡寫為set sm 取消:set nosm

(3) 自動縮進 啟用:set ai 禁用:set noai v

(4) 高亮搜索 啟用:set hlsearch 禁用:set nohlsearch v

(5) 語法高亮 啟用:syntax on 禁用:syntax off v

(6) 忽略字符的大小寫 啟用:set ic 不忽略:set noic

(7) 文件格式 啟用:fileformat=unix 不忽略: fileformat=dos v

(8) 設置文本寬度 :set textwidth=65 (vim only) :set wrapmargin=15 

 

 20160808作業:

4、如何設置tab縮進為4個字符?

在家目錄下創建~/vimrc文件,添加參數tabstop=4.

5、復制/etc/rc.d/init.d/functions文件至/tmp目錄;替換/tmp/functions文件中的/etc/sysconfig/init為/var/log;

cp -a /etc/rc.d/init.d/functions /tmp

vim /tmp/functions

%s@/etc/sysconfig@/var/log@g

6、刪除/tmp/functions文件中所有以#開頭,且#后面至少有一個空白字符的行的行首的#號;

vim /tmp/functions

:%s@^#\([[:space:]]\+\)@\1@


 

原創文章,作者:liuzhuo,如若轉載,請注明出處:http://www.www58058.com/33709

(0)
liuzhuoliuzhuo
上一篇 2016-08-12
下一篇 2016-08-12

相關推薦

  • 馬哥教育網絡班21期-第一周課程練習

    第一周課程練習 1、描述計算機的組成及其功能?         1.1 現代主流的計算機(馮·諾依曼體系)主要由五部分組成,分別是控制器、運算器、存儲器、輸入和輸出設備??刂破骱瓦\算器對應我們現實計算機看到的CPU,存儲器對應內存和硬盤等存儲設備,輸入設備對應鼠標鍵盤等其它外設,輸出設備對應顯示器、音響、打印機等其它外…

    Linux干貨 2016-06-26
  • 手動自制Mini Linux

        linux系統內核非常的精簡,而且基于一切皆文件的思想,使得我們可以再現有系統上掛載一個空硬盤,利用現有系統編譯一個內核和相關程序文件并拷貝到空硬盤上。我們就可以用空硬盤來單獨運行一個精簡的linux系統,這對于依賴于注冊表的windows系統來說是不可能實現的。本文簡要介紹一下一個mini linux的安裝制…

    Linux干貨 2016-05-03
  • 一位老it工程師的忠告,新手進來學習,老手進來體會,收獲很大。

    諸位,咱當電子工程師也是十余年了,不算有出息,環顧四面,也沒有看見幾個有出息的!回顧工程師生涯,感慨萬千,愿意講幾句掏心窩子的話,也算給咱們師弟師妹們提個醒,希望他們比咱們強! [1]好好規劃自己的路,不要跟著感覺走!根據個人的理想決策安排,絕大部分人并不指望成為什么院士或教授,而是希望活得滋潤一些,爽一些。那么,就需要慎重安排自己的軌跡。從哪個行業入手,逐…

    Linux干貨 2015-02-26
  • linux基礎第二周

    1.?用chattr命令防止系統中某個關鍵文件被修改:# chattr +i /etc/resolv.conf 然后用mv /etc/resolv.conf等命令操作于該文件,都是得到Operation not permitted 的結果。vim編輯該文件時會提示W10: Warning: Changing a readonly file錯誤。要想修改此文件…

    2017-09-09
  • N22+張zhangzhang+第6周博客作業

    請詳細總結vim編輯器的使用并完成以下練習題   vim編輯器是vi編輯器的增強版,是全屏文本編輯器,用于完成文本的輸出、刪除、查找、替換、塊操作等眾多功能。一般分三種模式:編輯模式、輸入模式、末行模式。 vim各種按鍵的功能 編輯模式: 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以…

    Linux干貨 2016-09-20
  • linux磁盤管理及文件系統

    linux磁盤管理及文件系統 硬盤存儲術語?    head:磁頭 ?         track:磁道 ?         cylinder: 柱面 ?   &nbsp…

    Linux干貨 2016-08-26
欧美性久久久久