linux学习系列二
vim是由vi发展而来,具有语法高亮显示,多视图编辑,代码折叠,支持插件等功能,vim成为了linux发行版本的标配.
1. vim工作模式
1. 普通模式:实现基本的光标移动和大量的快捷操作
2. 插入模式:实现文本的基本编辑功能
3. 命令模式:输入特定的指令完成特定的功能
默认进入的是普通模式,输入a,A,i,I,o,O都可以进入插入模式,按下esc返回普通模式,在普通模式下按下:进入命令行模式.
2. vim光标操作
所有的快捷方式均在普通模式下使用
h 光标向左移动一行 <--
j 光标向下移动一行 down
k 光标向上移动一行 up
l 光标向右移动一行 -->
gg 移动光标至首行行首
G 移动光标到末尾行首
nG 移动光标至第n行行首
^ 光标移到当前行的首字符
$ 光标移到当前行的尾字符
fx 光标移到下一个x字符处
Fx 光标移到上一个x字符处
w 光标向右移动一个单词
nw 光标向右移动n个单词
b 光标向左移动一个单词
nb 光标向左移动n个单词
3. vim编辑文档
1. 进入插入模式进行操作
2. 普通模式快捷操作
x 删除光标当前字符
dd 删除一行
nd 删除n行
d$ 删除光标至结尾的内容
J 删除换行符,合并为一行
u 撤销上一步操作
rx 将光标当前字符替换为x
yy 复制当前行
p 粘贴至当前杭行后
P 粘贴至当前行前
4. vim查找和替换
1. 输入 /关键词 实现自上而下的查找功能,n跳到下一个,N调到上一个
2.输入 ?关键字 同上
在普通模式输入:进入命令行模式完成替换
:s/root/admin 将光标当前行第一个出现的root替换成admin
:s/root/admin/g 将光标当前行的所有root替换为admin
:3,5 s/sbin/bin/g 将第三行到第五行之间所有的sbin替换为bin
:% s/sbin/bin/g 将所有行的sbin替换成bin
5. vim保存和退出
:q! 不保存退出
:wq 保存并退出
:x 保存并退出
:w 保存
:w b.txt 另存为b.txt
在普通模式输入ZZ实现保存并退出
6. vim小技巧
1. 显示行号
:set number 或者 :set nu
2. 忽略大小写
:set ignorecase
3. 多窗口编辑
:split 打开一个新的窗口
:close 关闭多窗口
:split test.txt 打开的另外一个窗口为test.txt文件
4. 执行shell命令
:!ls 查看当前目录下的内容,执行完之后按 enter返回vim编辑器
5. 自动补齐
ctrl+n 自动补齐以前输过的内容
linux学习系列二的更多相关文章
- Linux学习系列八:操作网口
一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在 ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- Maven学习系列二(1-5)
Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- DocX开源WORD操作组件的学习系列二
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参
[转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...
- RabbitMQ学习系列二-C#代码发送消息
RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 http://www.80iter.com/blog/1437455520862503 上一篇已经讲了Rabbi ...
- Linux学习之二-Linux系统的目录结构
Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...
- Linux学习笔记(二) 文件管理
了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...
随机推荐
- px值转rem值的Sublime Text 3自己主动完毕插件
一个CSS的px值转rem值的Sublime Text 3自己主动完毕插件. 插件效果例如以下: 安装 克隆项目 https://github.com/hyb628/cssrem.git 进入pa ...
- windows 下 Rabbitmq 配置远程访问
1.运行-->CMD 2.定位到Rabbitmq 安装路径下的 sbin目录,执行 :rabbitmq-plugins enable rabbitmq_management 3.登录web控制台 ...
- 使用Percona监控插件监控MySQL
1.使用Percona监控插件监控MySQL yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/per ...
- 值类型,Nullable类型
1. 值类型 比如说int吧,是值类型,是个struct,是这样声明的 public struct Int32 : IComparable, IFormattable, IConvertible, I ...
- web安全之SQL注入--第一章 课程介绍
课程介绍1.什么是SQL注入?2.如何寻找SQL注入漏洞?3.如何进行sql注入攻击?4.如何预防sql注入5.课程总结
- GET,POST
HTTPHTTP(即超文本传输协议)是现代网络中最常见和常用的协议之一,设计它的目的是保证客户机和服务器之间的通信.HTTP 的工作方式是客户端与服务器之间的 “请求-响应” 协议.客户端可以是 We ...
- Miller-Rabin大素数测试模板
根据费马小定理: 对于素数n,a(0<a<n),a^(n-1)=1(mod n) 如果对于一个<n的正整数a,a^(n-1)!=1(mod n),则n必不是素数. 然后就可以随机生成 ...
- 【BZOJ1132】[POI2008]Tro 几何
[BZOJ1132][POI2008]Tro Description 平面上有N个点. 求出所有以这N个点为顶点的三角形的面积和 N<=3000 Input 第一行给出数字N,N在[3,3000 ...
- hive深入使用
Hive表的创建和数据类型 https://cwiki.apache.org/confluence/display/Hive/Home 管理表和外部的区别 # 管理表 1. 内部表也称之为MANAGE ...
- 九度OJ 1356:孩子们的游戏(圆圈中最后剩下的数) (约瑟夫环)
时间限制:10 秒 内存限制:32 兆 特殊判题:否 提交:1333 解决:483 题目描述: 每年六一儿童节,JOBDU都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为JOBDU的资深 ...