1.前言

    vi/vim是linux中很重要的文本编辑器。我第一次使用这个编辑器时,很不习惯,甚至都不知道如何移动光标和插入字符。慢慢地经过学习,才知道如何使用vi/vim。
    vi/vim的作用是建立、编辑和显示文本文件,在vi/vim中,没有菜单,只有命令。
2.常用命令
    vim有三种工作模式:命令模式、插入模式和编辑模式。一进入vim,默认的是命令模式,即输入的内容,系统全部当成是命令。当编辑模式执行完以后,自动回到命令模式。下面给出一张图,说明这三种模式的切换:
 
 
 
2.1插入模式
  a 在光标后附加文本
  A 在本行行末附加文本
  i 在光标前插入文本
  I 在本行开始插入文本
  o 在光标下插入新行
  O 在光标上插入新行
 
2.2定位命令
  h、方向左键 左移一个字符
  j、方向下键 下移一行
  k、方向上键 上移一行
  l、方向右键 右移一个字符
  $ 移至行尾
  0 移至行首
  H 移至屏幕上端
  M 移至屏幕中央
  L 移至屏幕下端
  :set nu 设置行号
  :set nonu 取消行号
  gg
  G 到第一行
  到最后一行
  nG 到第n行
  :n 到第n行
 
2.3删除命令
  x 删除光标所在处字符
  nx 删除光标所在处后n个字符
  dd 删除光标所在行,ndd删除n行
  dG 删除光标所在行到文件末尾的内容
  D 删除从光标所在处到行尾的内容
  :n1,n2d 删除指定范围的行
 
2.4复制和剪切命令
  yy、Y 复制当前行
  nyy、nY 复制当前行一下n行
  dd 剪切当前行
  ndd 剪切当前行以下n行
  p、P 粘贴在当前光标所在行下或行上 注:在vi中,剪切就是删除之后再粘贴
 
2.5替换和取消命令
  r 取代光标所在处字符
  R 从光标所在处开始替换字符,按Esc结束
  u 取消上一步操作 注:比如改变单个字符,先输入r,再输入需要更改的字符。比如将字符a改成b。这适合用于少量修改时使用
  [Ctrl]+r 重做上一个动作
  这个 u 不 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键。
  .  小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等劢作,按下小数点『.』就好了!
 
2.6搜索和替换命令 
  /word 向光标之下搜索word字符串
  ?word 向光标之上搜索word字符串
  n 搜索指定字符串的下一个出现位置
  N。与n 刚好相反,为『反向』进行前一个搜寻
  搜索时忽略大小写 :set ic
  :%s/old/new/g  全文替换指定字符串
  :n1,n2s/old/new/g  在一定范围内替换指定字符串 注:n是从前往后,N是从后往前找
  set noic是设置大小写敏感
  :n1,n2s/old/new/c    替换时进行询问是否真的替换
 
  ZZ与:wq的作用一样,都是保存退出
  对于readonly文件,如果是root或者改文件所有者,即使该文件没有写权限,使用:wq!也能保存该修改之后的文件。
  仅仅保存但不退出 :w
  另存为  :w /root/file.bak
 
2.7其它命令
  导入文件 :r 文件名
  在vi中执行命令 :! 命令
  定义快捷键 :map 快捷键  触发命令
  范例:  :map  ^P  I#<ESC>         注:^p是这样输入的 ctrl+v+v  --> ^p
       :map  ^B  0x
  连续行注释 :n1,n2s/^/#/g              注:^表示行首
      :n1,n2s/^#//g
      :n1,n2s/^/\/\//g
  替换  :ab huhuimail    huhuics@gmail.com         取消ab命令    :unan huhuimail
  :r !date   在vi中加入命令执行的结果
  快捷键插入邮箱  :map ^e ihuhuics@gmail.com
 
2.8修改用户vim设置
  修改用户vim设置,比如能永久保存快捷键
  vi ~/.vimrc
  缺省这个文件是空的,然后可以写入一些快捷键
 
 
附:vi/vim操作键盘图
 

