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!” 查看当前系 ...
随机推荐
- Simple prefix compression
题目 看懂题目的意思 直接模拟就能够了 好像不用递归就能够了. . 尽管这周学的是递归 还是偷了一些懒 直接模拟 在说这个题目的意思 本来能够写的非常清楚的下标 题目非要把两个字符串的表示方法写的这 ...
- Apriori算法的C++实现
Apriori是经典的购物篮分析算法.该算法用SQL实现难度较大,所以考虑用C++实现. 花了两天,代码例如以下.原创转载请注明出处 //Apriori.c #include<iostream& ...
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
- 「mysql优化专题」详解引擎(InnoDB,MyISAM)的内存优化攻略?(9)
注意:以下都是在MySQL目录下的my.ini文件中改写(技术文). 一.InnoDB内存优化 InnoDB用一块内存区域做I/O缓存池,该缓存池不仅用来缓存InnoDB的索引块,而且也用来缓存Inn ...
- shell编写mysql抽取数据脚本
#!/bin/bash DT=`date +%Y%m%d` #当前日期YESTERDAY=`date -d "yesterday" +%Y-%m-%d` #昨天,用于处理数据的日期 ...
- UILabletext去掉乱码 控制颜色 行高 自定义大小 。显示不同的字体颜色、字体大小、行间距、首行缩进、下划线等属性(NSMutableAttributedString)
text去掉乱码 设置不同颜色 行高 自定义大小 #import <Foundation/Foundation.h> @interface TextsForRow : NSObject @ ...
- bzoj 4538: [Hnoi2016]网络
Description 一个简单的网络系统可以被描述成一棵无根树.每个节点为一个服务器.连接服务器与服务器的数据线则看做一条树边.两个服务器进行数据的交互时,数据会经过连接这两个服务器的路径上的所有服 ...
- [知了堂学习笔记]_用JS制作《飞机大作战》游戏_第1讲(素材查找和界面框架搭建)
一.查找素材: 二.分析游戏界面框架: 登录界面.游戏界面.暂停游戏界面.玩家死亡后弹出界面:并对应的界面包含什么元素: 三.分别搭建以上四个界面: 1.登录界面与游戏界面框架(隐藏游戏界面,四个界面 ...
- tr 命令详解
tr 作用:标准输入中通过替换或删除操作进行字符转换 语法:tr -c -d -s ["string1_to_translate_from"] ["string2_to ...
- JavaScript及jQuery中的各种宽高属性图解
文/poetries(简书作者)原文链接:http://www.jianshu.com/p/60332df38393 著作权归作者所有,转载请联系作者获得授权, 并标注“简书作者”. 作者声明:本 ...