vim 简单笔记
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 简单笔记的更多相关文章
- vim 使用笔记
vim命令笔记 a 插入 insert 插入 :%!xxd 以16进制方式进行编辑 :%!xxd -r 从16进制还原
- mybatis-config.xml简单笔记
mybatis-config.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
- applicationContext.xml简单笔记
applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <bean ...
- Python学习笔记2-flask-sqlalchemy 简单笔记
flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...
- Android_简单笔记一
入门学习Android的简单笔记(已经安装好了开发环境ADT) 一.关于 AndroidManifest.xml文件 1. android:icon和android:label定义了应用程序安装后显示 ...
- vim实用笔记
vim实用笔记 真是不知不觉过了一年,前段时间忙着考试什么的,没再写笔记写博客,考完又懒懒地玩了几天.这几天其实都在读别人的博客,感受一下大神的工作和生活感悟,感受一下过来人的经历和经验,对自己总 ...
- vim简单的实用总结
vim简单的实用总结 介绍vim常用的四种模式:一般模式,编辑模式,指令列命令模式与可视模式.一,一般模式 用vim filename打开文件后直接进入的就是一般模式,在这个模式下可以用hjkl移 ...
- vim简单使用教程【转】
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...
- vim简单操作命令
vim简单操作命令: 开启编辑:按“i”或者“Insert”键 退出编辑:“Esc”键 退出vim:“:q” 保存vim:“:w” 保存退出vim:“:wq” 不保存退出vim:“:q!” 查看当前系 ...
随机推荐
- myeclipse将java项目转换成web项目,导出war包
1.项目右击属性,勾选以下两项,点击apply,关掉窗体,又一次打开 2.打开assembly,删掉webroot文件夹.把相应的webapp文件夹加入进来 watermark/2/text/aHR0 ...
- 初识homebrew
homebrew是MAC上的一个包管理工具,用于软件安装,非常方便. homebrew安装: 命令行执行: ruby -e "$(curl -fsSL https://raw.githubu ...
- MQTT 设计原则
MQTT 设计原则 简单. 没有杂七杂八的花俏功能,作为一个基础组件构建实用的系统,易于实现. "发布/订阅"消息传递方式. 随时接入随时发布.接收消息,无需太多其他"事 ...
- linux应用态下的时间
1.时间值 1.1 日历时间(UTC) 该值是自1 9 7 0年1月1日0 0 : 0 0 : 0 0以来国际标准时间( U T C)所经过的秒数累计值(早期的手册称 U T C为格林尼治标准时间) ...
- JAVA IO分析三:IO总结&文件分割与合并实例
时间飞逝,马上就要到2018年了,今天我们将要学习的是IO流学习的最后一节,即总结回顾前面所学,并学习一个案例用于前面所学的实际操作,下面我们就开始本节的学习: 一.原理与概念 一.概念流:流动 .流 ...
- 前端模块化:RequireJS(转)
前言 前端模块化能解决什么问题? 模块的版本管理 提高可维护性 -- 通过模块化,可以让每个文件职责单一,非常有利于代码的维护 按需加载 -- 提高显示效率 更好的依赖处理 -- 传统的开发模式,如果 ...
- Mybatis篇总结
本文是对慕课网上"搞定SSM开发"路径的系列课程的总结,详细的项目文档和课程总结放在github上了.点击查看 JDBC写法 //sql: String sql = "s ...
- bzoj 1150: [CTSC2007]数据备份Backup
Description 你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份.然而数据备份的工作是枯燥乏味 的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家 ...
- 细谈最近上线的Vue2.0项目(一)
8月初离职,来到现在的新东家负责一个新的项目.而我最近开发的两个webapp一直都是以Vue为主,这也是这篇文章的由来. 正文前的胡侃&一点点吐槽 在经历了两个公司不同的项目后,发现都存在一个 ...
- DNS 域名系统的简介
一.DNS域名系统简介 1.网络中为了区别各个主机,必须为每台主机分配一个唯一的地址, 这个地址即称为“IP 地址.但这些数字难以记忆, 所以采用“域名” 的方式来取代这些数字. 2.当某台主机要与其 ...