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 的简写,用于显 ...
随机推荐
- instantclient_11_2 连接oracle数据
(1)首先你要先下载instantclient (解压如下),修改你 instantclient/network/admin/tnsnames.ora 文件,将你oracle的服务器地址写上 ...
- linux上复制行到另一个文件
1.复制3行到5行数据到ab.sh文件,不覆盖ab.sh文件中的已有内容 :3,5w>>ab.sh 2.复制3行到5行数据到ab.sh文件,覆盖ab.sh文件中的已有内容 :3,5w!ab ...
- iOS ZipArchive文件解压缩
ZipArchive可以用于iOS中文件的解压缩 压缩文件的方法: //将工程中picture添加到左面111.zip压缩文件中 如果崩溃请更换压缩路径 -(void)testZipFile{ //压 ...
- 配置LANMP环境(10)-- 安装memcached与redis
一.安装memcached 1.安装 yum install memcached 2.设置1G内存 memcached -u memcached -p -m -c -d 3.启动与设置开机自启动 sy ...
- ngnix 参考配置
#user nobody; worker_processes ; #error_log logs/error.log; #error_log logs/error.log notice; #error ...
- 【Mac系统 + Python + Django】之开发一个发布会系统【Django视图(二)】
此学习资料是通过虫师的python接口自动化出的书学习而来的,在此说明一下,想学习更多的自动化的同学可以找虫师的博客园,非广告,因为我python+selenium自动化也是跟虫师学的,学习效果很好的 ...
- Mac OS X 安装Ruby
安装CocoaPods第一步 起因:重装系统后需要重新安装CocoaPods网上搜了下发现很多都过时了,已经不能用了.而且taobao Gems源已经停止服务,现在有ruby-china提供服务 PS ...
- <mark>元素----黄色背景
当需要引用其他人的内容,或者想要重点标注一段文本时可以使用<mark>元素.这样浏览器会给<mark>中的文本添加黄色背景. 效果图如下:原文:HTML5 - 使用<m ...
- Java数据结构-线性表之顺序表ArrayList
线性表的顺序存储结构.也称为顺序表.指用一段连续的存储单元依次存储线性表中的数据元素. 依据顺序表的特性,我们用数组来实现顺序表,以下是我通过数组实现的Java版本号的顺序表. package com ...
- json-lib-2.5-jdk.jar 需要依赖的jar包
commons-lang3-3.1.jar commons-lang-2.5.jar ezmorph-1.0.6.jar commons-collections-3.2.1.jar commons-b ...