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. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 Excel Services中新功能

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序  Excel Services中新功能         从S ...

  2. Django项目实践4 - Django网站管理(后台管理员)

    http://blog.csdn.net/pipisorry/article/details/45079751 上篇:Django项目实践3 - Django模型 Introduction 对于某一类 ...

  3. 八.利用springAMQP实现异步消息队列的日志管理

    经过前段时间的学习和铺垫,已经对spring amqp有了大概的了解.俗话说学以致用,今天就利用springAMQP来完成一个日志管理模块.大概的需求是这样的:系统中有很多地方需要记录操作日志,比如登 ...

  4. 安装卸载selenium

    安装: C:\Users\xiongjiawei>pip install selenium==2.48.0 Collecting selenium==2.48.0 Retrying (Retry ...

  5. 使用parcel替代webpack制作omi-tap插件

    Parcel 是一个零配置的网络应用打包工具, 适用于经验不同的开发者, 它利用多核处理提供了极快的速度.对比 webpack 最大的两个亮点: 零配置 极快速 omi 相关的插件都是基于 webpa ...

  6. Data Base mongodb driver2.5环境注意事项

    mongodb driver2.5环境注意事项 一.问题: 如果使用vs2012开发就会报这个错误: 未能加载文件或程序集“System.Runtime.InteropServices.Runtime ...

  7. Java I/O---Reader & Writer(字符流)

    1.Reader & Writer 当我们初次看见Reader和Writer类时,可能会以为这是两个用来替代InputStream和OutputStreamt的类,但实际上并非如此. 尽管一些 ...

  8. Hibernate问题浅析

      1.什么是SessionFactory?什么是Session?httpsession和hibernate的session的有什么区别?     SessionFactory接口负责初始化Hiber ...

  9. MySQL MVCC机制

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/68 行结构 每一行额外包含三个隐藏字段: DB_TRX_ID:事 ...

  10. [置顶] bootstrap自定义样式-bootstrap侧边导航栏的实现

    前言 bootstrap自带的响应式导航栏是向下滑动的,有时满足不了个性化的需求,需要做一个类似于android drawerLayout 侧滑的菜单,这就是我要实现的bootstrap自定义侧滑菜单 ...