vi是Linux命令行界面下的文字编辑器,vim是vi的增强版(Vi IMproved),完全兼容

  可以理解成普通的txt文本与word文档之间的差距。

  注:还有一款全屏编辑器是nano,可以了解下

【vim的三种模式】

  普通模式,编辑模式,命令模式

  

  1.普通模式

    使用vim命令打开文件,只能使用上下左右键移动光标,并且操作复制,粘贴,删除等之类的工作

  2.编辑模式

    普通模式下不能对文件内容进行编辑,只有按下“i,I,o,O,a,A,r,R,s,S”,等字母,进入编辑模式之后才可以执行录入文字

    编辑模式有一个插入的标记在屏幕的最下方

  3.命令模式

    在普通模式下,输入“:/  ?”时,光标会自动定位在那一行,此模式中可以执行保存,退出,搜索,替换,显示行号等相关操作

    

  vim [OPTION]...FILE...
  如果文件存在,则打开它,如果不存在,则打开一个新的文件,如果存盘则创建文件,不存盘则不创建文件

【vim打开文件进行快速定位】    

    +#:打开文件后,直接让光标处鱼第#行的行首
    +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配当的行的行首
   

 vim +11 /etc/passwd

    -b:二进制方式打开文件
    -d:比较多个文件的差异
    -m:只读打开文件
    ex file 或 vim -e:直接进入ex模式

【模式转换】

  普通模式 ----> 插入模式
    i:insert,在光标所在处输入
    I:在光标所在行的行首输入
    a:在光标所在处的后一个字符输入
    A:在光标所在行的行尾输入
    o:在当前光标所在行的下一行新开一行 open
    O:在当前光标所在行的上一行新开一行

  字符间跳转:
    h:左
    j:下
    k:上
    l:右 #[hljk]:指定一次跳转多少的字符数

  单词间跳转:
    w:跳到下一个单词的词首
    e:当前或下一个单词的词尾
    b:当前或上一个单词的词首
  #[web]:指定一次跳转多少个单词数
  

  当前页跳转
    H:页首
    M:页中
    L:页底

   翻屏:
    Ctrl+f:向文件尾部翻一屏
    Ctrl+b:向文件首部翻一屏
    Ctrl+d:向文件尾部翻半屏
    Ctrl+u:向文件首部翻半屏

  行首行尾跳转:
    ^:调到行首非第一个非空白字符处
    0:调到行首
    $:跳转至行尾

  行间移动:
    #G:跳到第#行
    G:最后一行   例如:1G或gg:第一行
    

  字符编辑:
    x:删除光标处的字符
    #x:删除光标处起始的#个字符
    xp:交换光标所在处及其后面字符的位置 原理是:先删除光标所在位置,然后使用p粘贴
    ~:转换大小写

  替换命令:
    r:替换个光标所在处的字符 7rv 光标后7为替换成v
    R:切换成replace模式

  删除命令:
    d:删除命令,可结合光标跳转命令实现范围删除
    d$:删除光标至行尾的字符
    d^:删除光标至行首非空白字符处
    d0:删除光标至行首
    dw:删除光标当标至下一个单词的词首
    de:删除光标至当前或下一个单词的词尾
    db:删除光标至上一个单词的词首
    dd:删除光标所在行
    #dd:删除#光标后的#行

  复制命令:
    y:复制
    y$:从光标所在处复制到行尾
    y0:从光标所在处复制到行首
    y^:从光标所在处复制到行首的非空白字符处
    ye:从光标所在处复制至当前或下一个单词的词尾
    yw:从光标所在处复制至下一个单词的词首
    yb:从光标所在处复制至上一个单词的词首
    yy:复制光标所在行
    #yy:复制多行
  

  粘贴命令:
    p:粘贴,如果缓冲区为整行,则粘贴在光标所在行的下一行,否则,粘贴在光标所在处的后面
    P:粘贴,如果缓冲区为整行,则粘贴在光标所在行的上一行,否则,粘贴在光标所在处的前面

  可视化模式:
    v 按字符选定
    V 按航选定,经常结合编辑命令,d,c,y
    撤销此前的编辑
    u(undo)撤销此前的操作
    #u 撤销指定次数的操作
    撤销此前的撤销

vim中的末行模式:

    按“:”进入末行模式

(1)地址定界
  :start_pos,end_pos
  #     具体第#行,例如2表示第2行
  #,#     从左侧#表示行起始,到右侧#表示行结束
  #,+#     从左侧#表示行起始,加上右侧#表示的行数
  .       表示当前行
  $       表示最后一行
  %       全文,相当于1,$

  /part1/,/part2/
        从第一次被part1模式匹配到的行开始,一直到第一次被part2匹配到的行结束
    使用方式:
      后跟一个编辑命令
        d
        y
        w /PATH/TO/SOMEWHERE

:1,20w /tmp/.txt

        r filename:读取文件内容到当前文件中

:r /etc/fstab

        q:退出
        q!:强制退出
        wq:保存并退出
        wall 保存所有
        x:保存并退出
        ZZ:保存退出
        ZQ:不保存退出
(2)查找
    /PATTERN 从当前光标所在处尾部查找
    ?PATTERN 从当前光标所在处首部查找
    n 与命令同方向
    N 与命令反方向
(3)替换
    s 在末行模式下完成查找替换操作
    s/要查找的内容/替换为的内容/修饰符
    替换的内容可以使用反向引用\1,\2,可以使用&引用前面查找时查到的内容
  

  修饰符号:
    i 忽略大小写
    g 全局替换,默认情况下,每一行只替换第一次出现

