vim編輯器



            在Linux的學習中,無論是編寫腳本還是修改文件內容,我們最經常用的就是vim編輯器.vim編輯器功能十分強大,如今不僅僅只應用在Linux中.今天就來介紹一下vim編輯器的功能

進入和退出vim

    進入:

  在終端輸入vim 文件名 ,自動進入vim,,該文件名如果不存在則建立了一個空的名字為 剛才輸入的文件,若存在,則繼續編輯

    退出:

ESC切換到命令模式下,輸入

:q 未保存就退出,系統會提示是否保存

:q! 不保存強制退出

:wq 保存退出

:wq!:x!當文件對當前用戶權限為read-only時,可以強制保存并退出(僅限root和當 前文件的owner

 

vim的三種模式:

命令模式(normal)進入vim默認模式:

輸入作為編輯命令,內容不會出現在屏幕上,輸入錯誤系統會提示.

之后詳細介紹命令模式下的操作

插入模式(insert):

i: insert, 在光標所在處輸入

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

       a: append, 在光標所在處后面輸入

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

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

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

 

擴展(EX)模式:

 : 為指令,出現在屏幕最后一行,輸入都會作為指令

指令內容如上退出命令

ESC兩次會返回命令模式

 

命令模式的操作:

             字符跳轉:

                        H/J/K/L 分別將光標向 左///右 移動一格

             單詞跳轉:

                        w 下個單詞詞首

          e 當前或者下個單詞詞尾

            頁面跳轉:

                       H  頁首

         M 頁中

         L  頁底

            行間移動:

                      gg 第一行

        G 最后一行

            行首尾之間

                      ^  行首第一個非空白字符

 0  行首

 $  行尾

             翻屏操作:

                      Ctrl+f 向文件尾部翻一屏

        Ctrl+b 向文件首部翻一屏

        Ctrl+d 向文件尾部翻半屏

       Ctrl+u 向文件首部翻半屏

             字符編輯:

                     ~  轉換大小寫

       X  刪除光標處字符

             替換命令:

                      r  替換光標所在處字符

       R  進入replace 模式

            刪除: d

             dd  刪除光標所在行

                    d字符跳轉,單詞跳轉,行首尾之間操作結合均和實現相應刪除操作

             復制: y

             y  復制光標所在行

             yy  復制行

             y字符跳轉,單詞跳轉,行首尾之間操作結合均和實現相應復制操作

             改變:c

             c  修改之后之間進入insert模式

             cc 刪除當前行并輸入新的內容

             c字符跳轉,單詞跳轉,行首尾之間操作結合均和實現相應修改操作

             粘貼: p

             p 緩沖區若存的為整行,則粘貼當前光標所在行的下方,否則粘貼在光標后

             P 緩沖區若存的為整行,則粘貼當前光標所在行的上方,否則粘貼在光標前

            撤銷操作: u

                  u撤銷最近的修改

                  U撤銷該行的所有修改

                  . 重復前一個操作

                  n. 重復前 一個操作n次

 

擴展命令

        地址定界:

                :start_pos,end_pos

                . 當前行

               $ 最后一行

               % 全文  %=1,$

 

              :/pat1/,/pat2/ 從第一次被pat1模式匹配到的行開始,一直到第一次被pat2匹配到的行結束

              .,/pat/

              /pat/,$

              和編輯命令一起使用

             d 刪除范圍內的內容

             y 復制范圍內的內容

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

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

        查找替換:

               /pattern 從光標處往后找

               ?pattern 從光標處往前找

               s/查找內容/替換內容/修飾符

               修飾符: i 忽略大小寫

        g 全局替換

               查找替換的分隔符/可替換為其他字符,@ ,#, ?

               注意:替換內容可以用基本正則表達式

        設置屬性:set

              行號:

                    set number    set nu

                    set nonumber    set nonu

            括號成對匹配:

                   set showmatch    set sm

                   set nosm

            自動縮進:

                   set ai

                   set noai

           高亮搜索:

                   set hlsearch

                   set nohlsearch

           語法高亮:

                  syntax on

                 syntax off

           忽略字符大小寫:

                 set ic

                 set noic

                             博主這篇博客只是把比較經常用到的功能介紹給大家,還有許多功能需要大家慢慢摸索.

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

(0)
swannswann
上一篇 2017-08-05
下一篇 2017-08-05

相關推薦

  • N26-第一周博客作業

    一:計算機的組成及其功能  1.運算器(CPU) 對數據進行各種運算;  2.控制器(CPU) 用來控制整個計算機操作系統;  3.存儲器 內存(RAM)存儲程序和各種數據信息;  4.輸入裝置 (Input)下達指令,提供數據,常見的輸入裝置有鼠標,鍵盤等;  5.輸出設備 (Output)輸出數據加工后的…

    Linux干貨 2016-12-31
  • N21-天天-第九周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash awk -F: '$NF~"/sbin/nologin" {shell++} $NF!~&qu…

    Linux干貨 2016-09-01
  • ?計算機網絡{ 基礎知識;網卡bonding;網關路由; }

      計算機網絡{ 基礎知識;網卡bonding;網關路由; }        網絡是指“三網”,即電信網絡、有線電視網絡和計算機網絡。計算機網絡最早起源于美蘇冷戰時期ARPANET網絡,如今已經發展成為Internet2和NGI等具有多層次結構的網絡。不同作用范圍的網絡可分為:廣域網WAN 、局域網LAN 、…

    Linux干貨 2016-09-06
  • php 設計模式-數據映射模式(應用程序與數據庫交互模式)

    前面提到的設計模式大大提高了代碼的可讀性與可維護性。然而,在WEB應用設計與開發中一個基本的需求與挑戰:數據庫應用,這些設計模式都沒有涉及到。數據映射模式使您能更好的組織你的應用程序與數據庫進行交互。 下面我將用實際代碼說明,如果一個表發生變動。我們要修改客戶端代碼就可以了。特別是游戲項目,需求經常可能會經常變動。修改表結構,可能引起大片代碼的改動。 首先我…

    Linux干貨 2015-04-07
  • RPM與YUM命令異同詳解

    RPM和YUM都是用來安裝程序的工具,但是它們有太多相似的用法以至于有事很難分清應該哪個那就來一起詳細的了解一下他們的功能及用法,以及他們的相同以及不同之處。 RPM 軟件包管理器功能:安裝,卸載,升級,查詢,校驗,打包,數據庫管理RPM在安裝時不能處理程序之間復雜的依賴關系RPM可以驗證軟件包來源的合法性、完整性。常用選項: -i:表示安裝。(常用:-iv…

    2017-06-18
  • 8月5日第七節課作業

    一、當天練習 1、找出ifconfig命令結果中本機的所有IPv4地址 2、查出分區空間使用率的最大百分比值 3、查出用戶UID最大值的用戶名、UID及shell類型 4、查出/tmp的權限,以數字方式顯示 5、統計當前連接本機的每個遠程主機IP的連接數,并按從大 到小排序 1、顯示/proc/meminfo文件中以大小s開頭的行;(要求:使 用兩種方式) …

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