vim 文本編輯器

文本編輯器:字處理器
shell

vim: Visual Interface iMprovedvim

全屏編輯器,模式化編輯器
vim模式
  編輯模式(命令模式)
  輸入模式
  末行模式編輯器

模式轉換:
  編輯--> 輸入
    i:在當前光標所在的字符的前面,轉換爲輸入模式;
    a: 在當前光標所在的字符的後面,轉換爲輸入模式;
    o:在當前光標所在行的下方,新建一行,轉換爲輸入模式;

    I:在當前光標所在的行首,轉換爲輸入模式;
    A:在當前光標所在的行尾,轉換爲輸入模式;
    O: 在當前光標所在行的上方,新建一行,轉換爲輸入模式;spa

  輸入--> 編輯
    ESC3d

  編輯--> 末行
    :教程

  末行-->編輯
    ESC 可能屢次

1、打開文件
#vim /pass/to/somefilestring

  vim +n somefile 直接到第n行
  vim + somefile 直接到文件的最後一行
  vim +/PATTERN: 打開文件,定位到第一次陪PATTERN匹配到的行首it

2、關閉文件ast

一、;末行模式關閉文件可視化

  :q 退出
  :wq 保存並退出
  :q! 不保存退出
  :w 保存
  :w! 強制保存
  :wq --> :x

二、編輯模式下退出
  ZZ: 保存並退出

3、移動光標(編輯模式)
一、逐字符移動
  h: 左
  l: 右
  j: 下
  k: 上
  #h:移動指定數目的字符

二、逐個單詞移動
  w:表示移動到下一個單詞的詞首;
  e:表示移動到當前單詞或下一個單詞的詞尾;
  b:表示移動到當前單詞或前一個單詞的詞首;

  #w: #個單詞

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


四、行間跳轉
  #G:直接跳轉至第#行內
  G:跳到最後一行;

  末行模式下,直接給出行號便可
  
4、翻屏操做
  ctrl + f 向下
  ctrl + b 向上

  ctrl + d: 向下翻半屏
  ctrl + u: 向上翻半屏

五:刪除單個字符
  x: 刪除光標所在的單個字符
  #x: 刪除光標所在處向後的共#個字符

六:刪除命令: d命令與跳轉命令組合使用
  d0
  d$
  dw
  de
  db
  3dw
  #d跳轉符:刪除跳轉符範圍的#個字符
  dd
  #dd:刪除包括光標行所在內的#行
  末行模式下:
    :1,8d
  :.,100d 當前行到100行
  : .,+10d 當前行向下10行
  .: 當前行
  $: 最後一行
  +#: 向下#行
  -#:向上#行;

  刪除的內容會保存在緩衝區中,最後一次刪除的內容能夠複製到光標所在的位置;

7、粘貼命令 p
  p: 若是刪除的或複製的爲整行內容,則粘貼至所在行的下方;若是複製或刪除的內容爲非整行
則粘貼至貫標所在行的後面;
  P: 若是刪除的或複製的爲整行內容,則粘貼至所在行的上方;若是複製或刪除的內容爲非整行
則粘貼至貫標所在行的前面;

8、複製命令 y
  y命令同d命令

9、先刪除內容再轉換爲輸入模式
  c同d命令 修改命令

10、替換:r replace
  r: 替換單個字符 當前光標下,r+須要被替換的字符
  R: 進入替換模式

11、撤銷編輯操做 u
  u:撤銷前一次的編輯操做,連續u能夠撤銷前次的n<50次的操做;
  #u:直接撤銷前#次編輯操做;
  還原最近的一次撤銷操做:ctrl+r

12、重複前一次編輯操做
  .

十3、可視化模式
  v: 按字符選取
  V: 按矩形塊選取 整行選取
  而後進行d p y操做;

十4、查找
  /PATTERN 從首向尾部查找
  ?PATTERN 從尾部向首部查找
  n 向下跳轉
  N 向上跳轉

十5、查找並替換
  在末行模式下使用s命令 和sed命令同樣
  ADDR1,ADDR2s@PATTERN@string@gi
  從當前行到倒數第二行 he替換成HE: .,$-1s/he/HE/g

 

練習:將/etc/instructor.repos.d/service.repo文件中的ftp://instructor.example.com/pub替換成http://127.16.0.1/yum

 

%s@ftp://instructor\.example\.com/pub@http://127.16.0.1/yum@g

 

 

十六 用vim編輯多個文件

 

兩個文件相互交互數據
vim FILE1 FILE2 FILE3
:next 切換至下一個文件
:prev 切換至前一個文件
:last 切換至最後一個文件
:first 切換至第一個文件

 

十7、分屏顯示一個文件
ctrl + w, s: 水平拆分窗口
ctrl + w, v: 垂直拆分窗口

 

在窗口間切換光標:
ctrl + w:ARROW(向上的箭頭,向下的箭頭)
:qa 關閉全部窗口

 

十8、分窗口編輯多個文件
vim -o:水平分割顯示
vim -O:垂直分割顯示

 

十9、將當前文件中的部份內容另存爲另一個文件
末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere

 

二10、將另一個文件的內容填充在當前文件中
:r /path/to/somewhere

 

vim /etc/inittab
:r /etc/sysinit

 

二11、跟shell交互
:! COMMAD

 

二12、高級話題
一、顯示或取消行號
:set nu
:set nonu
二、顯示忽略區分字符大小寫
:set ignorecase
:set ic
:set noic
三、設定自動縮進
:set autoindent
:set ai
:set noai
四、查找到的文本高亮顯示或取消
:set hlsearch
:set nohlsearch
五、語法高亮
:syntax on
:syntax off

 

二十3、配置文件
/etc/vimrc
~/.vimrc

vimtutor vim教程

相關文章
相關標籤/搜索