vim编辑器Linux系统常用的一种编辑器  有三种模式   命令模式;插入模式;编辑模式

1 插入模式的基本操作:

从命令模式切入到插入模式只需要注意有三个字母aio就可以了  a是在当前光标后插入字符,i是光标前插入,o是光标所在行的下一行插入

A是光标所在行的行末插入   I是光标所在行行首插入 O 是光标所在行上一行插入

2 编辑模式下的基本操作:

从命令模式切入到编辑模式是直接在命令模式下输入冒号即进入编辑模式:在编辑模式下的操作一般有:

:set nu #显示行号

:/关键字符#在整个文件中搜索关键字符

:% s/aa/bb/g  #将文件中所有的aa字符替换成bb字符不需要询问

:0,$ s/aa/bb/g#从第一行到最后一行所有aa字符替换成bb字符不许要询问

:23 #锁定到文本的第23行

3 命令模式下的基本操作:

用vim打开文件时就已经处于命令模式下,从其他两中模式切换到命令模式只需要按ESC键即可

0 切换到当前行的行首

$ 切换到当前行的行末

gg 切换到文本的首行

G 切换到末行

x 删除光表所在字符

dd 删除光标所在行

ndd 删除光标所在行,以及从该行开始往下数的n行内所有内容

复制和剪切

nyy+p  复制   ndd+p 剪切

——————————————————————————————————————我是分割线

对我来说用的较少的技巧:

在vim使用的过程当中将某个文件直接导入到当前文件内

:r /root/Desktop/passwd  #将桌面上的passwd文件直接导入到当前正在编辑的文件内

在vim编辑的过程当中执行某个命令

:!chmod 777 /root/Desktop/passwd  #在vim编辑过程中执行修改passwd文件权限的命令

命令的执行和文件的导入可以结合使用

例如:r ! which chmod  #将which chmod这条命令执行的结果导入到文本中

r ! cat /root/Desktop/passwd #输出passwd文件的内容并且将输出的结果导入到当前文本中

一般在编写脚本的时候写入最后的编写时间用起来很方便。  : r ! date   #将系统当前的时间输入到文本中。

在vim编辑器中有的操作还是很繁琐的,如果能够将这些操作集成设置成快捷键,会让你大大提高文本编辑的效率

例如:在很多linux的配置文件中有很多的注释行都是以#开头,我们在修改某些配置文件的时候需要注释掉某些行来做检测

快捷键设置如下:

:map ctrl+v+p I#<Esc>      #注意,使用快捷键是ctrl+p命令,代表的含义是从命令模式切换到插入模式,并且是当前行的行首插入#这个字符

注意在设置快捷键时,都要用到ctrl+v命令,原因是这应该是进入另一个模式的命令,

需要注意的是,设置的快捷键如果没有被保存在用户家目录下的.vimrc文件中,下一次开机启动将会失效。例如是root用户就将快捷键设置的命令写在

/root/.vimrc文件下,不同的用户需要写在不同的用户的家目录下,这样用户在使用时才会对应相应的快捷键

替换命令 r 和R

r +字符A # 将光标处的字符替换成字符A

R+字符ANLKJLK# 将光表所在字符往后逐个字符替换成ANLKJLK按Esc结束。

ab快捷替换命令

例如在编辑模式下 输入ab hello hello the world

输入这一行之后,以后在每一次文中输入hello这个字符时,vim编辑器会自动替换成hello the world.

以上是一些基本操作,多使用就可以熟练啦