【定制vim的工作特性】

  配置文件:永久有效
  全局 :/etc/vimrc
  个人:~/.vimrc 需要自己创建
  末行:当前vim进程有效

    (1)显示行号:
      set nu 显示;
      set nonu 取消显示;

    (2)括号成对匹配:括号高亮
      set sm:设置;
      set nosm:取消;

    (3)自动缩进:
      set ai
      set noai

    (4)高亮搜索:
      set hlsearch high light search
      set nohlsearch nohls

    (5)语法高亮:
      syntax on
      syntax off

    (6)忽略字符的大小写:
      set ic
      set noic

    (7)文本格式:
      set fileformat=dos :启用windows格式;
      set fileformat=unix:启用unix格式;

    (8)设置文本宽度:
      set textwidth=65 (vim only)
      set wrapmargin=16

    (9)设置tab键的缩进长度:
      set tabstop=4
      set softtabstop=4:设置一个退格键退回来的长度;
      set shiftwidth=#:设置每一级缩进的长度;
      set authindent:表示自动缩进;

    (10)帮助信息:
      :help option-list
      :set or :set alal

转载于:https://www.cnblogs.com/flashfish/p/10718708.html

Linux文本编辑器-vi/vim相关推荐

  1. LFCS 系列第二讲:如何安装和使用纯文本编辑器 vi/vim

    LFCS 系列第二讲:如何安装和使用纯文本编辑器 vi/vim 几个月前, Linux 基金会发起了 LFCS (Linux 基金会认证系统管理员Linux Foundation Certified ...

  2. linux下编辑文件实验,Linux上最常用的文本编辑器vi/vim使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是"visual interfa ...

  3. CentOS6.4之文本编辑器Vi/Vim

    Vim/Vi 简介 Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件. Vim/Vi 没有菜单,只有命令. 插入命令 定位命 ...

  4. 如何安装和使用纯文本编辑器 vi/vim

    2019独角兽企业重金招聘Python工程师标准>>> 这篇文章是系列教程的第二讲,在这个部分中,我们会介绍 vi/vim 基本的文件编辑操作,帮助读者理解编辑器中的三个模式,这是 ...

  5. 夺命雷公狗---linux NO:18 linux文本编辑器vi的使用

    因为目前在市面上大部份的linux发行版本中他们都自带了 vi  编辑器,所以我们必须要知道是如何使用的... 当然其他的编辑器还是有很多的,但是有某些大牛曾经说过  vi  是世界上最快的编辑器.. ...

  6. Linux下编辑器vi/vim的使用介绍

    vi编辑器是所有Unix及Linux系统下标准的编辑器.对Unix及Linux系统的任何版本,vi编辑器是完全相同的. 基本上vi可以分为三种状态,分别是命令模式(commandmode).插入模式( ...

  7. linux文本编辑器vi实验心得,linux中vi编辑器的练习心得

    1. 用vi编写一个文档test.txt,将其存放在用户在用户主目录下,内容如下: Plagiarism is breach of Integrity.It is a form of cheating ...

  8. linux系统中vi/vim文本编辑器的使用简介

    linux系统中vi/vim文本编辑器的使用简介 1. vi/vim简介 ​ vi/vim 是linux系统中最基本的编辑器,类似于windows系统中的记事本,几乎所有的linux开发版本都内置了v ...

  9. Linux文本编辑器——vim

    Linux文本编辑器   ed  pico  emacs  nano  gVim  vim  vi   vim 是文本编辑器  不是文字处理工具(office  liboffice  wps)  你的 ...

  10. Linux文本编辑器-vim

    Linux文本编辑器-vim Vim简介 Vim是从vi发展出来的一个文本编辑器.其代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和Emacs并列成为类Unix系统用户最喜欢 ...

最新文章

  1. linux判断是否能上网_母亲提醒女儿:判断一个男人是否值得嫁,从这两点就能轻易看出...
  2. nginx rewrite重写与防盗链配置
  3. Appium自动化测试-配置待测Android应用
  4. 青少年蓝桥杯_2020_steam考试_中级组_第四题
  5. 【报错笔记】使用MultipartFile 出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload...
  6. Java学习之约瑟夫环的两中处理方法
  7. java是解释型编程语言_程序设计语言可以分为两类:编译型语言和解释型语言...
  8. 手机定位App从想法到上线运营(1)--介绍
  9. python装饰器传递参数_Python装饰器高级版—Python类内定义装饰器并传递self参数...
  10. 1200万的天价离职赔偿!
  11. 【Flink】Flink报错OutofMemoryError : Direct buffer memory
  12. 导入从postman导出的json接口文件,并设置全局变量
  13. android手机设置固定dns,安卓手机修改WiFi DNS设置的方法
  14. 计算机应用二进制原因,计算机中采用二进制的主要原因是什么
  15. 浏览器自动化操作(Web Browser Automation)(一)
  16. 定制任务栏托盘的dll
  17. 电路matlab搭建,MATLAB电路仿真搭建教程
  18. Linux下Mysql 5.7的安装及远程连接配置
  19. 默哀这一刻 我们的心紧紧相连
  20. Python pandas库|任凭弱水三千,我只取一瓢饮(3)

热门文章

  1. 不错的Feature设计:提建议并投票
  2. 「代码随想录」本周小结!(动态规划系列一)
  3. Illustrator 教程,如何在 Illustrator 中使用铅笔工具绘图?
  4. IP Scanner Pro for mac(局域网IP扫描软件)
  5. 5款Mac必备的Safari扩展
  6. 多图像合成为延时视频的方法
  7. Default Folder X几个小技巧分享
  8. Windows Media Center SDK 在 GitHub 上发布
  9. Java代码质量改进之:使用ThreadLocal维护线程内部变量
  10. java虚拟机:虚拟机栈