linux撤销编辑内容,linux编辑利器vim常用操作
vim文本编辑器:
简介:
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
基本上vi共分为三种模式,分别是『 一般模式 』、『 编辑模式 』与『 指令列命令模式 』。 这三种模式的作用分别是:
一般模式 :
以vi 打开一个档案就直接进入一般模式了(这是预设的模式)。 在这个模式中, 你可以使用『上下左右』按键来移动游标,你可以使用『删除字元』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件资料。
编辑模式 :
在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『 i, I, o, O, a, A, r, R 』等任何一个字母之后才会进入编辑模式。 注意了! 通常在Linux中,按下这些按键时,在画面的左下方会出现『 INSERT或REPLACE 』的字样,此时才可以进行编辑。 而如果要回到一般模式时,则必须要按下『 Esc 』这个按键即可退出编辑模式。
命令模式 :
在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将游标移动到最底下那一行。 在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存档、大量取代字元、离开vi 、显示行号等等的动作则是在此模式中达成的!
打开VIM的方式
# vim [options] [/path/to/somefile]
# vim filename :打开或新建文件,并将光标置于第一行首
# vim +n filename :打开文件,并将光标置于第n行首
# vim + filename :打开文件,并将光标置于最后一行首
# vim +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
# vim -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
# vim filename....filename :打开多个文件,依次进行编辑
next 打开下一个文件;
last 打开最后一个文件;
first 打开第一个文件;
prev 打开前一个文件;
-O : 垂直分割窗口 Ctrl+w --> 光标 左 右跳转文件
-o : 水平分割窗口 Ctrl+w --> 光标 上下 跳转文件
模式转换:
一般模式 --> 编辑模式:
i: insert,实现在当前光标所在处前面转换为输入模式;
a: append,实现在当前光标所在处后面转换为输入模式;
o: 实现在当前光标所在行的下方新建一个空白行并转换为输入模式;
I: 在当前光标所在行的行首转为输入模式;
A: 在当前光标所在行的行尾转为输入模式;
O: 在当前光标所在行的上方新建一行,并转为输入模式;
编辑模式 --> 一般模式:
按下Esc键;
一般模式 --> 命令模式:
键入: / ?
命令模式 --> 一般模式:
Esc,Esc
光标跳转:
字符间跳转
h: 左
l : 右
j : 下
k : 上
#h : 向左侧跳#个字符;
单词间跳转:
w : 后一个单词的词首
e : 跳当前或下一个单词词尾;
b : 跳至当前或前一个单词词首;
句子间跳转:
) : 下一句;
( : 前一句;
段落单跳转:
}: 下一段;
{: 前一段;
行间跳转:
1G,gg :
G:
#G:
行内跳转:
^ : 行首的第一个非空白字符
$,End : 行尾
0,Home : 绝对行首
关闭文件:
在命令模式下:
: w 保存
: q 退出
: ! 强制
: wq 保存退出
: q! 强制退出
: x 保存退出
: qall 退出所有编辑的文本
在一般模式下:
ZZ: 保存退出;
一般模式命令:
x : 删除单个字符
#x :删除#个字符
d: 删除命令
dw: 删除后一个单词
db: 删除前一个单词
de:
d^
d$
dd: 删除光标所在行;
#dd : 删除光标所在行向下#行 例如: 2dd
在命令模式下使用的命令
末行模式地址定界:
起始地址,结束地址
$: 最后一行;
. : 当前行
%: 全文
例:
1,7d : 删除光标所在的第1到第7个行
1,$-2d : 删除除最后两行的所有行
.,+3d : 删除当前行到下面3行
一般模式下撤销操作:
u: vim默认会最近50次的操作,u命令可逐一撤销此前的编辑操作;
撤销此前的撤销:Ctrl+r :
粘贴操作:
p :paste, put
在一般模式下删除的整行:
p: 在当前光标所在行的下方粘贴 ;
P: 在当前光标所在行的上方粘贴 ;
在一般模式下删除的字符:
p:在当前光标所在处字符的后方粘贴 :
P:在当前光标所在处字符的前方粘贴 :
复制:
y: yank
yy
#yy 例如:2yy
y$
y^
在一般模式复制的是整行:
p: 在当前光标所在行的下方粘贴 ;
P: 在当前光标所在行的上方粘贴 ;
在一般模式复制的不是整行:
p:在当前光标所在处字符的后方粘贴 :
P:在当前光标所在处字符的前方粘贴 :
翻屏:
Ctrl+f :向文件尾部翻一屏;
Ctrl+b:向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
文本搜索:
/keyword : 从当前光标所在处向文件尾部查找
?keyword:从当前光标所在处向文件首部查找
n:下一个,跟查找命令相同的方向
N:前一个,跟查找命令相反的方向
模式
/\
vim可视化模式
visval模式
v : 选中光标划过的字符
V : 选中光标划过的行,整行选取
Esc,Esc : 回到编辑模式
同一文档窗口分割:
Ctrl+w,s : 水平分割
Ctrl+w,v : 垂直分割
Ctrl+w, 箭头 : 跳转
q : 退出分割
vim窗口属性定义:
显示行号:
set number, set nu
set nonumber, set nonu
自动缩进
set autoindent, set ai
set noai
不区分字符大小写
set ignorecase, set ic
set noic
获取帮助:
set
显示匹配的括号:
set showwatch, set sm
set nosm
语法着色:
syntax on
syntax off
搜索高亮显示
set hlsearch
set nohlsearch
vim的配置文件:
上述的常用vim可添加到下面配置文件中,每次打开就可以很舒服的操作了
全局:/etc/vimrc
个人:~/.vimrc
查找替换:
:地址定界s/查找模式/替换成的内容/gi
:地址定界s@查找模式@替换成的内容@gi
s后的“/”可以是任意符号,要搜索的内容中没有即可。
g : global 全局
i : ignorecase 忽略大小写
例如:
全文中匹配 锚写d后面任意2个或2个以上字母后面再跟上n 如 daaan dbbn这样的内容 替换为what
: 1,$s/\/what/g
全文中匹配/dev/null 的内容 替换为/tmp/a.txt
方法一 :%s/\/dev\/null/\/tmp\/a.txt/g
方法二 :%s#/dev/null#/tmp/a.txt#g
全文中匹配 d开头后面跟任意两个字母现跟n的字符串 把开头的d 和结尾n替换成大写,例如:down替换为DowN, doon替换为DooN
%@\@D\1N@g
全文中匹配Dev 或DEV 或 dEV 或 dev的字符串后面添加ice ,例如:Device,DEVice,dEVice,device
方法一 :%s/\([dD][eE][Vv\)]/\1ice/g
方法二 :%s@\([dD][eE][Vv\)]@\1ice@g
方法三 :%s@\([dD][eE][Vv\)]@&ice@g
删除行首开头的#:
%s/^#//
删除行首开头的#及后面紧跟的空白字符:
%s@^#[[:space:]]*@@
为空白字符开头的行的行首加上#:
%s@^[[:space:]]@#&@
为当前行至再加9行以空白字符开头的行的行首加上#:
.,+9s@^[[:space:]]@#&@
删除文件中行首的空白符;
%s/^[[:space:]]*//
%s/^[[:space:]]\{1,\}//
替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;
%s/id:3:/id:5:/g
删除某文件中的空白行;
%s/^$//g
删除某文件中的开头的#号;
%s/^#//g
删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;
%s/^#[[:space:]]\{1,\}//g
为指定范围内的行的行首添加#;
1,10s@^@#@g
vim操作图片
linux撤销编辑内容,linux编辑利器vim常用操作相关推荐
- Linux之Vim常用操作
Linux之Vim常用操作 Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑和显示文本文件.Vim没有菜单,只有命令. 一.插入命令 命令 作用 ...
- LINUX查看文件内容命令cat vi/vim more tail head的区别
缘起 用过linux的同学应该都知道,在linux中查看文件内容有好几个命令都可以实现,包括但不限于以下这些 cat vi more tail head 那么这些命令都有什么区别呢?又分别在什么时候用 ...
- 清空linux当前页面内容,linux文档整理
第一单元 #############虚拟机控制####### 1.[kiosk@foundation Desktop]$ rht-vmctl start desktop ##开启desktop ...
- Linux下vim常用操作
vim有三种模式,分别是命令模式.编辑模式和最后行模式 当我们在命令行模式中时是不可以进行文本编辑的,我们可以通过按一下几个字母中的其中一个进入编辑模式 i 插入,也就是在你光标位置的前面进行插入编辑 ...
- linux认证考试内容,Linux认证考试RHCE大纲
下面是由题名考试网计算机小编为您整理发布的Linux认证考试RHCE大纲: RHCE必要的知识点 1.考生必须必须掌握以下基本技能,因为它们是RHCE考试中必考的内容 * use standard c ...
- linux清除文件内容 ,Linux清除文件内容的几种方法
# 清空或删除大文件内容的五种方法: # 法一:通过重定向到 Null 来清空文件内容 $ >test.sh # 法二:使用 'true' 命令重定向来清空文件 $ true > test ...
- VIM 常用操作(转载)
vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个"纯字符"模式下的工具,它的操作和WINDOWS中的文本编辑工具 ...
- vim常用操作技巧与配置
转自:http://os.chinaunix.net/a2006/0706/963/000000963867.shtml vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两 ...
- mac 读linux格式文件内容,linux和mac osx 下查找替换并保存文件的方法
1. 查找deskop.xml 并修改文件 find . -name desktop.xml|xargs sed -i '.bak' 's/$/ /g' 注: -i 参数在 mac 下一定要指定备份 ...
最新文章
- ONNX+TensorRT
- 进程、线程、堆、栈的理解和区别!
- arcgis select by attributes一次选多个_地理工具学习--arcgis篇:单工具学习(2)
- d3.js 教程 模仿echarts折线图
- HDU3183 A Magic Lamp —— 贪心(单调队列优化)/ RMQ / 线段树
- .NET 中 async 和 await
- FPGA内部硬件结构简介
- HTTP协议及URL统一资源定位符详解
- [Buzz.Today]2012.04.29
- 汇编语言基本概念(续13)
- 关于ADO之AddNew,UPdate与Identity列
- android 生成长截图,【UNIAPP截长图】方案之一:滚动截屏 Android
- node2vec python_论文笔记 | node2vec
- revit二次开发概念_半天入门Revit二次开发
- YOLOv3的批量图片检测以及批量输出(windows下)
- selenium滑块拖动验证(携程)
- Golang的基础数据类型
- nginx配置详解及设置代理服务器(1)
- 文件上传绕过姿势整理
- 2.3 放大电路的分析方法