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) 命令 ...
随机推荐
- Valid timeZone Values(转)
https://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/timezone.html Valid time ...
- MySQL5.7 在CentOS 下的安装
尝试了在版本的CentOS6.6 和CentOS7.2 下安装,在6.6下比较复杂些.特地做下记录 在CentOS7.2 下安装,需要在官网下载 mysql-5.7.16-1.el7.x86_64.r ...
- Python代码的编译
Python代码的编译 Python代码在解释执行之前,是会被编译成.pyc或者.pyo文件的,它们是中间字节码表示的文件,之后Python虚拟机才会去解释执行它们. 1.pyc文件 ======== ...
- OSCache安装
OSCache是一个基于web应用的组件,他的安装工作主要是对web应用进行配置,大概的步骤如下: 1. 下载.解压缩OSCachehttps://java.net/downloads/oscache ...
- 安装sshpass:No package sshpass available
安装sshpass的时候,报了如下错误: No Package sshpass available 更改软件源之后也无效.直到看到StackOverFlow上的一个问题:https://stackov ...
- Oracle 中 over() 函数
:first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { border: 0; m ...
- Android4.0+锁屏程序开发——设置锁屏页面篇
[如何开发一个锁屏应用] 想要开发一个锁屏应用,似乎很难,其实并没有想象中那么难. 从本质上来说,锁屏界面也只是一个Activity而已,只是这个界面比较特殊,在我们点亮屏幕的时候,这个界面就会出现. ...
- volatile和 锁的区别
Volatile: 当把变量声明为volatile类型后,编译器和运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其它内存操作一起重排序.volatile变量不会被缓存在寄存器或者对其他处 ...
- 由于挂载的nfs存储目录掉下线,导致创建VM时,无法创建
具体错误,如下截图 重新挂载存储后,在创建VM,将成功
- java类中final方法的作用
不给子类复写这个方法.说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用 inline扩展 ...