linux操作之文本编辑器
1、文本编辑器的作用
编辑和修改系统中的那些以文本形式存在的文件(特别是各种配置文件),也可以用于 编写程序代码
2、linux下的常见编辑器
nano、Emacs、gedit、vim等
3、vim三种模式下的工作
命令模式:文件内容的浏览、光标移动、删除、复制、粘贴、查找
输入模式:输入和编辑内容
末行模式:字符串的替换、文件的保存、另存,vim编辑环境的退出
4、命令模式下的基本操作
(1)查看操作
单词跳转:
w:跳转到后一个单词的词首
b:跳转到前一个单词的词首
e:跳转到后一个单词的词尾
行内跳转:
^:跳转到当前行的第一个非空字符上
0:跳转到当前行的绝对行首
$:跳转到光标所在行的行尾
行间跳转:
1G或gg:定位到第一行
G:定位到最后一行
12G:定位到第十二行
:set nu :显示行号
:set nonu:去掉行号
小技巧: :行号 可以快速跳转到指定行
翻屏:
向前翻一屏(page down 或 ctrl + f)
向后翻一屏(page p 或ctrl + b)
(2)复制、粘贴和删除类操作
删除操作:
x:删除光标所在位置的一个字符
5x:删除光标所在位置以及后面的一共5个字符
d^:删除光标位置一直到行首(光标所在位置的字符保留)
d$:删除光标位置一直到行尾(光标位置字符不保留)
dd:删除光标所在行
cc:删除光标所在行并转到输入模式
4dd:删除广光标所在行以及以下一共四行
4cc:删除光标所在行以及以下一共四行,并转到输入模式
d1G:删除光标所在行到第一行的所有内容(光标所在行删除)
dG:删除光标所在行到最后一行的全部内容(光标所在行删除)
备注:dd和cc还可以用于剪切操作
小技巧:
:行号 d 删除指定行
:起始行号,终止行号 d 删除指定范围的行 例如(:1,8d)
复制操作:
yy:复制光标所在行
4yy:复制光标所在行以及以下一共4行
粘贴操作:
p(小写):粘贴复制内容到光标所在行的下面
P(大写):粘贴复制内容到光标所在行的上面
区块选择:
v(小写):按字符选择,光标经过的地方反白选择
V(大写):按行选择,光标经过的地方反白选择
ctrl+v:区块选择,可以按照长方形的方式选择
y:将反白部分复制
d:将反白部分删除
p:将复制内容粘贴到光标后面
(3)文件内容查找类操作
/要找的字符串 (从上往下查找) eg:/name 查找当前文件的name字符串
? 从下往上找
n 切换到下一个匹配的字符串
N 切换到上一个匹配的字符串
(4)撤销和保存退出类操作
u:撤销上一次的编辑操作(可无穷次撤销,类似于word里面的ctrl+z)
ctrl+r:撤销上一次撤销的东西
. :重复上一次的操作
ZZ(大写):保存并退出
5、末行模式下的操作
(1)文件的保存和退出类操作
:w 保存当前文档
:w 文件名 将当前编辑的内容保存到另外一个新的文件里
:wq 保存当前文件并退出vim编辑环境
:q 退出vim编辑环境
:q! 强制不保存就退出
:wq! 强制保存退出
(2)打开和读入文件类操作
:e 文件名 将一个新的文件打开并编辑
:e! 放弃对当前文件的已经编辑的内容
:r 文件名 将一个新的文件的内容读到当前正在编辑的文件的尾部
(3)文件内容替换类操作
:s /老内容/新内容 eg:/boy/girl 将光标所在行的第一个boy换成girl
:s /boy/girl/g 将光标所在行的所有boy换成girl
:5,8 s /boy/girl/g 将5~8行的所有boy换成girl
:% s /boy/girl 将文件中每行第一个boy换成girl
:% s /boy/girl/g 将文件中所有boy换成girl
小技巧:
1、多文件操作
:files 显示正在编辑的多个文件的信息
:n 切换到下一个文档
:N 切换到上一个文档
:first 切换到第一个文档
:last 切换到最后一个文档
2、多窗口操作
vim -o 文件1 文件2 上下拆分
vim -O 文件1 文件2 左右拆分
对一个文件进行拆分
ctrl+w+s 上下拆分
ctrl+w+v 左右拆分
ctrl+w+arrow 多窗口切换(arrow表示方向键)
linux操作之文本编辑器的更多相关文章
- Linux常用命令——文本编辑器Vim
Linux常用命令--文本编辑器Vim Linux Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...
- Linux vi 命令 – 文本编辑器
vi命令是linux系统字符界面下的最常用的文本编辑器. vi编辑器是所有linux的标准编辑器,用于编辑任何ASCⅡ文本,对于编辑源程序尤其有用.iv编辑器功能非常强大,可以对文本进行创建,查找,替 ...
- Linux中vim文本编辑器的介绍和使用方法
vim主要模式介绍,vim命令模式. 确保系统已经安装了VIM工具 [root@panda ~]# rpm -qf `which vim` [root@panda ~]# rpm -qf `which ...
- linux 学习5 文本编辑器 vim
vim 没有菜单,只有命令 //root用户既可以用vi,也可以用vim, 无实质性区别,vim是vi的升级版//粘贴用shift+insert , 要在insert模式下粘贴,否则粘贴不全// ^ ...
- linux下Vim文本编辑器的常用快捷键
Linux插入命令 a 在光标之后插入字符 A 把光标移动到行首尾进入插入模式 i 在光标之前插入字符 I 把光标移动到行首并进入插入模式 o 在光标下插入新行 O 在光标上插入新行 Linux定位 ...
- linux vi vim文本编辑器
vim是vi的加强版,建议使用vim. vim拥有三种模式: 命令模式(常规模式) vim启动后,默认进入命令模式,任何模式都可以通过esc键来回到命令模式.命令模式可以通过键入不同的命令来完成选择, ...
- linux下的文本编辑器VI的使用命令
1. 移动光标 H #移到屏幕的左上角 M #移到屏幕的中间行开头 L #移到屏幕的最后一行 [ #移到文件开始位置 (双击) ] #移到文件结束位置(双击) :n #移到文件的第n行 Ctrl + ...
- Linux命令(文本编辑器)
vi和vim编辑器:有插入模式,一般模式,地行模式 一班模式通过(i.a.o.I.A.O)键--->进入插入模式 插入模式(按Esc键退出)---->j进入一班模式 ...
- Linux之vi文本编辑器
vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).输入模式(Insert mode)和末行模式(last line mode),各模式的功能区分如下: 1) 命令 ...
随机推荐
- JQUEY 引用
$(document).ready(function(){ alert($("a:first").attr("id")); });
- [原创]Spring boot 框架构建jsp web应用
说明 Spring boot支持将web项目打包成一个可执行的jar包,内嵌tomcat服务器,独立部署 为支持jsp,则必须将项目打包为war包 pom.xml中设置打包方式 <packagi ...
- Spring Cloud Zuul 2(基于配置中心的动态API网关)
在大体了解了API Zuul 和 配置中心Config后我们来尝试完成一个基于配置中心的动态API网关 创建项目 命名为api-gateway-dynamic-route并加入config 和 Zuu ...
- Scala语言简介和开发环境配置
Scala语言的简介和开发环境搭建 Scala是一门结合了面向对象特征和函数式编程特征的语言,它是一个创新的编程语言产品.Scala可以做脚本(就像shell脚本一样),可以做服务端编程语言,可以写数 ...
- Collision Detection
[Collision Detection] Collision Detection是Rigidbody中的一个属性.所以显然Collision Detection指定的类型只在Rigidbody之间才 ...
- 关于SO_LINGER选项的使用
结论: linux开启SO_LINGER时,如果设置l_linger为非0, 不管是阻塞socket,非阻塞socket, 在这里都会发生阻塞, 而并不是UNP所讲到的( 非阻塞socket会立即返回 ...
- 11-vector的使用
C++ vector用法(详解!!函数,实现) 原创 2016年09月30日 01:13:40 7862 1,简述一下vector的基本操作,它的size,capacity(),clear,rever ...
- SqlServer-geography && Spatial result
说起geography(地理)这个类型,我感觉好陌生,以前真的没有见过,今天在查询某个Address表的时候,却发现了新大陆——Spatial result(空间的结果). (1)表的结构 (2)查询 ...
- 5.WHERE 子句
WHERE 子句用于规定选择的标准. WHERE 子句 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句. 语法 SELECT 列名称 FROM 表名称 WHERE 列 运 ...
- Python基础 之 int、bool、str、列表、元组、字典
数据类型 数据类型划分:可变数据类型 不可变数据类型 不可变数据类型:元组.bool.int (本身不可更改).str (可哈希) 可变数据类型:列表list.字典dict .集 ...