vim 简单笔记的更多相关文章

  1. vim 使用笔记

    vim命令笔记 a 插入 insert 插入 :%!xxd 以16进制方式进行编辑 :%!xxd -r 从16进制还原

  2. mybatis-config.xml简单笔记

    mybatis-config.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  3. applicationContext.xml简单笔记

    applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <bean ...

  4. Python学习笔记2-flask-sqlalchemy 简单笔记

    flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...

  5. Android_简单笔记一

    入门学习Android的简单笔记(已经安装好了开发环境ADT) 一.关于 AndroidManifest.xml文件 1. android:icon和android:label定义了应用程序安装后显示 ...

  6. vim实用笔记

    vim实用笔记   真是不知不觉过了一年,前段时间忙着考试什么的,没再写笔记写博客,考完又懒懒地玩了几天.这几天其实都在读别人的博客,感受一下大神的工作和生活感悟,感受一下过来人的经历和经验,对自己总 ...

  7. vim简单的实用总结

    vim简单的实用总结 介绍vim常用的四种模式:一般模式,编辑模式,指令列命令模式与可视模式.一,一般模式   用vim filename打开文件后直接进入的就是一般模式,在这个模式下可以用hjkl移 ...

  8. vim简单使用教程【转】

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  9. vim简单操作命令

    vim简单操作命令: 开启编辑:按“i”或者“Insert”键 退出编辑:“Esc”键 退出vim:“:q” 保存vim:“:w” 保存退出vim:“:wq” 不保存退出vim:“:q!” 查看当前系 ...

随机推荐

  1. 导出Excel1 - 项目分解篇

    我们在全部的MIS系统(信息管理系统)中都能见到他.所以我们把这个通用功能提出来. 项目名称:车辆信息管理系统(中石化石炼) 项目负责人:xiaobin 项目时间:2006.12 - 2007.2 E ...

  2. POJ3621 Sightseeing Cows(最优比率环)

    题目链接:id=3621">http://poj.org/problem?id=3621 在一个有向图中选一个环,使得环上的点权和除以边权和最大.求这个比值. 经典的分数规划问题,我认 ...

  3. 《Android源代码设计模式解析与实战》读书笔记(十四)

    第十四章.迭代器模式 迭代器模式,又叫做游标模式.是行为型设计模式之中的一个.我们知道对容器对象的訪问必定会涉及遍历算法.我们能够将遍历的方法封装在容器中,或者不提供遍历方法,让使用容器的人自己去实现 ...

  4. ABP 框架启程

    准备动手写一套电商的系统,辗转收集了不少相关的开源项目,最后决定使用ABP作为起点. 在园子里好多人都在推广ABP.有个园友做了一个集合贴,方便大家使用  ABP集合贴 建议大家优先看 HK Zhan ...

  5. 自学Zabbix3.6.3-触发器triggers expression表达式

    触发器中的表达式使用很灵活,我们可以创建一个复杂的逻辑测试监控,触发器表达式形式如下: 1 {<server>:<key>.<function>(<param ...

  6. Html 段落自动换行

    1.段落换行 在 Html 中,关于段落换行,是我们经常遇见的问题,那么正如我下图没加换行代码所示: 在网页上的显示的样式,是这样的: 你可以看见,原本的样式,不会自动换行.在 div 中,加入一个样 ...

  7. Struts配置详解

    一.Stuts的元素 1 web.xml 任何一个web应用程序都是基于请求响应模式进行构建的,所以无论采用哪种MVC框架,都离不开web.xml文件的配置.换句话说,web.xml并不是Struts ...

  8. 转:iOS开发之多种Cell高度自适应实现方案的UI流畅度分析

    本篇博客的主题是关于UI操作流畅度优化的一篇博客,我们以TableView中填充多个根据内容自适应高度的Cell来作为本篇博客的使用场景.当然Cell高度的自适应网上的解决方案是铺天盖地呢,今天我们的 ...

  9. iOS cocos2d游戏引擎的了解之一

    ios游戏引擎之Cocos2d(一) cocos2d是一个免费开源的ios游戏开发引擎,并且完全采用object-c进行编写,这对于已经用惯object-c进行ios应用开发的童鞋来说非常容易上手.这 ...

  10. ToolStrip和MenuStrip控件簡介及常用屬性(转)

    ToolStrip和MenuStrip實際上是相同的控件,因為MenuStrip直接派生於ToolStrip.也就是說ToolStrip可以做的工作,MenuStrip也能完成. ToolStrip( ...