Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最大的文本编辑器,它的作用是建立、编辑、显示文本文件。

Vim没有菜单,只有命令。

命令 作用
     a 在光标所在字符后插入
     A 在光标所在行尾插入
  i 在光标所在字符前插入
  I 在光标所在行行首插入
  o 在光标下插入新行
  O 在光标上插入新行
      命令                               作用
 :set nu   设置行号
   :set nonu   取消行号
    gg   到第一行 
    G   到最后一行
    nG   到第n行
    :n   到第n行
    $   移至行尾    
    0   移至行首
    命令                作用
  x 删除光标所在处字符
  nx 删除光标所在后n个字符
  dd 删除光标所在行,ndd删除n行
  dG 删除光标所在行到文件行尾内容
  D 删除光标所在处到行尾内容
  :n1,n2d 删除指定范围的行
   命令                     作用
  yy  复制当前行
  nyy 复制当前行以下n行
  dd 剪切当前行
  ndd 剪切当前行以下n行
  p、P 粘贴在当前光标所在行下或行上
  命令                                    作用
  r 取代光标所在处字符
  R 从光标所在处开始替换字符,按Esc结束
  u 取消上一步操作
      命令                                          作用
  :w 保存修改
  :w  filename 另存为指定文件
  :wq 保存修改并退出
  ZZ 快捷键,保存修改并退出
  :q! 不保存修改退出
  :wq! 保存修改并退出(文件所有者及root可使用)

1.文本编译器  ASCII文件
    vi的模式
         编辑模式:键盘操作被解析为编辑命令
          插入模式:文字输入
          末行模式:vi的内置的命令接口,执行vi内置命令

2.编辑模式--》插入模式
    i:在当前光标的所在处插入、
    I:在当前光标的所在行首插入
    a:在当前光标所在处的后面插入
    A:在当前光标所在行的行尾插入
    o:在光标所在行(新增)的下一行插入
    O:在当前光标所在行(新增)的上一行插入

插入模式--》编辑模式
    按[ESC]

编辑模式--》末行模式
       :

末行模式--》编辑模式
   ESC  ESC

:q!  不保存退出
 :wq   保存退出
 :x   保存并退出
 编辑模式   ZZ 保存退出

3.打开:可以一次打开多个文件
       vi 文件名1  文件名2
       在末行模式下输入next切换到下一个文件,输入prev切换到上一个文件,输入first切换到第一个文件,输入last切换;到最后一个文件
    分割窗口打开多个文件
           -O:水平分割
        Ctrl+w,上下箭头
       -o:垂直分割
        Ctrl+w,左右箭头

vi +num 文件名   光标在第num行
vi + 文件名    光标在末尾行

4.编辑操作(编辑模式下)

.光标移动
    单字符移动
        H左  L右  J下  K上
        可以和数字组合进行多个移动
    单词间移动
        w:跳至下一个单词的词

        b:当前或前一个词首
        e:当前或下一个词尾
    行内移动
        0:绝对行首
        ^:第一个非空白字符
        $:绝对行尾
    句间移动
        (
        )
    段间移动
        {
        }
    行间移动
         num+g
        G:最后一行
        1G:第一行

x:删除光标所在处的字符
    num+x:删除光标所在处开始向后的num个字符
    dd:删除光标所在处的一行
        num+dd:删除光标所在处向后的num行

r:替换光标所在处的字符

yw:复制光标所在处到行尾的字符
    num+yw:复制num个字
    yy:复制光标所在行
    num+yy:复制num行
    p:粘贴

5.末行模式:范围定界
      设置行号:set nu
      取消行号:set nonu
      跳转至某一行:num
      查找:/查找单词
             ?查找字符
      替换字符
           s/a/b 将光标所在行的第一个a替换成b
           s/a/b/g 将光标所在行的所有a替换成b

start,end:例:1,10
    .:表示当前行
    $:最后一行
    
        c:替换

1)导入命令执行结果:r!命令

2)定义快捷键:map  快捷键  触发命令

例:map  ^P   I#<ESC>

map  ^B   0x

3)连续行注释  :n1,n2s/^/#/g

:n1,n2s/^/#//g

:n1,n2s/^/\/\//g

4)替换

:ab   mymail     123456@qq.com

文本编辑器vim的更多相关文章

  1. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  2. Linux常用命令——文本编辑器Vim

    Linux常用命令--文本编辑器Vim Linux  Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...

  3. Linux文本编辑器vim

    目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...

  4. LINUX文件内容处理及文本编辑器vim

    Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...

  5. 文本编辑器vim和gedit

    vim和gedit都是文本编辑器 vim用法: vim 文件名 #打开文件 输入 i,进入文本编辑模式,编辑完再按ESC,退出编辑模式,再输:wq,保存退出:如果输:q!则是不保存退出,很简单.. 如 ...

  6. Linux基础学习(5)--文本编辑器Vim

    第五章——文本编辑器Vim 一. Vim常用操作 1.Vim简介:              Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑. ...

  7. Linux 文本编辑器 vim

    第五讲 文本编辑器 vim

  8. Linux文本文件——文本编辑器Vim

    Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...

  9. 第4章 文本编辑器vim

    1. vim常用操作 1.1 vim简介 (1)vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件. (2)vim没有菜单,只有命令 ...

  10. 文本编辑器VIM/VI

    vim/vi  功能强大全屏文本编辑器.主要是建立,编辑,显示文本. www.vim.org  构建shell脚本 :set number 使文件出现行号 a 光标后附件文件     i在光标前插入文 ...

随机推荐

  1. HTML5自学笔记[ 12 ]canvas绘图小示例之鼠标画线

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 6/3 Sprint2 看板和燃尽图

  3. (22)odoo 安装旧模块报错处理

    一些老版本的模块没有得到升级,所以经常碰到模块无法安装的问题. No module name osv 将模块的 from osv import osv,fields 改为 from openerp.o ...

  4. JavaScript实现数组转置

    //数组转置  var  arr=[[2,5,6,8],[8,5,6,9],[9,6,2,1]] ;   var arrNew=[];//定义一个新数组   for(var i=0;i<arr[ ...

  5. java 多线程——quartz 定时调度的例子

    java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...

  6. bzoj2458: [BeiJing2011]最小三角形(分治+几何)

    题目链接:bzoj2458: [BeiJing2011]最小三角形 学习推荐博客:分治法编程问题之最接近点对问题的算法分析 题解:先将所有点按x值排列,然后每次将当前区间[l,r]分成左右两半递归求解 ...

  7. 转载css层级优先级。

    解读CSS样式优先级(修改门户自定义样式必读) 一.什么是CSS优先级?所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序.当同一个元素(或内容)被多个CSS选择符选中时,就要按照优先权取舍 ...

  8. mvc+ef+oracle环境中报错:ORA-00001: 违反唯一约束条件

    分析原因: 在oracle中,主健不能自动生成,不过可以通过“序列”来实现,如果是这样的话,问题很可能就出在“序列”上了: ORACLE表主键ID突然从已经存在的ID值开始自动生成,导致违反主键唯一性 ...

  9. jupyter

    Pip install jupyter To run:  jupyter notebook 基本操作 执行当前cell,并自动跳到下一个cell:Shift      Enter 执行当前cell,执 ...

  10. 如何创建一个客户端回调:js获得服务端的内容?

    答案:表面上看去就是前端的js调用服务的C#方法,本质就是ajax,通过XMLHttpRequest对象和服务端进行交互.回调:就说回过头来调用,按理说js是一种脚本语言,怎么能用来调用服务端的呢?就 ...