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教程

相关文章
相关标签/搜索