Linux基础之vim编辑器

vim编辑器

文本编辑器:

文本:纯文本,ASCII text;Unicode;

文本编辑种类:

行编辑器:sed

全屏编辑器:nano, vi

vi: Visual Interface

vim: Vi IMproved

vim:

模式化的编辑器

基本模式:

编辑模式,命令模式

输入模式

末行模式:

内置的命令行接口;

打开文件:

# vim [options] [file ..]

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

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

模式转换:

编辑模式:默认模式

编辑模式 --> 输入模式:

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

a: append,在光标在处后方输入;

o:在光标所在处的下方打开一个新行;

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

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

O:在光标所在处的上方打开一个新行;

输入模式 --> 编辑模式

ESC

编辑模式 --> 末行模式

:

末行模式 --> 编辑模式

ESC

关闭文件:

ZZ:保存并退出;

:q  退出

:q!  强制退出,不保存此前的编辑操作

:wq  保存并退出;

:w, :q

:x  保存并退出;

:w /PATH/TO/SOMEFILE

光标跳转:

字符间跳转

h:左

j:下

k:上

l:右

#COMMAND:跳转由#指定的个数的字符;

单词间跳转

w:下一个单词的词首;

e:当前或后一个单词的词尾;

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

#COMMAND:跳转由#指定的个数的单词;

行首行尾跳转

^:跳转至行首的第一个非空白字符;

0:跳转至行首;

$:跳转至行尾;

行间跳转

#G:跳转至由#指定的行;

1G, gg:第一行;

G:最后一行;

句间跳转:

)

(

段间跳转

}

{

翻屏:

Ctrl+f:向文件尾翻一屏

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

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

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

Enter:按行向后翻

vim的编辑命令:

字符编辑:

x:删除光标所在处的字符;

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

xp:交换光标所在处的字符与其后面的字符的位置;

替换命令(replace):

r:替换光标所在处的字符;

rCHAR

删除命令:

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

d$:

d^:

dw:

de:

db:

#COMMAND:

dd:删除光标所在处的行;

#dd:删除光标所处的行起始的共#行;

粘贴命令(p, put, paste):

p:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的下方;否则,则粘贴至当前光标所在处的后方;

P:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的上方;否则,则粘贴至当前光标所在处的前方;

复制命令(yank, y):

y:复制,工作行为相似于d命令;

y$

y^

y0

ye

yw

yb

#COMMAND

yy:复制一整行

#yy:复制#行

改变命令(change, c):

编辑模式 --> 输入模式,实现删除操作;

c$

c^

c0

cb

ce

cw

#COMMAND

cc:删除光标所在的行,并转换为输出模式;

#cc:

其它编辑操作:

可视化模式:

v:按字符选定;

V:按行选定;

结合编辑命令使用:d, c, y

撤销(undo)操作:

u:撤销此前的操作;

#u:撤销此前的#个操作;

撤销此前的撤销:

Ctrl+r

重复执行前一个编辑操作:

.

vim自带的练习教程:vimtutor

vim末行模式:

内建的命令行接口

(1) 地址定界

:start_pos[,end_pos]

#:特定的第#行,例如5即第5行;

.:当前行;

$:最后一行;

#,#:指定行范围,左侧为起始行,右侧为结束行;

#,+#:指定行范围,左侧为超始行绝对编号,右侧为相对左侧行号的偏移量;例如:3,+7

.,$-1

1,$

%:全文

/pattern/:从光标所在处起始向文件尾部第一次被模式所匹配到的行;

/first/,$

/pat1/,/pat2/:从光标所在处起始,第一次由pat1匹配到的行开始,至第一次由pat2匹配到的行结束之间的所有行;

可同编辑命令一同使用,实现编辑操作:

d

y

c

w /PATH/TO/SOMEFILE:将范围内的文本保存至指定的文件中;

r  /PATH/FROM/SOMEFILE:将指定的文件中的文本读取并插入至指定位置;

(2) 查找

/PATTERN:从当前光标所在处向文件尾部查找能够被当前模式匹配到的所有字符串;

?PATTERN:从当前光标所在处向文件首部查找能够被当前模式匹配到的所有字符串;

n:下一个,与命令方向相同;

N:上一个,与命令方向相反;

(3) 查找并替换

s:末行模式的命令;使用格式:

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

要查找的内容:可使用正则表达式;

替换为的内容:不能使用下则表达式,但可以引用;

如果“要查找的内容”部分在模式中使用分组符号:在“替换为的内容”中使用后向引用;

直接引用查找模式匹配到的全部文本,要使用&符号;

修饰符:

i:忽略大小写;

g:全局替换,意味着一行中如果匹配到多次,则均替换;

可把分隔符替换为其它非常用字符:

[email protected]@@

s###

示例:

%[email protected]\<t\([[:alpha:]]\+\)\>@T\[email protected]

%[email protected]\<t[[:alpha:]]\+\>@&[email protected]

练习:

1、复制/etc/grub2.cfg文件至/tmp目录中,用查找替换命令删除/tmp/grub2.cfg文件中以空白字符开头的行的行首的空白字符;

%[email protected]^[[:space:]]\[email protected]@

2、复制/etc/rc.d/init.d/functions文件至/tmp目录中,用查找替换命令为/tmp/functions文件的每个以空白字符开头的行的行首加上#;

%[email protected]^[[:space:]]\+[^[:space:]]@#&@g

3、为/tmp/grub2.cfg文件的前三行的行首加上#号;

4、将/etc/yum.repos.d/CentOS-Base.repo文件中所有的enabled=0替换为enabled=1,所有gpgcheck=0替换为gpgcheck=1;

%[email protected]\(enabled\|gpgcheck\)[email protected]\[email protected]

vim的多文件功能:

多文件:

vim FILE1 FILE2 ...

在文件间切换:

:next  下一个

:prev  上一个

:first   第一个

:last   最后一个

退出所有文件:

:wqall 保存所有文件并退出;

:wall

:qall

多窗口:

-o:水平分割窗口

-O:垂直分割窗口

在窗口间切换:Ctrl+w, ARROW

注意:单个文件也可以分割为多个窗口进行查看:

Ctrl+w, s:水平分割窗口

Ctrl+w, v:垂直分割窗口

定制vim的工作特性:

注意:在末行模式下的设定,仅对当前vim进程有效;

永久有效:

全局:/etc/vimrc

用户个人:~/.vimrc

1、行号

显示:set number, 简写为set nu

取消显示:set nomber, set nonu

2、括号匹配高亮

匹配:set showmatch, set sm

取消:set nosm

3、自动缩进

启用:set ai

禁用:set noai

4、高亮搜索

启用:set  hlsearch

禁用:set nohlsearch

5、语法高亮

启用:syntax on

禁用:syntax off

6、忽略字符大小写

启用:set ic

禁用:set noic

获取帮助:

:help

:help subject

课外作业:如何设置tab键缩进4个字符;

时间: 2024-10-17 23:04:16

Linux基础之vim编辑器的相关文章

2016-3-29 linux基础学习——vim编辑器的使用

vim编辑器文本编辑器,字处理器ASCII全屏编辑器,模式化编辑器 vim模式    编辑模式(命令模式)    输入模式    末行模式 模式转换:    编辑-->输入        i:在当前光标所有字符的前面,转换为输入模式        a:在当前光标所有字符的后面,转换为输入模式        o:在当前光标所在行的下方,新建一行,并转换为输入模式                I:在当前光标所有字符的行首,转换为输入模式        A:在当前光标所有字符的行尾,转换为输入模式 

Python学习之路——Linux基础之Vim编辑器

Vim编辑器 1. 常用的删除与复制的常用按键 1) dd : 删除光标所在的一行,剪切光标所在的一行 2) ndd(如 3dd):删除光标所在的向下的n行.3dd则删除3行 3) yy : 复制光标所在的一行 4) nyy: 复制n行 5) p : 将已复制的内容在光标的下一行粘贴 6) P : 将已复制的内容在光标的上一行粘贴 7) u : 撤销上一步操作 8) ctrl+r: 恢复上一步操作 9) $ : 跳到行尾 10) 0 : 跳到行首 11) ctrl+a : 跳到命令行首 12)

