vim編輯器總結與操作練習

一、VIM總結如下: 模式化的編輯器
1、三種基本模式:
? ? 編輯模式(命令模式)
? ? 輸入模式(插入模式)
? ?末行模式:內置的命令行接口
2、如何使用VIM打開文件,編輯文件
??? 打開文件:
??? #vim ?【options】【file】
? ? +n;打開文件后直接讓光標處于第n行的行首
? ? +/PATTERN:打開文件后,直接讓光標處于第一個被PATTERN匹配到的行的行首
? ? +/if ?:表示打開文件后,直接在第一個匹配到的if 行首開始編輯
處于尾行,直接寫 vim + ?file
3、模式轉換:
? 編輯模式:默認模式
?編輯模式->輸入模式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? i: insert 在光標所在處輸入,插入字母等內容
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a:append,在光標處后方輸入
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? o:在光標所在處下方打開一個新的行
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?I:在光標所在行的行首輸入
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?A :在光標所在行的行尾輸入
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?O:在光標所在處的上方打開一個新行
?輸入模式->編輯模式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?按ESC鍵
編輯模式->末行模式(命令模式) ? ?輸入“:”即可
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?每行增加序號:set nu
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?撤銷序號:set nonu
?末行模式–>編輯模式
? ? ? ? ? ? ? ? ? ? ? ? ?連續按兩次ESC
(1)關閉文件:
? ? ? ? ZZ:保存并退出
? ? ? ? :q 退出
? ? ? ? ?:q! 強制退出
? ? ? ? ? :wq 保存并退出
? ? ? ? ? ? ? ? ? 上面命令可以分開使用:w先寫入,:q再退出
? ? ? ? ? ?:x ?保存并退出
? ? ? ? ? ?:w ?/PATH/TO/SOMEFILE
(2)光標跳轉:
? ? ?字符間跳轉:h:左 ?l:右 ? j:下,k:上
?????????????????????????????? #command :跳轉由#指定個數的字符
? ? 單詞間跳轉:一個單詞的詞首
e:當前或下一個w:下單詞的詞尾
b:當前或上一個單詞的詞首
#command :跳轉由#指定個數的字符
? ? 行首行尾跳轉
^ ?:跳轉至行首的第一個非空白字符
0:跳轉至行首
$:跳轉至行尾
? ? 行間跳轉
#G: 跳轉至由#指定的行
1G,gg ?:跳轉至第一行
G:最后一行
? ? 句間跳轉
? ? ?)下一句
? ? ?(前一句
? ? 可以加數字,表示前幾句或后幾句
? ? 段間跳轉
? ? ? ? ? }下一段
? ? ? ? ? {上一段
翻屏操作:
? ?Ctrl+f :向文件尾部翻一屏
? ?Ctrl+b :向文件首部翻一屏
? ??Ctrl+d :向文件尾部翻半屏
? ??Ctrl+u :向文件首部翻半屏
? ??enter:按行向后翻
4、vim的編輯命令
? ? 字符編輯
??? x :刪除光標所在處的字符
??? #x:刪除光標所在處起始的#個字符
??? xp :交換光標所在處的字符與其后面的字符的位置
? ? 替換命令
? ? r:替換光標所在處的字符
? ? ? rCHAR
? 刪除命令 ? 刪除的內容保存在緩沖區中,只有最后一個才會被粘貼
? ? ? d :刪除命令,可結合光標跳轉字符,實現范圍刪除
? ? ? ? d$:刪除光標所在的當前字符至行尾
? ? ? ? d^:刪除光標所在的當前字符至行首
下面的內容可以加數字:#dw
? ? ? ? dw:刪除光標所在的當前字符至下一個單詞的詞首
? ? ? ? ?de
? ? ? ? ?db:刪除光標所在的當前字符的所在行,支持加數字
? ?粘貼命令:(p,put,paste)
? ? ? ? ?p:緩沖區的內容如果為整行,則粘貼在當前光標所在行的下方,否則則粘貼在光標所在處的后方
? ? ? ? ?P:緩沖區的內容如果為整行,則粘貼在當前光標所在行的上方,否則則粘貼在光標所在處的前方
? ? ?復制命令(yank,簡寫為y)
? ? ? ? ? ? 復制操作與刪除的命令原理一樣
? ? y$:
? ? y^:
ye
yw
yb
? ? #command
? ??yy 復制一整行
? ? #yy復制#行
? ? ?改變命令:(change,c命令)
? ? ? ? ? ? 編輯模式–》輸入模式,實現刪除操作
? ? c$
? ? c^
? ? c0
cb
ce
cw
? ? ? ?#command
cc:刪除光標所在行,并轉換為輸出模式
? ? ?#cc
可視化模式(鼠標選中區域)
? ? ?v:按字符選定位置
? ? V:按整行選定位置
結合編輯命令使用:d,c,y
撤銷操作(undo)
? u:撤銷此前的操作
?#u:撤銷此前的#條操作
撤銷此前的操作內容
Ctrl + r
重復執行前一個編輯操作
vim有自帶的練習教程,vimtutor
二、操作練習:
?1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#:
cp? /etc/rc.d/rc.sysinit? /tmp
vim /tmp/rc.sysinit
%s@^[[:space:]]\+@#@g
2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符;
命令:
cp? /boot/grub/grub.conf? /tmp
vim /tmp/grub.conf
?%s@^[[:space:]]@@g
3、刪除/tmp/rc.sysinit文件中以#開頭,且后面跟了至少一個空白字符的行行的#和空白字符:
%s@^#[[:space:]]\+@@g
4、為/tmp/grub.conf文件中前三行的行首加#號:
1,3s@^@#@g
5、將/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改為1:
%s@\(enabled\|gpgcheck\)=0@\1=1@g
6、每4小時執行一次對/etc目錄的備份,備份至/backup目錄中,保存的目錄名為形如etc-201504020202:

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/89079

(1)
anyanghao123anyanghao123
上一篇 2017-11-29
下一篇 2017-11-29

相關推薦

  • Kickstart+PXE自動部署

    Kickstart+PXE自動部署 無人值守安裝簡介 無人值守安裝(Unattended Setup)指軟件安裝時無需任何用戶干預,直接按默認或通過應答文件設置安裝,這對于無特殊需求的用戶或企業大批量部署安裝操作系統及軟件時非常方便。無人值守安裝也稱為靜默安裝,在安裝過程中可以靜默安裝好預先設計集成的一些常用軟件,安裝結束以后軟件就已經可以使用,很多軟件都支…

    Linux干貨 2016-09-17
  • 通過Nginx來安裝一個discuz,軟件并不是編譯安裝的

    這次由于時間有限,所以我就沒有用編譯安裝來啟動LMP,只有Nginx 是編譯安裝的 因為是在centos7上面安裝的Nginx所以我們這里由于能力有限,暫時不能將其加入開機啟動,日后我會進行改進,將其加入開機啟動。這里我們給出Nginxd的編譯選項及環境   yum groupinstall "Development&…

    Linux干貨 2016-10-25
  • 邏輯卷的創建、維護和遷移

    邏輯卷管理器(LVM)介紹: 1、允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小 2、允許在多個物理設備間重新組織文件系統 (1)將設備指定為物理卷 (2)用一個或者多個物理卷來創建一個卷組 (3)物理卷是用固定大小的物理區域(Physical Extent,PE)來 定義的 (4)在物理卷上創建的邏輯卷 是由物理區域(PE)組成 (5)可以在邏輯…

    Linux干貨 2017-12-10
  • 第五周

    1、簡述rpm與yum命令的常見選項,并舉例
    2、自建yum倉庫,分別為網絡源和本地源
    3、簡述at和crontab命令,制定 每周三凌晨三、五點10分執行某個腳本,輸出當前時間,時間格式為 2017-12-28 10:00:00
    4、簡述sed常用操作命令,并舉例

    Linux干貨 2017-12-30
  • shell腳本一鍵安裝二進制Apache

    安裝背景:用的一臺最小化安裝的centos6。 編譯安裝安裝的必備安裝gcc,gcc-c++ 安裝包arp,arp-util以及pcre的壓縮包已經傳到七牛,沒有通過官網下載。太慢。 apache是通過官網下載的,所以下載比較慢,需要的話更改下地址 不足,只按照正常流程寫,未做任何異常判斷處理 #/bin/bash #一鍵安裝Apache #安裝GCC ec…

    Linux干貨 2016-07-10
  • 軟件包管理器之二——YUM介紹及使用

    一、前言     之前我們介紹了RPM的應用(詳細請查看http://www.www58058.com/archives/6383),發覺RPM安裝軟件有一個很繁瑣的問題,那就是包與包之間的依賴關系,如果想正常安裝和使用軟件程序,就必須根據要求一步一步的解決軟件之間的依賴關系。那么如果程序使用的包很多,將會很消耗使用人…

    Linux干貨 2015-07-21
欧美性久久久久