Linux学习之Vim/Vi使用

  1. Vim/Vi简介
  2. Vim/Vi工作模式
  3. Vim/Vi基本使用
  4. Vim/Vi应用技巧
  1.  

Vim/Vi简介

  1. Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。
  2. Linux下的编辑器最常用的就是vim或者vi文本编辑。vi vim 编辑器的区别是vimvi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能。?大多数的linux/unix 发行版本中都
    使用 vim 代替了原来的 vi 文本编辑器。 如果是centos或者redhat系统,当系统安装完毕后,vi/vim 文本编辑器默认情况下就已经被安装了。如果是debian/ubuntu系统下,默认情况下
    vim编辑器是不会被安装的。你需要在ubuntu系统下手动安装vim编辑。
  3. vi/vim文本编辑器是我们在linux系统下工作可以说是必须会使用的一个工具,因为linux系统的设计理念是一切皆文件,也就是说,你在linux里的任何操作都是对文件的操作,所以会经常去
    操作文件,更改文件,保存文件,退出并保存文件。
  4.  
  5. Vim/Vi 没有菜单,只有命令。

  

  1.  

Vim/Vi工作模式

  1. 命令模式:
  2. 进入:vi filename
  3. 退出::wq
  4.  
  5. 插入模式:
  6. i a o
  7. 注意:从插入模式变为命令模式,按ESC
  8.  
  9. 编辑模式:

  10. 命令以回车结束运行
  11. 注意:从编辑模式变为命令模式,按ESC

  

Vim/Vi基本使用

  1. 插入命令
  2.  
  3. 命令 作用
  4. a 在光标后附加文本
  5. A 在本行行末附加文本
  6. i 在光标前插入文本
  7. I 在本行开始插入文本
  8. o 在光标下插入新行
  9. O 在光标上插入新行
  10.  
  11. 定位命令
  12.  
  13. 命令 作用
  14. h 左移一个字符
  15. j 下移一行
  16. k 上移一行
  17. l 下移一个字符
  18. $ 移到行尾
  19. 0 移到行首
  20. H 移至屏幕上端
  21. M 移至屏幕中央
  22. L 移至屏幕下端
  23.  
  24. :set nu 设置行号
  25. :set nonu 取消行号
  26. gg 到第一行
  27. G 到最后一行
  28. nG 到第n
  29. :n 到第n
  30.  
  31. 删除命令
  32. 命令 作用
  33. x 删除光标所在处字符
  34. nx 删除光标所在处后n个字符
  35. dd 删除光标所在行
  36. ndd 删除光标往下n
  37. dG 删除光标所在行末尾的内容
  38. D 删除从光标所在处到行尾
  39. :n1n2d 删除指定范围的行
  40.  
  41. 复制和取消命令
  42. 命令 作用
  43. yyY 复制当前行
  44. nyynY 复制当前行以下n
  45. dd 剪切当前行
  46. ndd 剪切当前行以下n
  47. pP 粘贴在当前光标所在行下或行上
  48.  
  49. 替换和取消命令
  50. 命令 作用
  51. r 取代光标所在处字符
  52. R 从光标所在处开始替换字符,按Esc结束
  53. u 取消上一部操作
  54.  
  55. 搜索和替换
  56. 命令 作用
  57. /string 向前搜索指定字符串 开启搜索时忽略大小写 :set ic 关闭搜索时忽略大小写 :set noic
  58. n 搜索指定字符串的下一个出现位置
  59. :%s/old/new/g 全文替换指定字符串
  60. :n1,n2s/old/new/g 在一定范围内替换指定字符串,后面g意思是在替换时是否确认,c为没有提示
  61. r 取代光标所在处字符
  62. R 从光标所在处开始替换字符,按Esc结束
  63. u 取消上一部操作
  64.  
  65. 保存和退出命令
  66. 命令 作用
  67. :w 保存修改
  68. :w new_filename 另存为指定文件
  69. :wq 保存修改并退出
  70. ZZ 快捷键,保存修改并退出
  71. :q! 不保存修改退出
  72. :wq! 保存修改并退出(文件所有者可忽略文件的只读属性)
  73.  
  74. 注意:对文件可以强行保存退出的只可能是文件所有者或者是root用户

  

Vim/Vi应用技巧

  1. 导入文件:r 文件名
  2. Vi中执行命令:!命令
  3. Vi中导入执行命令的结果r !命令
  4. 定义快捷键:map 快捷键 触发命令
  5. 连续行注释
  6. 替换
  7. 自定义vi使用方式

  

导入文件:r 文件名

可以将其他文件的内容导入到这个编辑的文件中。

在Vi中执行命令:!命令

在Vi中导入执行命令的结果r !命令

 

