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操作图片

vim_g.jpg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值