介绍:vim包含三种模式分别为

  命令模式:浏览文件,临时更改vim的工作方式,对字符批量处理(也可进行配置)

  插入模式:对文件内容进行编辑

  退出模式:退出VIM操作

一、命令模式    

  1、调整vim的工作方式  【在vim程序中,使用:set调整参数】

     示例:

      :set  nu     ## 在每一行显示行号

      :set nonu    ## 取消行号的显示

      :set mouse =a ## 显示鼠标

      :set cursorline ## 显示行线

    结果显示:

    

    操作:vim.file ---> : ---> set  nu ---> enter (其他参数的操作于此类似)

    注意:在vim程序中设定的vim工作方式是临时的,即在vim关闭之后再次打开还是会还原;

       如果要永久保存的话,则需要编辑VIM的配置文件:/etc/vimrv;打开后直接在末尾

       加上*** set nu ***,不需要冒号

  2、字符的搜索

    /关键字    ## 若在内容中存在的话,会跳转到该关键字

    n        ## 内容向下匹配

    N        ## 内容向上匹配

  操作:vim  file ---> /Ubuntu --->N(或者n)

  结果显示:(只截取部分)

  

  

  3、字符的管理

    复制:y
       yl     ##复制一个字母
       y3l     ##复制3个字母
       yw     ##复制一个单词
       y3w      ##复制3个单词
       yy      ##复制一行
       y3y    ##复制三行

    注意:yy复制一行的时候,由于同时复制了换行,故会调至下一行粘贴。

    删除:d
       dl     ##删除一个字母
       d3l      ##删除三个字母
       dw      ##删除一个单词
       d3w    ##删除三个单词
       dd      ##删除一行
       d3d    ##删除三行

    剪切:c
       cl       ##剪切一个字母
       c3l     ##剪切三个字母
       cw        ##剪切一个单词
       c3w      ##剪切三个单词
       cc      ##剪切一行
       c3c      ##剪切三行

    粘贴:p

    撤销:u

    恢复撤销:ctrl+r

   注意:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式,然后按p粘贴

  4、vim可视化

    ctrl+v     ##在这个模式下可以选择区域操作

  批量添加字符:

    ctrl+v选中要加入的字符所在的列

    按大写的I

    加入字符

    按【ESC】<C-F12>

  5、字符替换

    :%s/要替换的字符/替换成的字符/g

    例子 :%s/:/@/g     ##替换全文的:为@

      :%s/\t//g    ## 把全文中的tab键去掉

      :%s/^\*//g   ## 把全文中行首的空格去掉,“^\*”表示行首

      :%s/\*//g   ## 吧全文中的空格去掉

    :1,5s/:/@/g      ##替换1-5行的:为@

    注意:

      %s标示所有的行

      g表示所有的列

    例子:*** :1,6s/test/niu ***代表从文件的第一行到第六行进行查找名为test的字符,找到第一个为test的进行修改(只修改一个)。

       *** :1,6/test/niu/g ***表示从文件1-6行找到所有名为test的字符,并替换为niu.       

  6、vim的分屏功能

     ctrl+w s      ##上下分屏

     ctrl+w v     ##左右分屏

     ctrl+w c     ##关闭光标所在的屏幕

     ctrl+w 上下左右   ##光标移动到指定的屏幕

     :sp file2     ##同时编辑当前文件和file2文件

   7、在命令模式下光标的移动

   gg       ##光标移动到文件的第一行

   G       ##光标移动到文件的最后一行

   :数字     ##光标移动到指定的行

二、插入模式 

  •  插入模式下光标的移动

    i       ##光标所在行插入

    I       ##光标所在行行首插入

    o      ##光标所在行下一行插入

    O     ##光标所在行的上一行插入

    a        ##光标所在字符的下一个字符插入

    A     ##光标所在行的行尾插入

    s      ##光标所在字符删除并插入

    S     ##光标所在行删除并插入

三、退出模式

    :q    ##退出,在文件内容没有被改变时使用

    :q!     ##强制退出不保存,在改变文件后不想保存时使用

    :wq    ##退出保存

    :wq!   ##强制退出保存,在对只读文件编写时使用,注意,所编辑的只读文件必须是当前用户的文件;或者当前操作的用户是root

 

