失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux文本编辑器-vi/vim

Linux文本编辑器-vi/vim

时间:2020-02-26 16:39:34

相关推荐

Linux文本编辑器-vi/vim

vi是Linux命令行界面下的文字编辑器,vim是vi的增强版(Vi IMproved),完全兼容

可以理解成普通的txt文本与word文档之间的差距。

注:还有一款全屏编辑器是nano,可以了解下

【vim的三种模式】

普通模式,编辑模式,命令模式

1.普通模式

使用vim命令打开文件,只能使用上下左右键移动光标,并且操作复制,粘贴,删除等之类的工作

2.编辑模式

普通模式下不能对文件内容进行编辑,只有按下“i,I,o,O,a,A,r,R,s,S”,等字母,进入编辑模式之后才可以执行录入文字

编辑模式有一个插入的标记在屏幕的最下方

3.命令模式

在普通模式下,输入“:/ ?”时,光标会自动定位在那一行,此模式中可以执行保存,退出,搜索,替换,显示行号等相关操作

vim [OPTION]...FILE...

如果文件存在,则打开它,如果不存在,则打开一个新的文件,如果存盘则创建文件,不存盘则不创建文件

【vim打开文件进行快速定位】

+#:打开文件后,直接让光标处鱼第#行的行首

+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配当的行的行首

vim +11 /etc/passwd

-b:二进制方式打开文件

-d:比较多个文件的差异

-m:只读打开文件

ex file 或 vim -e:直接进入ex模式

【模式转换】

普通模式 ----> 插入模式

i:insert,在光标所在处输入

I:在光标所在行的行首输入

a:在光标所在处的后一个字符输入

A:在光标所在行的行尾输入

o:在当前光标所在行的下一行新开一行 open

O:在当前光标所在行的上一行新开一行

字符间跳转:

h:左

j:下

k:上

l:右 #[hljk]:指定一次跳转多少的字符数

单词间跳转:

w:跳到下一个单词的词首

e:当前或下一个单词的词尾

b:当前或上一个单词的词首

#[web]:指定一次跳转多少个单词数

当前页跳转

H:页首

M:页中

L:页底

翻屏:

Ctrl+f:向文件尾部翻一屏

Ctrl+b:向文件首部翻一屏

Ctrl+d:向文件尾部翻半屏

Ctrl+u:向文件首部翻半屏

行首行尾跳转:

^:调到行首非第一个非空白字符处

0:调到行首

$:跳转至行尾

行间移动:

#G:跳到第#行

G:最后一行 例如:1G或gg:第一行

字符编辑:

x:删除光标处的字符

#x:删除光标处起始的#个字符

xp:交换光标所在处及其后面字符的位置 原理是:先删除光标所在位置,然后使用p粘贴

~:转换大小写

替换命令:

r:替换个光标所在处的字符 7rv 光标后7为替换成v

R:切换成replace模式

删除命令:

d:删除命令,可结合光标跳转命令实现范围删除

d$:删除光标至行尾的字符

d^:删除光标至行首非空白字符处

d0:删除光标至行首

dw:删除光标当标至下一个单词的词首

de:删除光标至当前或下一个单词的词尾

db:删除光标至上一个单词的词首

dd:删除光标所在行

#dd:删除#光标后的#行

复制命令:

y:复制

y$:从光标所在处复制到行尾

y0:从光标所在处复制到行首

y^:从光标所在处复制到行首的非空白字符处

ye:从光标所在处复制至当前或下一个单词的词尾

yw:从光标所在处复制至下一个单词的词首

yb:从光标所在处复制至上一个单词的词首

yy:复制光标所在行

#yy:复制多行

粘贴命令:

p:粘贴,如果缓冲区为整行,则粘贴在光标所在行的下一行,否则,粘贴在光标所在处的后面

P:粘贴,如果缓冲区为整行,则粘贴在光标所在行的上一行,否则,粘贴在光标所在处的前面

可视化模式:

v 按字符选定

V 按航选定,经常结合编辑命令,d,c,y

撤销此前的编辑

u(undo)撤销此前的操作

#u 撤销指定次数的操作

撤销此前的撤销

vim中的末行模式:

按“:”进入末行模式

(1)地址定界

:start_pos,end_pos

# 具体第#行,例如2表示第2行

#,# 从左侧#表示行起始,到右侧#表示行结束

#,+# 从左侧#表示行起始,加上右侧#表示的行数

. 表示当前行

$ 表示最后一行

% 全文,相当于1,$

/part1/,/part2/

从第一次被part1模式匹配到的行开始,一直到第一次被part2匹配到的行结束

使用方式:

后跟一个编辑命令

d

y

w /PATH/TO/SOMEWHERE

:1,20w /tmp/.txt

r filename:读取文件内容到当前文件中

:r /etc/fstab

q:退出

q!:强制退出

wq:保存并退出

wall 保存所有

x:保存并退出

ZZ:保存退出

ZQ:不保存退出

(2)查找

/PATTERN 从当前光标所在处尾部查找

?PATTERN 从当前光标所在处首部查找

n 与命令同方向

N 与命令反方向

(3)替换

s 在末行模式下完成查找替换操作

s/要查找的内容/替换为的内容/修饰符

替换的内容可以使用反向引用\1,\2,可以使用&引用前面查找时查到的内容

修饰符号:

i 忽略大小写

g 全局替换,默认情况下,每一行只替换第一次出现

【定制vim的工作特性】

配置文件:永久有效

全局 :/etc/vimrc

个人:~/.vimrc 需要自己创建

末行:当前vim进程有效

(1)显示行号:

set nu 显示;

set nonu 取消显示;

(2)括号成对匹配:括号高亮

set sm:设置;

set nosm:取消;

(3)自动缩进:

set ai

set noai

(4)高亮搜索:

set hlsearch high light search

set nohlsearch nohls

(5)语法高亮:

syntax on

syntax off

(6)忽略字符的大小写:

set ic

set noic

(7)文本格式:

set fileformat=dos :启用windows格式;

set fileformat=unix:启用unix格式;

(8)设置文本宽度:

set textwidth=65 (vim only)

set wrapmargin=16

(9)设置tab键的缩进长度:

set tabstop=4

set softtabstop=4:设置一个退格键退回来的长度;

set shiftwidth=#:设置每一级缩进的长度;

set authindent:表示自动缩进;

(10)帮助信息:

:help option-list

:set or :set alal

如果觉得《Linux文本编辑器-vi/vim》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。