Linux-vim学习入门的更多相关文章

  1. Linux学习系列之Linux入门(二)Vim学习

    第二篇 Vim学习 主要内容: 基本命令: 插件扩展: 参考资料: vim是一个命令控制的文本编辑器,可以完成几乎我们想要做的所有工作,除了Emacs几乎没有其他的工具能和它匹敌.官方网站是:http ...

  2. Linux内核学习笔记-1.简介和入门

    原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  3. Linux之Vim学习

    Linux之Vim学习 一般模式 光标移动 按键 作用 j或down方向键 向下移动一个字符 k或up方向键 向上移动一个字符 h或left方向键 向左移动一个字符 l或right方向键 向右移动一个 ...

  4. Linux学习入门-------------------------VMvare与镜像的安装与配置

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_39038465/article/d ...

  5. 别出心裁的Linux命令学习法

    别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...

  6. Linux 第一次学习笔记

    一.Linux 为何物 Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Max OS ,至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有 ...

  7. 关于Linux内核学习的误区以及相关书籍介绍

    http://www.hzlitai.com.cn/article/ARM9-article/system/1605.html 写给Linux内核新手-关于Linux内核学习的误区 先说句正经的:其实 ...

  8. vim学习、各类插件配置与安装

    vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...

  9. vim学习、各类插件配置与安装【转】

    转自:https://www.cnblogs.com/forest-wow/p/6916531.html 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶 ...

  10. linux编程学习

    linux编程学习 工具篇 “公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习 C 语言编程常常用到的软件和工具. (一)操作系 ...

随机推荐

  1. 从输入url到页面加载完成发生了什么?——前端角度

    这是一道经典的面试题,这道面试题不光前端面试会问到,后端面试也会被问到.这道题没有一个标准的答案,它涉及很多的知识点,面试官会通过这道题了解你对哪一方面的知识比较擅长,然后继续追问看看你的掌握程度.当 ...

  2. SSM项目整合基本步骤

    SSM项目整合 1.基本概念 1.1.Spring Spring 是一个开源框架, Spring 是于 2003  年兴起的一个轻量级的 Java  开发框架,由 Rod Johnson  在其著作  ...

  3. SPOJ-ANTP [组合数学]

    tags:[组合][预处理]题解:关于方程A+C+B=X的正整数解组数.我们用插板法可知,解的组数=在(X-1)个元素中选择两个元素的方案数故答案为:C(x-1,2)+C(x,2)+C(x+1,2)+ ...

  4. 手机自动化测试:Appium源码之api(1)

    手机自动化测试:Appium源码之api(1)   AppiumDriver getAppStrings() 默认系统语言对应的Strings.xml文件内的数据. driver.getAppStri ...

  5. ksum问题

    2sum: Given an array of integers, return indices of the two numbers such that they add up to a speci ...

  6. 1.XML规范

    1.1 XML命名规范 XML 元素必须遵循以下命名规则: • 名称可以含字母.数字以及其他的字符 • 名称不能以数字或者标点符号开始 • 名称不能以字符“xml”(或者XML.Xml)开始 • 名称 ...

  7. AngularJS1.X学习笔记6-控制器和作用域

    经过一番艰苦卓绝的鏖战,我终于来到了控制器和作用域部分.控制器作为MVC的C,其重要性不可谓不重要:作用域决定了你可以拿到哪些东西,亦是分外重要.现在就来学习一下两个东西.去看看$apply,$wat ...

  8. 震荡信号Simulink仿真

    1. simulink仿真设计 震荡信号本质是调制信号,可以表示为: u(t)=A*(1+m*cos(Ωt+θ))*cos(ωt+φ)=A*cos (ωt+φ)+ A*m*cos(Ωt+θ)*cos( ...

  9. 解决移动端click点击问题

    下载地址:https://github.com/ftlabs/fastclick 1,为什么移动端点击会有300ms的延迟呢? 从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 3 ...

  10. win8.1启用ahci后蓝屏

    先简单介绍一下,本应该win7开始,系统安装的时候默认就启用了ahci硬盘模式.但是博主犯了傻,装了win8.1后安装win XP形成双系统.xp并不支持ahci模式,所以将硬盘模式改成了IDE模式, ...