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 的简写,用于显 ...
随机推荐
- angularjs中的路由介绍详解 ui-route
这篇文章主要介绍了Angularjs中UI Router全攻略,涉及到angularjs ui router的基本用法,需要的朋友参考下吧 首先给大家介绍angular-ui-router的基本用 ...
- 170621 - Android ADB forward端口映射和reverse反向代理 使用笔记
个人理解 forward:端口映射 将本地PC指定Port端口,映射到设备手机指定Port端口上.以便解决 PC -> Phone 的访问问题PC 作为Client客户端 可以任意访问 Phon ...
- SpringBoot项目的云服务器部署
1.场景还原 springboot配置相当简单,人人皆知.怎么把springboot工程部署到云服务器上呢?可能有人会说,博主你前篇不是讲了java工程的云部署把:但是我想澄清一点的是,我前篇的工程都 ...
- Nginx 配置指令的执行顺序
在一个 location 中使用 content 阶段指令时,通常情况下就是对应的 Nginx 模块注册该 location 中的“内容处理程序”.那么当一个 location 中未使用任何 cont ...
- php跨域共享session
. $gb_DBHOSTname = "127.0.0.1"; //主机的名称或是IP地址 02 $gb_DBname = "dbname"; //数据库名称 ...
- Live555 中的客户端openRTSP 保存H264文件
http://amitapba.blog.163.com/blog/static/20361020720140189239762/ http://amitapba.blog.163.com/blog/ ...
- hihoCoder#1037 : 数字三角形(DP)
[题目链接]:click here~~ 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 问题描写叙述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他 ...
- Django模板系统(非常详细)(后台数据如何展示在前台)
前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的这会导致几个问题:1,显然,任何页面的改动会牵扯到Python代码的改动网站的设计改动会比Python代码改动更频 ...
- phpcms的基础知识和配置
一.设置界面 1.站点设置:相当于服务器上的站点 (1)站点修改:“关键词”和“描述”的修改,便于网络优化和搜索引擎对本网站的搜索. (2)点击站点后边的修改,模板的修改,引用自己模板 2.基本设置: ...
- Delphi Property详解
http://anony3721.blog.163.com/blog/static/51197420107105132120/?ignoreua Property Keyword Defines co ...