Linux之VIM常用功能的更多相关文章

  1. 【linux】vim常用操作及vim插件的安装使用

    vim是linux下一个非常好用的文本编辑器,在linux下开发的人员要熟练掌握vim常用命令. 1.  打开在第n行 vim +143 filename.txt 2. 只读模式打开 vim -R / ...

  2. Linux 和 Vim 常用命令整理

    Sftp常用命令: lcd f:本地切换到 F盘 lpwd本地 当前目录 lls本地 文件列表 put 本地 上传文件到服务器(put输入后,回车会有弹窗,选择上传文件) get下载文件到本地 Lin ...

  3. Linux下Vim常用操作

    linux下Vim的常用操作 linux ​ 首先\(ctrl+Alt+t\)打开小框框 ​ \(./\):相当于手机上的\(home\)键 ​ \(ls\):当前文件夹的东东 ​ \(mkdir\) ...

  4. Linux 之 Vim常用命令

    Vim常用命令 参考教程:[千峰教育] 终端编辑命令工具: vi/vim.emacs等. vim简介: vim是vi的扩展,被誉为终端编辑之神. vim安装: yum install -y vim 工 ...

  5. 【linux】vim常用快捷键(转)

    原文链接:https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc 进入配置文件 如果不知 ...

  6. 【linux】vim常用命令

    转自:https://www.runoob.com/linux/linux-vim.html vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输 ...

  7. linux vi(vim)常用命令汇总(转)

    前言 首先解析一个vim vi是unix/linux下极为普遍的一种文本编辑器,大部分机器上都有vi的各种变种,在不同的机器上常用不同的变种软件,其中vim比较好用也用的比较广泛.vim是Vi Imp ...

  8. linux中vim常用的快捷键

    移动光标的方法 h或者向左箭头:光标向左移动一个字符 j或者向下箭头:光标向下移动一个字符 k或者向上箭头:光标向上移动一个字符 i或者向右箭头:光标向右移动一个字符 Ctrl+f:屏幕向下移动一页[ ...

  9. linux中vim常用命令

    vim工作模式 vi 文件名 进入命令模式 i a o 进入插入模式 ESC键 回到命令模式 : 进入编辑模式 添加行号 :set number/nu :wq 保存退出 插入命令 a 在光标所在字符后 ...

随机推荐

  1. WebAPI请求——js调用

    继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用jQuery 来发起异步请求实现 ...

  2. 建站有很多技术,如 HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、http://ASP.NET、Web Services、浏览器脚本、服务器脚本等。它们的区别是什么?新手一点不懂,想理清所有这些技术之间的关系和应用范围。

    先普及用户通过 浏览器 访问网页 的过程: 网页内容是通过服务器运算得出的结果,将结果(网页代码)传输给浏览器,网页代码再通过浏览器运算(计算.渲染),最终展示在用户的眼前的. 至此,我们知道了有2个 ...

  3. PAT1072. Gas Station (30)

    题目的测试用例数据有问题! 第一个Case 应该是 G1 2.0 3.2 一直在想3.3分母的3怎么来了.ORZ #include <iostream> #include <ccty ...

  4. linux用户态与内核态

    系统调用:如何中用户态切换到内核态 在linux中,系统调用是通过0x86体系结构中的软件中断实现的.这个软件中断与通常说的硬件中断不同之处在于,它是通过软件指令触发,而不是外部设备,这是程序员可以触 ...

  5. android ui界面设计参数讲解

    百度文库: http://wenku.baidu.com/link?url=s66Hw6byBEzmjL77doYL1YQN4Y_39F7MovaHKs5mVGrzTDOQCAmiM-1N_6Cdm- ...

  6. 如何理解nRF5芯片外设PPI

    PPI,英文全称Programmable Peripheral Interconnect,是Nordic独有的外设,其设计目的是让CPU处于idle模式下外设与外设之间也能完成相应通信,从而降低系统功 ...

  7. 【转】爬取豆瓣电影top250提取电影分类进行数据分析

    一.爬取网页,获取需要内容 我们今天要爬取的是豆瓣电影top250页面如下所示: 我们需要的是里面的电影分类,通过查看源代码观察可以分析出我们需要的东西.直接进入主题吧! 知道我们需要的内容在哪里了, ...

  8. [Vue]实例化Vue时的两种挂载方式el与$mount

    Vue 的$mount()为手动挂载,在项目中可用于延时挂载(例如在挂载之前要进行一些其他操作.判断等),之后要手动挂载上.new Vue时,el和$mount并没有本质上的不同. 1.el Vue实 ...

  9. LeetCode 525. Contiguous Array

    525. Contiguous Array Add to List Description Submission Solutions Total Accepted: 2476 Total Submis ...

  10. 启用/禁用以太网的批处理,用于一个网卡切换本地网络和wifi使用(Win10)

    注意下面时英文版上默认网络使用,同时接入了网线和wifi时,本地网络优先wifi. 所以禁用本地网络就会自动连接到wifi,启用本地网络,就会禁用wifi. 批处理支持 -y 参数,跳过用户输入y,代 ...