按一次回车回到编辑文件的界面内

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

  1. 范例:
  2. :map ^P I#<ESC>
    #这个快捷键的作用,按ctrl+p后光标跳到在本行开始位置,写入#,用来加注释。
  3. :map ^B 0x
    #这个快捷键的作用是光标移到行首,删除光标所在处的字符,用来删除注释。
  4. unmap ^p 取消快捷键

  

连续行注释

  1. :n1,n2s/^/#/g
  2. :n1,n2s/#//g
  3. :n1,n2s/^/\/\//g

  

替换

很容易理解,输入一个字符或者字符串,变成另一个字符串。

  1. 定义替换:ab sammail sam@www.com
  2. 取消ab替换的定义:unab sammail

  

自定义vi使用方式

每一个用户都可以定义自己的vi使用方式,配置文件在每个用户的宿主目录下的/.vimrc。

  1. root /root
  2. user /home

  

Linux学习之Vim/Vi使用(十三)的更多相关文章

  1. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

  2. Linux学习笔记之VI(VIM)编辑器

    百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1   进入和退出vi 进入:在终端命令行输入 vi ...

  3. Linux学习笔记:vi常用命令

    在Linux系统中常用vi命令进行文本编辑. vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved), ...

  4. linux/linux学习笔记-vim文本编辑器(mooc)

    vim文本编辑器 vim与vi的区别:( vim=vi +IMproved) VIM是一个Unix以及类unix文本编辑器 特点:功能强大,高度可定制 vim编辑器的三种模式:一般模式.编辑模式和命令 ...

  5. Linux学习,Vim以及Vi常用快捷键

    VIM配置文件路径: /etc/vmrc ===> 系统配置文件路径 ~/.vimrc ===> 当前用户配置文件路径 $VIM ===> 与VIM配置文件相关的变量 进入插入模式: ...

  6. Linux学习之六——使用vi和vim

    一.vi的三种模式和相互切换 1. 一般模式 1) 移动光标 可以用箭头键,Page Up, Page Down, Home,End等按键移动光标 G,移动到档案最后一行 1G,gg,移动到档案第一行 ...

  7. 【Linux学习三】VI/VIM全屏文本编辑器

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...

  8. Linux学习4——Vim和Bash

    一.写在前面  本将将介绍Linux自带的强大的文本编辑器Vim和Bash的相关知识. 二.完成目标 1.了解Vim和Bash的基本概念 2.定制自己的vim 3.Bash中的一些命令 4.管道命令 ...

  9. linux学习之——vim简明教程

    摘自  http://blog.csdn.net/niushuai666/article/details/7275406 ——————————正文开始—————————— 你想以最快的速度学习人类史上 ...

随机推荐

  1. SpringMVC使用HttpInvoker发布远程服务

    参考这篇文章https://www.cnblogs.com/fanqisoft/p/10283156.html 将提供者配置类中的 1 @Bean 2 public HessianServiceExp ...

  2. python 历险记(四)— python 中常用的 json 操作

    目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...

  3. script & scriptreplay

    script是什么 scirpt就是一个命令,可以制作一份记录输出到终端的记录.对于那些想要真实记录终端会话的人来说,这很有用.该记录可以保存并在以后再打印出来. 怎么用 默认情况下,我们可以通过在终 ...

  4. freeRTOS中文实用教程4--资源管理概述

    1.前言 多任务系统中存在一种潜在的风险.当一个任务在使用某个资源的过程中,即还没有完全结束对资源的访问时,便被切出运行态,使得资源处于非一致,不完整的状态 2.并发抢占导致错误的场景 (1)访问外设 ...

  5. nodejs async waterfull 小白向

    async.waterfall([function(callback){var a=3+5;callback(null,a);},function(n,callback) { callback(nul ...

  6. Java中利用Scanner键入的字符串与其他字符串的比较

    利用Scanner获取到键入的字符串与其他字符串作比较时,如果直接用关系运算符 == 比较,得到的结果总是false,因为实际比较的是两个变量引用的内存地址: 而要比较其内容是否相等,可以使用Obje ...

  7. python模块介绍- binascii:二进制和ASCII互转以及其他进制转换

    20.1 binascii:二进制和ASCII互转作用:二进制和ASCII互相转换. Python版本:1.5及以后版本 binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法.通 ...

  8. 通达OA系统故障解决案例记录

    案例1: 现象:在人员访问量大的时候OA系统经卡死,并且经常宕机,需要启动apache服务 优化配置如下: D:\MYOA\conf\http.conf 修改参数如下: <IfModule mp ...

  9. FreeSWITCH IVR中lua调用并执行nodejs代码

    一.功能需求: 通过FreeSWITCH的IVR按键调用相应的脚本文件:nodejs提供很多的模组,可以方便的与其它系统或者进行任何形式的通讯,我的应用是通过nodejs发送http post请求: ...

  10. Springboot分模块开发详解(1):建立父工程

    基础服务,见下: base是父工程,base-entity是实体层,base-dao是DAO层,base-service是业务层,base-controller是WEB控制器层,base-web是页面 ...