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. Winform开发框架中工作流模块之审批会签操作

    在前面介绍了框架中工作流的几个开发过程,本篇随笔重点介绍一下日常审批环节中的具体处理过程,从开始创建表单,以及各个审批.会签过程的流转过程,希望大家对其中流程的处理有一个大概的印象. 1.请假申请表单 ...

  2. TextMesh Pro 超链接解析失败

    前言 软件环境 Unity3D 5.3.7p4 TextMesh Pro 1.0.555.0b11(Jul 06.2017) UGUI做为UI解决方案 文档资料 TextMesh Pro的资料,可以参 ...

  3. svn协同开发下的dll版本管理最佳实践

    作为一名开发人员,常常碰到的一个问题是,当使用svn签出一份最新代码时,经常不能一次编译通过,导致花费大量时间去解决编译问题,这里碰到的问题一般可以分为三类: 1. 由于提交代码的开发人员失误,忘记提 ...

  4. Targets选项下Other linker flags的设置

    -ObjC:加了这个参数后,链接器就会把静态库中所有的Objective-C类和分类都加载到最后的可执行文件中 -all_load:会让链接器把所有找到的目标文件都加载到可执行文件中,但是千万不要随便 ...

  5. Android项目实战(三十七):Activity管理及BaseActivity的实现

    Ps:7-10月 完成公司两个app项目上架.漏掉的总结 开始慢慢补上. 一.写一个Activity的管理类 1.单例模式,以栈(先进后出)的形式存储Activity对象 public class A ...

  6. sqlserver 存储过程 查询

    --查询 CREATE PROCEDURE [dbo].[SelelctMessage] @strTable varchar(), --要查询的表 @strColum varchar(), --要查询 ...

  7. Linux第四节 组管理、用户管理、权限管理 / chmod /chown / umask / vim

    三期第三讲1.组管理/用户管理(重要文件系统会实时备份 file-) vim/etc/group: 组管理文件://组名:密码控位键:组id:成员 vim/etc/gshadow:组密码管理文件:// ...

  8. Oracle ADG搭建

    Oracle Active Data Guard搭建 一:安装 1.基础环境配置 1.1.开启强制日志记录 DG日志发送方式中ARCH进程和LGWR进程的ASYNC模式都是基于日志同步的,所以我们必须 ...

  9. Python3 实现数据读写分离设计

    前言 首先读写分离可以保证数据库的稳定,简单的说就是当网站访问量大时,读写都在一个库,很有可能会出现脏数据的情况,如果采取阻塞似操作,那么用户体验就会变得更差. 而且目前大多数网站的读写是失衡的,以淘 ...

  10. 轻量级quill富文本编辑器

    因为公司产品需要在移动端编辑文本,所以发现了这个轻量级的好东西,网上也没找到比较好的案例,就自己总结了下,有兴趣的直接复制代码运行看看就知道啦! 下面是quill.js的CDN加速地址: <!- ...