vim編輯器的常見使用

1、vim介紹

Vim是從 vi 發展出來的一個文本編輯器,處理文本文件功能強大。

三種主要模式:

Vim打開文件,默認命令(Normal)模式,可以移動光標,剪切和粘貼。

按鍵i 進入插入(Insert)模式,用戶可以編輯文本。

擴展(Extended)命令模式(或末行模式)用戶:wq可保存退出,或者:q!強制退出。

Exc按鍵可退出當前模式。


2、文本操作

vim 打開文本文件

        vim +# :打開文件,并定位于第#行

        vim +:打開文件,定位至最后一行

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

移動光標(編輯模式)

單個移動: h: 左, l: 右, j: 下, k: 上。

       #h: 移動#個字符

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

行內跳轉:0: 絕對行首  $: 絕對行尾  ^: 跳轉至行首的第一個非空白字符

句間移動:):下一句(:上一句

段落間移動:}:下一段{:上一段

在整個文件里面移動光標

<Ctrl-f>:向下移動一屏。<Ctrl-d>:向下移動半屏。

<Ctrl-b>:向上移動一屏。<Ctrl-u>:向上移動半屏。

G:到文件尾

#G:移動光標到指定的行

gg:到文件首

H:移動光標到屏幕上面

M:移動光標到屏幕中間

L:移動光標到屏幕下面

 

3、搜索

/word:從當前光標處開始搜索字符串 word,按 n移動到下個單詞處,N 移動到上一個。

?word:和上面類似,但是是反方向。

4、編輯文本

插入模式

i:在當前字符的左邊插入

I:在當前行首插入

a:在當前字符的右邊插入

A:在當前行尾插入

o:在當前行下面插入一個新行

O:在當前行上面插入一個新行

刪除單個字符

x: 刪除光標所在處的單個字符

#x: 刪除光標所在處及向后的共#個字符

刪除命令:

d$: 刪除到行尾

d^:刪除到非空行首

d0:刪除到行首

dd: 刪除當前光標所在行

#dd: 刪除包括當前光標所在行在內的#行;

剪切和拷貝

y:拷貝選擇的內容到剪貼板。

c:剪貼選擇的內容到剪貼板并且進入插入模式。

yy:拷貝當前行。

cc:剪切當前行并且進入插入模式。

D:剪切從光標位置到行尾到剪貼板。

Y:拷貝當前行。

C:和 D 類似,最后進入插入模式。

x:剪切當前字符到剪貼板。

粘貼:p

 

5、Vim多緩沖區編輯

剪貼板在 VIM 里面被稱為寄存器(Registers)。你可以列出當前定義的所有寄存器名和它們的內容

比如:我們要拷貝當前行到寄存器 a 或者其他字母。你應該按 “ayy。現在當前行已存在寄存器 a 里面直到你又拷貝了一些東西進入寄存器 a。你可以使用命令 “ap 來粘貼寄存器 a 里面的內容到你想要的位置。

 

6、撤銷改變

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

             連續u命令可撤消此前的n次編輯操作

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

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

7、多文件編輯

vim FILE1 FILE2 FILE3 …

:next 下一個

:prev前一個

:first 第一個

:last 最后一個

:wall 保存所有

:qall退出所有

:wqall 

多文件分割

vim -o|-O FILE1 FILE2 …

-o: 水平分割

-O: 垂直分割

在窗口間切換:Ctrl+w, Arrow

單文件窗口分割:

Ctrl+w,s: split, 水平分割

Ctrl+w,v: vertical, 垂直分割

ctrl+w,q:取消相鄰窗口

ctrl+w,o:取消全部窗口

wqall退出

 

8、編輯命令

將當前文件中部分內容另存為另外一個文件

末行模式下使用w命令

:w

:ADDR1,ADDR2w /path/to/somewhere

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

:r /path/to/somefile

 

shell交互 :! COMMAND

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

(9)
cuicui
上一篇 2017-07-30 16:33
下一篇 2017-07-30 16:43

相關推薦

  • 馬哥教育網絡21期+第十二周練習博客上

    1、請描述一次完整的http請求處理過程; (1)建立或處理連接:接受請求或拒絕請求 (2)如果接受請求:     并發訪問響應模型:         單進程I/O結構:啟動一個進程處理用戶請求,而且一次只處理一個,多個請求被串行響應; &…

    Linux干貨 2016-10-17
  • CentOS6 編譯安裝httpd-2.4

       CentOS7的鏡像中已經提供了httpd-2.4的rpm包,httpd-2.4相對于httpd2.2有較大的改進,在CentOS6下只能通過Apache官方網站提供的源碼包編譯安裝。    有時候,我們需要應用http-2.4的某些特性,但是因為當前的發行版沒有支持,所以我們需要自己編譯安裝。 httpd-2.…

    Linux干貨 2016-07-27
  • 馬哥教育網絡班21期+第六周課程練習

    1、描述計算機的組成及其功能 答: (1)計算機組成: 輸入(鍵盤)、輸出(顯示器),存儲器(硬盤),運算器,控制器(CPU) (2)實現功能:    1)文件系統    2)內存管理    3)網絡功能    4)進程管理    5)驅動程序 2、按系列羅列…

    Linux干貨 2016-08-15
  • 第五周作業

    1. 顯示當前系統上root、fedora或user1用戶的默認shell; grep -E "^(root|centos|user1)\>" /etc/passwd 或 awk -F: '{if($1=="root" || $1==…

    Linux干貨 2017-01-10
  • Linux 用戶、用戶組及權限管理

    一、Linux用戶及用戶組的基本概念 用戶:用戶是實現能夠將有限的資源在多個使用者之間進行分配;、 用戶組:用戶組是指多個用戶的集合,方便對一類需要同樣權限的用戶授權 Linux是多用戶、多任務的操作系統。     多用戶指:多人同時使用系統資源;多任務:同時運行多個進程 二、用戶及用戶組類別 1、用戶:名稱解析庫 /…

    Linux干貨 2016-03-20
  • 使用fail2ban防止暴力破解ssh及vsftpd密碼

    此文介紹一個linux下通過監控日志防止密碼被暴力破解的軟件-fail2ban。fail2ban支持常用的服務,如sshd, apache, qmail, proftpd, sasl, asterisk等的密碼驗證保護,當發現暴力破解的跡像時,可以通過iptables, tcp-wrapper, shorewall等方式阻止此IP的訪問。 python安裝 …

    Linux干貨 2015-03-04
欧美性久久久久