vi / vim 的简单使用

vi是是类unix系统下最受欢迎的两个编辑器之一,另一个是Emacs。vi的作者是Bill Joy,Vim可以看成是vi的升级版,因为他完全兼容vi,它的作者是Bram Moolenaar。vi/vim的学习曲线比较陡峭,不过一旦熟练掌握后,可以大大提高编辑效率。

下面我们简单学习一下Vim的使用:

vi/vim的模式

1. 命令模式(浏览模式)

默认打开文件时就是命令模式

控制屏幕光标的移动,删除字符、字或行等。

2. 插入模式

英语输入法下摁下您的"i"键

只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式

3. 底行模式

在命令行模式和英语输入法下摁 shift+:

可以保存文件、退出vi、设置vi、查找等功能

部分功能使用说明

一、打开文件、保存、关闭文件(“命令模式”下使用)

    vi filename //打开filename文件 
    :w          //保存文件 
    :w 1.txt    //保存至1.txt文件 
    :q          //退出编辑器 
    :q!         //退出编辑器,且不保存 
    :wq         //退出编辑器,且保存文件
    :x          //保存内容并退出

二、插入文本或行(在“命令模式”下使用,执行下面命令后将进入“插入模式”,按ESC键可退出“插入模式”)

    a    //在当前光标位置的右边添加文本 
    i    //在当前光标位置的左边添加文本 
    A    //在当前行的末尾位置添加文本 
    I    //在当前行的开始处添加文本(非空字符的行首) 
    O    //在当前行的上面新建一行 
    o    //在当前行的下面新建一行 
    R    //替换(覆盖)当前光标位置及后面的若干文本 
    J    //合并光标所在行及下一行为一行(依然在命令模式) 

三、移动光标(“命令模式”下使用)

1、使用上下左右方向键

2、命令模式下:

    h   //向左
    j   //向下 
    k   //向上
    l   //向右 
    空格键 //向右
    Backspace  //向左
    Enter  //移动到下一行首
    -  //移动到上一行首

四、删除、恢复字符或行(“命令模式”下使用)

    x       //删除当前字符 
    nx      //删除从光标开始的n个字符 
    dd      //删除当前行 
    ndd     //向下删除当前行在内的n行 
    u       //撤销上一步操作
    ctrl+R  //反撤销,和u的功能相反
    U       //撤销对当前行的所有操作 

五、搜索(“底行模式”下使用)

    /str    //向光标下搜索str字符串 
    ?str    //向光标上搜索str字符串 
    n       //向下搜索前一个搜素动作 
    N       //向上搜索前一个搜索动作 

六、跳至指定行(“命令模式”下使用)

    n+        //向下跳n行 
    n-        //向上跳n行 
    nG        //跳到行号为n的行 
    G         //跳至文件的底部 

七、设置行号(“底行模式”下使用)

    :set  nu     //显示行号 
    :set nonu    //取消显示行号 

八、复制、粘贴(“命令模式”下使用)

    yy    //将当前行复制到粘贴板缓冲区,也可以用 "ayy 复制,"a 为粘贴板缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 
    nyy   //将当前行向下n行复制到粘贴板缓冲区,也可以用 "anyy 复制,"a 为粘贴板缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 
    yw    //复制从光标开始到词尾的字符。 
    nyw   //复制从光标开始的n个单词。 
    y^    //复制从光标到行首的内容。
    y$    //复制从光标到行尾的内容。 
    p     //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。 
    P     //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。 

九、替换(“命令模式”下使用)

    :s/old/new          //用new替换行中首次出现的old 
    :s/old/new/g        //用new替换行中所有的old 
    :n,m s/old/new/g    //用new替换从n到m行里所有的old 
    :%s/old/new/g       //用new替换当前文件里所有的old 

十、编辑其他文件

    :e otherfilename    //新建一个文件名为otherfilename的文件。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 8,451评论 0 3
  • vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它。但是,vim作为一...
    梁世勇阅读 5,552评论 2 12
  • dpkg 学习 安装mysql apt-get install mysql-server-5.6 apt-get ...
    sharonji阅读 3,342评论 0 0
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,333评论 0 10
  • 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令...
    im蚂蚁阅读 31,005评论 3 48

友情链接更多精彩内容