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) 命令 ...
随机推荐
- oracle10g Error in invoking target 'install' of makefile
oracle10g series error error in invoking target 'install' of makefile /u01/app/oracle/oracle/product ...
- flask系列三之Jinja2模板
1.如何渲染模板 模板在‘templates’文件夹下(htnl页面) 从flask中导入render_template函数---渲染html模板 在视图函数中,使用render_template 函 ...
- 关于Bootstrap的整理和理解
随着CSS3和HTML5的流行,我们的WEB页面不仅需要更人性化的设计理念,而且需要更酷的页面特效和用户体验.作为开发者,我们需要了解一些宝贵的CSS UI开源框架资源,它们可以帮助我们更快更好地实现 ...
- WebRTC相关的基础知识点
这里主要用来记录自己整理的和webRTC相关的一些基本的知识点,后续整理的一些基础和零碎的知识点都会更新在这里.内容大部分来自于webRTC官网.w3c以及一些前辈们的博客中的文章和相关书籍等. 20 ...
- linux下FTP使用
如何在linux下开启FTP服务 1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下: #which vsftpd 如果看到有vsftpd的目录说明服务器已经安装了ftp软件 ...
- SonarQube在CentOS上的安装
1 简介 SonarQube 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(例如 Hudson/Jenkins 等 ...
- 25-从零玩转JavaWeb-抽象类
一.抽象类解决什么问题 求三角形,圆,矩形的面积 发现三个类都有共同的方法 ,所以我们可以抽出一个父类, 把他们相同的方法放到父类当中 二.什么是抽象方法 三.什么是抽象类 四.抽象类的特 ...
- Java多线程-线程的调度(让步)
线程的让步含义就是使当前运行着线程让出CPU资源,但是扔给谁不知道,仅仅是让出,线程状态回到可运行状态. 线程的让步使用Thread.yield()方法,yield()为静态方法,功能是暂停当前正在执 ...
- oscache.properties文件配置
1.cache.memory是否使用内存缓存:值为:true或false.默认为true:如设置为false,那cache只能缓存到数据库或硬盘中. 2.cache.capacity缓存的最大数量.默 ...
- spring中二个重要点
spring核心主要两部分: (1)aop: 面向切面编程,扩展功能不是修改源代码实现 (2)ioc: 控制反转