1. vi和vim的关系:

vim是vi发展而来的。

  2.vim的三种模式:

    1>.命令模式 -- 打开文件后,默认进入命令模式。

    2>.编辑模式 -- 需要输入一些命令,切换到编辑模式。

    3>.末行模式 -- 在末行模式下可以输入一些命令。

  3.模式间的转换:

  

  4.vim的一些操作:

    1>.光标的移动:

      光标的移动出了方向键盘外,还有H  J  K  L   分别对应左  下  上  右。

移动到行首:0

移动到行未:$ (要英文输入法)

移动到改文本的首部:gg

尾部:G

指定行数:行数+G

2>.字符的删除:

光标前的字符:x(小写)

光标后的字符:X

单词:dw(光标移动到单词开始的位置,否则只能删除一部分)

所在行光标前所有字符:d0

所在行光标后所有字符:d$

所在行:dd

指定行数:行数+dd

3>.撤销:

撤销操作:u

反撤销:ctrl + u

(vim永久的显示行数的设置方法:sudo vim /etc/vim/vimrc

              在文本末尾添加:set number

              保存退出,再打开就有行号了)

4>.复制粘贴:

在vim中,删除其实并不是真正的删除了,而是剪切。

复制:yy

粘贴:p (在光标下一行粘贴)P(在光标上一行粘贴)

复制多行:行数 + yy

剪切 == 删除

5>.可视模式: v

可视模式下,光标移动过的字符表示选中,可进行相应的操作,复制:y, 删除:d, 粘贴:p。

6>.在命令模式下查找:

输入  /+查找内容

或  ?+查找内容

#  把光标放到需要查找的档次上,输入#开始查找该单词。

在查找后,输入n进行向下查找,输入N进行向上查找。

缩进:<< 或 >>

7>.插入:a  A  i  I  o  O  s  S

a:光标后开始输入。

A:从光标所在行的行尾开始输入。

i:光标前开始输入。

I:从光标所在行首开始输入。

o:在光标所在行的上一行开辟新一行开始输入。

O:在光标所在行的下一行开辟新一行开始输入。

s:删除光标后的字符开始输入。

S:删除光标所在行后开始输入。

8>.末行模式下的操作:在命令模式下输入:进入末行模式。

  下面描述中,tom是被替换的字符串,而jack是替换后的字符串,即将tom替换成jack

  查找替换:  :s/tom/jack/g

         :s/tom/jack

    其中有g的是表示光标所在行所有的tom都替换成jack,而没有g的表示替换光标所在行的第一个tom。

         :%s/tom/jack/g

         :%s/tom/jack

    %表示替换文件中所有的tom,g的作用同上。

         :n,ms/tom/jack/g

    n和m表示替换从n行到m行中的tom,g的作用同上。

最新文章

  1. mysql的配置文件my.cnf
  2. Merge Intervals
  3. PHP 一个可以过滤非法脚本的函数
  4. LINUX下安装PHP(CGI模式)和NGINX[转]
  5. Jump的计划
  6. VB6.0数据库开发五个实例——罗列的总结
  7. ACE_Get_Opt解析命令行
  8. Oculus关于Internal Error:OVR53225466报错解决方法
  9. Mybatis【一对多、多对一、多对多】知识要点
  10. linux下svn(subversion)服务端添加工程及配置权限
  11. Java 8中Stream API学习笔记
  12. c/c++ socket API 调用后的错误判断 perror errno
  13. hadoop解决Could not locate executable null\bin\winutils.exe in the Hadoop binaries.问题
  14. Go 基础 坑
  15. odoo开发笔记--开启后台日志记录
  16. http之理解304
  17. spring boot log4j2配置
  18. 教程] 《开源框架-Afinal》之FinalHttp 01一步一脚
  19. python面向对象之 类的关系
  20. JAVA 泛型的参数的传递示意图

热门文章

  1. lintcode 程序题
  2. 第4次作业 -- 基于Jenkins的持续集成
  3. 解决wso2 axis2server 跑不起
  4. 以太坊Bootstrap和Kademlia算法实现逻辑简介(基于cpp-ethereum)
  5. Thread线程join方法自我理解
  6. SQLZOO网页中SQL的答案(SELECT from nobel篇)
  7. 《多线程操作之生产者消费者》(单生产单消费&amp;多生产多消费)
  8. Vue框架是什么,有什么特点,怎么用
  9. javap反汇编的使用
  10. 马凯军201771010116《面向对象与程序设计Java》第十一周学习总结