歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Vim高級編輯

Vim高級編輯

日期:2017/2/28 14:43:53   编辑:Linux教程

本文內容學習自《使用Vi編輯器, Lamb & Robbins編著》 ,PDF下載見 http://www.linuxidc.com/Linux/2013-09/89958.htm

本文內容概要:

set設置
.vimrc配置
vim下執行linux命令
利用linux命令來編輯當前文件
短語縮寫

本文約定:
$ + 命令 表示在普通的bash的命令行下
: + 命令 表示在vim的ex(命令)模式, 按"Ctrl" + ":" 進入

set命令

有兩種類型的選項可以使用:set命令進行修改:不是開就是關的觸發選項和帶數字或字符串值的選項(如頁邊距的位置和文件名)

一般觸發選項的命令為:set cmd
關閉選項的命令為:set nocmd
上面cmd代表某種命令選項

例如,
:set ic 在搜索時忽略大小寫 (ic=ignore case)
:set noic 在搜索時不忽略大小寫

可以用:set all 命令查看所有的選項,可以看到你設置的值或者默認值

:set option? 查看option這個選項的當前設置值
:set 顯示在.vimrc文件或當前會話期間修改或設置過的選項

.vimrc文件


在Linux中,.vimrc在用戶home目錄下(初始時沒有,要自己創建一個),可以修改這個文件。


可以把set, ab和map命令寫入該文件中,那麼打開vim編輯,會使用這個文件裡的配置

替換環境


除了讀取home目錄下的.vimrc配置文件外,還可以讓vim讀取當前目錄下的.vimrc文件,這樣可以對那些適用於特殊項目的選項進行設置。


注意,可以在home目錄下的.vimrc設置某些選項,然後在本地目錄中取消這些設置。

執行linux命令


在vim進行編輯時,可以顯示或讀取任何Linux命令執行的結果。
用感歎號(!)可以制定vim創建一個shell並把它後面的內容看成Linux命令:
:!command


例如,
:!date 顯示當前時間

上面的命令,只能執行一次命令,然後就返回vim編輯環境了,如果想要執行多次命令而不會返回vim編輯環境,可以用命令,

:sh
這個命令其實是新建了一個shell,可以像正常的命令行一樣操作。
如果要退出shell並返回vim編輯,按 Ctrl + D

利用read(r)命令可以把Linux命令執行的結果讀入到當前編輯的文件中:
:r !date
將會把當前時間讀入到編輯文件中

使用命令過濾文本

利用感歎號執行linux命令,可以讓vim利用linux命令所提供的功能來編輯。
例如文件內容:
4
5
2
3
要把這幾行從小到大排序,可以利用系統的sort命令:
:1, 4 !sort
將會對這四行排序

短語縮寫

縮寫很有用,我們經常在文件中反復輸入同樣長的短語,無論是在插入模式還是在命令模式下,vim和ex都有許多不同的用來保存長命令序列的方法

:ab hw hello world!
這個命令表示hw是hello world!的縮寫,那麼在插入模式或者命令模式下,只要輸入hw作為一個完整的單詞(不能是其他單詞的一部分),就會自動拓展成hello world!

如果要取消這個縮寫,可以輸入
:unab hw


列出當前的所有縮寫
:ab

推薦閱讀:

Vim學習指南 http://www.linuxidc.com/Linux/2013-08/89096.htm

快速學會 Vi編輯器 http://www.linuxidc.com/Linux/2013-08/88586.htm

強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm

在CentOS 6.2上搭建Vim開發環境 http://www.linuxidc.com/Linux/2013-07/87363.htm

Vim 7.4a 發布,全新更快的正則表達式引擎 http://www.linuxidc.com/Linux/2013-07/87035.htm

CentOS 5.4 安裝高亮Vim編輯工具 http://www.linuxidc.com/Linux/2013-06/86508.htm

Vim技巧分享:C語言設置 http://www.linuxidc.com/Linux/2012-12/77124.htm

Ubuntu中設置Vim的行號 http://www.linuxidc.com/Linux/2012-12/75485.htm

Copyright © Linux教程網 All Rights Reserved