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. (23)odoo中的domain表达式

    ---------更新日期:09:10 2016-03-03 星期四---------* Domain 表达式             # 用于过滤记录数,相当于sql的where       ('f ...

  2. iOS机器学习-TensorFlow

    人工智能.机器学习都已走进了我们的日常,尤其是愈演愈热的大数据更是跟我们的生活息息相关,做 人工智能.数据挖掘的人在其他人眼中感觉是很高大上的,总有一种遥不可及的感觉,在我司也经常会听到数据科学部的同 ...

  3. JDK1.7-LinkedList循环链表优化

    最近在看jdk1.7的时候,发现LinkedList 和1.6中的变化. 首先,简单介绍一下LinkedList: LinkedList是List接口的双向链表实现.由于是链表结构,所以长度没有限制: ...

  4. backbonejs中的模型篇(二)

    一:模型标识符 每个模型都有一个用作唯一标识符的ID属性,以便在不同模型间进行区分.通过id属性我们可以直接访问模型对象当中用于标识符存放的属性,默认属性名为id,但也可以通过设置idAttribut ...

  5. HDU 4122

    Alice's mooncake shop Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  6. 《Pro AngularJS》学习小结-02

    上一篇的项目只有一个单独的模板页面,加入了相应的controller,filter,使得页面上的数据能够动态的变化.现在我们开始建立并整合多个模板,加入购物车模块和结账checkout模块. 一.在页 ...

  7. kafka技术要点

    转载:http://blog.csdn.net/caisini_vc/article/details/48007297 Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为 ...

  8. linux shell中,单引号、 双引号,反引号(``),$()的区别

    一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行会报错.为了避免这 ...

  9. 用于主题检测的临时日志(452a49c2-4455-430f-a1cc-bbcd2d1944dd - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

    这是一个未删除的临时日志.请手动删除它.(95c74eab-5822-4f4b-b0e5-009feb9cae8d - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

  10. POJ 2886 Who Gets the Most Candies?

    思路: 对于 k 位置的 孩子,他的 数字是 +num 那么因为他自己本身是要被踢走的,所以相对位置 为k= k+num-1 如果数字是 -num,那么按正着数就没影响,k=k-num.线段树存储当前 ...