国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

(四)文本編輯器Vim/Vi

2024-06-28 13:21:06
字體:
來源:轉載
供稿:網友
(四)文本編輯器Vim/Vi Posted on 2015-04-14 00:20 wsying 閱讀(...) 評論(...) 編輯 收藏

  目錄

  • 前言
  • 常用命令
  • 擴展應用
  • 總結

本系列先前的隨筆位于新浪博客

前言

  Vi和Vim都是文本編輯器,不同的是Vim是Vi的升級版本,它不僅兼容Vi的所有指令,而且還有一些新的特性在里面。

  Vim/Vi是一個功能強大的全屏幕文本編輯器,是linux/UNIX上最常用的文本編輯器,主要用于使用Linux Sever時進行類似于DOS下批處理的Shell腳本編程,以及進行配置文件的修改,它的作用是建立、編輯、顯示文本文件。

  Vim/Vi沒有菜單,只有命令

  Vim/Vi的三種工作模式:

  

常用命令    1、插入命令
插入命令
命令作用
a(append)在光標后附加文本
A在本行行末附加文本,即光標移至行末并進入插入模式
i(insert)在光標前插入文本
I在本行行首插入文本,即光標移至行首并進入插入模式
o在光標下插入新行
O在光標上插入新行

  2、定位命令
定位命令
命令作用
h、方向左鍵光標左移一個字符
j、方向下鍵光標下移一行
k、方向上鍵光標上移一行
l、方向右鍵光標右移一個字符
$光標移至行尾
0光標移至行首
H(High)光標移至屏幕上端
M(Middle)光標移至屏幕中央
L(Low)光標移至屏幕下端
:set nu顯示行號
:set nonu取消顯示行號
gg光標到第一行
G光標到最后一行
nG、:n光標到第n行

  3、刪除命令
刪除命令
命令作用
x刪除光標所在處字符
nx刪除光標所在處后n個字符
dG刪除光標所在行起到文件末尾的內容
D刪除從光標所在處到行尾
:n1,n2d刪除指定范圍(n1~n2)的行

  4、復制和剪切命令
復制和剪切命令
命令作用
yy、Y復制當前光標所在行
nyy、nY復制當前光標所在行起n行
dd剪切當前光標所在行
ndd剪切當前光標所在行起n行
p(paste)粘貼在當前光標所在行下面
P粘貼在當前光標所在行上面

  5、替換和撤銷命令
替換和撤銷命令
命令作用
r(replace)替換光標所在處字符
R從光標所在處開始替換字符,按Esc結束
u(undo)撤銷上一步操作

  6、搜索和替換命令
搜索和替換命令
命令作用
/string

從前向后搜索指定字符串string

按n跳到下一個指定字符串出現的位置

按N跳到上一個指定字符串出現的位置

搜索時忽略大小寫:set ic

:%s/old/new/g全文替換指定字符串(用new替換old)
:n1,n2s/old/new/g在一定范圍(n1~n2)內替換指定字符串

  7、保存和退出命令
保存和退出命令
命令作用
:w保存修改
:w new_filename另存為指定文件
ZZ、:wq保存修改并退出
:q!不保存修改退出

:wq!(只有管理員root或

文件的所有者可以使用)

保存修改并退出

可忽略文件的只讀屬性

擴展應用

  1.在當前文件末尾導入其他文件的內容  :r 文件名

  2.在Vim/Vi中執行命令  :! 命令

  3.在當前文件末尾導入命令執行的結果(上面兩個命令結合)  :r !命令  

    范例:常用于把當前時間導入到文件末尾用來標識最后一次修改時間  :r !date

  4.定義快捷鍵  :map 快捷鍵 觸發命令  (取消定義的快捷鍵:unmap 快捷鍵)

    范例:定義快捷鍵ctrl+p在行首插入#注釋本行  :map ^P I#<ESC> (^P并不是直接打出來的,而是先按ctrl+v,再按ctrl+p,I為在行首插入,#為注釋符號,在Shell腳本和Linux系統配置文件中#表示注釋,<ESC>表示從插入模式返回到命令模式)

       定義快捷鍵ctrl+b刪掉行首字符(多用于取消注釋)  :map ^B 0x  (0把光標移至行首,x刪除這個字符)

       定義快捷鍵ctrl+e在當前光標前插入我的郵箱地址  :map ^E iupc_eniac12@163.com<ESC> 

  5.連續行注釋  :n1,n2s/^/#/g  (實際上就是之前提到過的替換命令,^表示行首(是直接打出來的,不是ctrl+v),這里的行首指的是這個位置不是光標移到行首指示的那個是字符,所以這么命令起到的作用是添加而不是替換,要添加的符號是#)

    在大多數程序設計語言中注釋符號是//,而不是#,這時連續行注釋要這么寫  :n1,n2s/^//////g  (錯誤的寫法:n1,n2s/^////,Vim識別不出中間的//為要添加的內容,所以要用轉義字符'//'表示'/',new的地方是////,使用了轉義字符表示//)

  6.連續行取消注釋  :n1,n2s/^#//g  (^#表示行首的#,把行首#替換成空,即刪除行首#)

  7.實時替換  :ab mymail upc_eniac12@163.com  (ab是替換命令,把a替換成b,此處a是mymail,b是upc_eniac12@163.com,該命令是實時替換即當我們在文本中輸入mymail后再按下空格或ESC,Vim會自動把我們剛才輸入的mymail替換成upc_eniac12@163.com,所以這是一個懶人必備的命令,取消這個實時替換的命令是:unab mymail)

  上述對Vim的設置只在本次打開有效,如果要讓其再任意時刻打開都有效需要編輯Vim的配置文件(~/.vimrc,~表示用戶的宿主目錄,管理員root的宿主目錄缺省在/root下面,普通用戶的宿主目錄缺省在/home下面),配置文件.vimrc缺省是空的,例如在文件中寫入set nu,則以后每次打開Vim都會默認顯示行號

總結

  Vim/Vi博大精深,初學者使用會覺得十分復雜,操作效率低下,但當你完全熟悉了它之后,你就會覺得它簡直就是個神器,使用它可以極大的提高我們碼代碼的效率。

  這是一個你不需要使用鼠標,不需使用小鍵盤,只需要使用大鍵盤就可以完成很多復雜功能文本編輯的編輯器,不然,Visual Studio也不就會有vim的插件了。

  學習vim就像學彈鋼琴一樣,一旦學會,受益無窮。

  另外這里還有一篇關于Vim比較不錯的文章,想要深入學習可以看一看


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金堂县| 于都县| 莎车县| 台南县| 方正县| 抚顺市| 双城市| 运城市| 松桃| 静宁县| 博客| 咸阳市| 岐山县| 探索| 成武县| 呼伦贝尔市| 台州市| 灵丘县| 武功县| 丰顺县| 工布江达县| 固阳县| 定陶县| 龙山县| 广汉市| 时尚| 广灵县| 酒泉市| 梓潼县| 广东省| 灵丘县| 安平县| 金门县| 玉山县| 满洲里市| 嘉峪关市| 益阳市| 临夏市| 永安市| 南康市| 青州市|