Linux基础:vim编辑器

vi编辑器 作用:编辑文本文件中的内容的工具 命令历史 末行模式中,以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文 vim的模式   vi的工作模式 命令模式:仅仅可以查看内容,但是不能进行修改(默认) 输入模式:可以对文件中的内容进行修改 末行模式:此模式可以执行一些命令  vi打开文件 vi打开文件 vi 文件名 注意:

零基础学习Vim编辑器

**********************************************************************0.这篇教程的简介:Vim是Linux/Unix下的经典编辑程序,它高效且专注,灵活且强大,是Linxu/Unix环境下编程人员.文字排版人员和系统管理员必须掌握的一项基础技能但是由于一些我们后文会介绍到的历史原因,Vim编辑器的学习难度远远高于其它编辑器,但是我相信通过我这篇教程的引导,您一定可以熟练地运用Vim!1.需要注意的    :这是一篇“零基础的

【转】Linux上vi(vim)编辑器使用教程

Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------------------------------------------------------- vi(vim)是上Linux 非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是 “visual interface”

Linux(RadHat)基础学习—vim编辑器及文件的输入输出

1.vim编辑器 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 1.初识神器:vim (1).vim的注意事项 编辑文件时 a.当文件名称存在,那么进入文件直接编辑 b.当文件名称不存在,vim会在退出保存时自动建立文件 c.当vim命令后没有跟任何文件名称时,时无法实现":wq"退出保存的那么可以用":wq filename"(给新建文件命名并保存) (2).当vim异常退出时,系统会建立.file.swp这

Linux上vi(vim)编辑器使用教程

vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi).在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim.下面vps侦探整理一下vi的使用教程:包含vi的基本介绍.使用模式.文件的打开关闭保存.插入文本或新建行.移动光标.删除.恢复字符或行.搜索等等,算是一篇比较适合新手学习vi的

快速配置Linux下的Vim编辑器

vim编辑器是一个强大的文本编辑器.对于一个C/C++初学者来说,可以利用vim编写自己喜欢的代码出来.但是习惯于使用windows下的IDE,初次体验vim真的是糟透了,不同于VS的编程习惯,使用起来及其的不方便,编写代码的效率很低很低.在网上有很多网友都有分享自己的vim配置,以下就是博主根据自己的变成习惯配置的vim编辑器: 操作系统环境:CentOS 6.7    (64位) 不同的操作系统的vim配置文件的所在位置不停,但是vim的配置文件都是.vimrc(在linux下 '.' 开头

linux软件管理(Vim编辑器使用) ——(七)

windows : .exe     安装 .卸载 安装:  mysql.exe  cc.exe 卸载 : 该软件唯一的标识  ,包名   alibaba android : *.apk   卸载 包名 red hat :*.rpm ubuntu  : 对debian的升级  *.deb 格式    1:直接安装.deb包 dpkg软件包        1:安装以.deb结尾的软件包,需要使用root的权限            1:sudo dpkg -i 软件包名        2:卸载