linux多文本编译,Linux文本处理---文本编译器vim

vim:(visual interface improved),是一款全屏的纯文本ASSCII的编辑器,是 vi 的增强版,相比较 vi 来说,vim支持语法高亮等特点。

vim是一种模式化的编辑器,常见的模式有编辑模式(命令模式),输入模式,末行模式,可视化模式,多文件模式,多窗口模式等。

Usage: vim [option]... [FILE]...

vim 选项+

vim + file 打开文件时光标处在最后一行的行首

vim +3 file  打开文件时光标处在第三行的行首

一、各个模式的介绍

编辑模式(命令模式):这个模式下键盘操作通常被理解为编辑命令

输入模式:此模式下用户可以输入文本内容

末行模式:vim内置命令行接口,执行vim内置变量

可视化模式:此模式下用户可以高亮选择文本的内容

多文件模式:此模式下用户一次可以打开多个文件

多窗口模式:此模式下在全屏下可显示多个窗口来编辑文件

二、各个模式之间的切换模式切换类型切换方法

编辑模式 -> 输入模式i,a在光标所在处的前方,后方转换为输入模式

I,A在光标所在处的行首,行尾转换为输入模式

o,O在光标所在行的上一行,下一行转换为输入模式

输入模式 -> 编辑模式ESC

编辑模式 -> 末行模式:

末行模式-->编辑模式ESC

三、编辑模式(命令模式)下的文本操作操作分类具体方法及意义

光标移动字符间移动j,kj:向下移动光标      k:向下移动光标

h,lh:向左移动光标      l:向右移动光标

#{h|j|k|l}3h:向左跳跃光标3个字符   4j:向下跳跃光标4行

单词间移动ww:光标移动到下一个单词词尾

e,be:光标跳跃到当前或下一个单词词尾

b:光标跳跃到当前或上一个单词词首

#{w|e|b}3w:光标跳跃到下3个单词的词尾

4b:光标跳跃到上3或4(光标恰好在词首)个单词的词首

行内移动0,$0:光标跳跃到绝对行首

$:光标跳跃到绝对行尾

^^:光标跳跃到行首第一个非空白字符开头处

Ctrl+f

Ctrl+b

Ctrl+u

Ctrl+d向文件尾部翻一屏

向文件首部翻一屏

向文件尾部翻半屏

向文件首部翻半屏

行间移动#G5G:将光标跳跃到第5行行首第一个非空白字符开头处

G,ggG:将光标跳跃到行尾第一个非空白字符开头处

gg:将光标跳跃到行首第一个非空白字符开头处

编辑命令x类x,#xx:删除光标所在处的字符

4x:删除光标所在处以及之后的共4个字符

d类dd D #dd d#ddd:删除光标所在处的一整行

D:同 d$ 一样,删除光标所在处行向后的所有内容

d结合w,e,b,^,$,0,G,gg一起使用dgg:删除光标处以及光标处到行首的所有内容

db:删除光标处到光标处前单词的单词首部的内容

y类yy,Y,y#y,#yyyy Y:复制光标所在处的整行

y3y 3yy:复制光标所在处的及以下共3行

结合w,e,b,^,$,0,G,gg一起使用yw:复制光标所在处向后一个单词首部的的字符

y$:复制光标所在处向后这行所有的的字符

yG:复制光标所在处向后文件尾部行所有的的字符

p类p P行级别:

p: 粘贴于当前行下方

P:  粘贴于当前行上方

小于行级别:

p: 粘贴于当前光标所在处的后方

P:粘贴于当前光标所在处的前方

c类cc,#ccc C:删除光标所在处的一整行,并进入输入模式

结合w,e,b,^,$,0,G,gg一起使用cgg:删除光标所在处到文件行首的所有内容,并进入输入模式

c0:删除光标所在处到行首的所有内容,并进入输入模式

撤消编辑u,#uu:撤销上一次操作

3u:撤销前3次操作

ctrl+r撤销上一次撤销操作

重复.重复上一条命令

四、末行模式

末行模式是执行一些vim的内置变量,以及问搜索、替换、删除等操作。在这里要引入内容定界。

内容定界的格式是:startpos,endpos。说明在末行模式下操作的范围。

内容定界符具体意义

##:第#行

3:表示第三行

..:表示当前行

$$:表示最后一行

%%:表示全文 等价于 1,$

$-#    .+#支持像$-2, .+2等内容定界.+1,$-1 表示当前行的下一行至倒数第二行

下面介绍末行模式的的操作方法以及意义,这些操作都是结合内容定界符一起使用的。

种类具体意义

c d y:%y 复制整个文本内容

:.,30d 删除当前行道30行的内容

100c:删除100的内容,并变为输入模式,在100行的行首

w rw /path/to/somefile: 将选定范围内的内容保存至某文件

r /path/from/somefile: 将指定的文件中的内容读取到指定位置中

`例如:

:1,100w /tmp/test.txt 将1,100的内容保存到/tmp/test.txt文件中

:54r /etc/passwd 将/etc/passwd文件内容加入到54行的下面

s///gis/要查找内容的模式/要替换的字符串或者引用/gi

其中g: global, 全行替换  i: 不区分字符大小写

:%s@^[[:space:]]\{1,\}@@g 删除整个文本的空白行

/ ?/ ? 是命令行搜索,支持正则表达式

/pattern 向下搜索

?pattern 向上搜索

N n 使用n,N上下查看

命令:set nu    显示行号

:set nonu   取消显示行号

:set ai   自动缩进

:set noai  取消自动缩进

:set ic   设置忽略大小写

:set noic 取消设置忽略大小写

:set sm  设置括号匹配

:set nosm 取消设置括号匹配

:syntax on|off 设置语法高亮

:set hlsearch 设置搜索高亮

:set nohlsearch 取消设置搜索高亮

五、可视化模式,多文件模式,多窗口模式

1)可视化

v:指的是国标所走过的字符

V:指的是国标所走过的行

例如:在某些连续的行首加入#号。编辑模式下:V-->选中行--->I--->#---->ESC就可完成此功能。

2)多文件模式

vi file1 file2 file3... 在末行模式下可以使用next,previous,last,first关键字打开下一个,上一个,最后一个,第一个文件。使用wqall可以保存全部文件。

3)多窗口模式

多文件模式:vim -o:水平分割窗口

-O:垂直分割窗口

单文件模式:

Ctrl+w, s: 水平分割

Ctrl+w, v: 垂直分割

六、配置文件

/etc/vimrc:全局的

~/.vimrc:用户模式下的配置文件

补充:

1.设置制表符宽度:set tabstop=4:set softtabstop=42.设置缩进的空格数:set shiftwidth=43.每行的缩进值与上一行相等:set autoindent4.使用C/C++语言的自动缩进方式

:set cindent5.显示行号:set nu6.将搜索内容反白:set hlsearch7.可以删除任意值:set backspace=2

本文侧重介绍的是vim文本编辑器的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值