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!” 查看当前系 ...
随机推荐
- 集成CCFlow工作流与GPM的办公系统驰骋CCOA介绍(一)
CCOA是驰骋又一款对外开源的软件.集成了CCFlow(流程设计器.表单设计器)CCIM与GPM(权限系统管理),能够说,CCOA集中了驰骋开源的全部产品.同一时候,CCOA本身也具有一些功能.能够帮 ...
- NHibernate3剖析:Configuration篇之SessionFactory lambda配置
概览 在NHibernate3.0中.SessionFactory的Properties和Cache配置实现了流配置(fluent-configuration)和lambda表达式配置(lambda- ...
- AVL树 & 重平衡概念
AVL树是有平衡条件的二叉搜索树.这个平衡条件必须容易保持,而且需要保证树的深度是O(logN). AVL=BBST 作为二叉搜索树的最后一部分,我们来介绍最为经典的一种平衡二叉搜索树:AVL树.回顾 ...
- Git(一)之基本操作详解
前言 在这段时间的工作中一直都是用Git作为版本控制,只是知道简单的几个命令,没有去了解它的内部原理.所以周末有时间来系统学习. 现在的公司基本上都是用Git作为版本控制,当然也有SVN的. Git是 ...
- .NET 对 XML 进行创建,增加,删除,修改操作整理
前言: 最近做了一个项目,程序A在一个服务器程序B在另一台服务器,然而主程序A需要访问程序B的图片集文件夹下载到本服务器上,为了防止多次对Web Services进行调用,在主程序A中创建一个XML文 ...
- 39.Linux应用调试-strace命令
1.strace简介 strace常用来跟踪进程执行时的系统调用和所接收的信号.通过strace可以知道应用程序打开了哪些文件,以及读写了什么内容,包括消耗的时间以及返回值等 2.安装strace命令 ...
- SourceTree for Mac 破解版
soureTree For mac 破解版下载地址:链接: https://pan.baidu.com/s/1c19kFRi 密码: ai7f
- iOS 判断数组array中是否包含元素a,取出a在array中的下标+数组方法详解
目前找到来4个解决办法,第三个尤为简单方便 NSArray * arr = @["]; //是否包含 "]) { NSInteger index = [arr indexOfObj ...
- iOS tableViewCell 在自定义高度方法中遇到的问题,cell高度为0,cell显示不出来,cell直接显示第几个而不是...cell显示个数不对
遇到以上问题可以看看你的cell高度中是否有,自定的高度,有了继续看,没有了继续百度... 在文字排版中,少不了自适应文字高度,行间距什么的:显然cell的高度时不固定的,如果复用自定义的cell的话 ...
- android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序
一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...