Linux运维 第二阶段 (二)vim编辑器

简介:

vi(visual interface);

vim(VI improved):全屏编辑器;模式化的编辑器;最好用的功能语法着色

可通过#vimtutor获取帮助

vim模式:编辑模式(命令模式);输入模式;末行模式

模式转换:

编辑模式-》输入模式:

i(在当前光标所在字符的前面,转为输入模式)

a(在当前光标所在字符的后面,转为输入模式)

o(在当前光标所在行的下方新建一行转为输入模式)

I(在当前光标所在行的行首,转为输入模式)

A(在当前光标所在行的行尾,转为输入模式)

O(在当前光标所在行的上方新建一行,转为输入模式)

输入模式-》编辑模式:<ESC>

编辑模式-》末行模式(仅能在编辑模式下转换到末行模式):冒号<:>

末行模式-》编辑模式:<ESC>一次或两次按键

 

一、打开文件

#vim +  FILE(打开文件,定位在最后一行)

#vim +#  FILE(打开文件,定位在#行)

#vim +/pattern  FILE(打开文件,定位在第一次被PATTERN匹配到的行首)

二、关闭文件

在末行模式下::q,:q!,:w,:w!,:wq(:x)

在编辑模式下:ZZ

三、移动光标(编辑模式下):

逐字符移动:[#]h|L|K|J(分别为左右上下)

逐单词移动:[#]w|e|b(分别为移至下一个单词的词首,跳至当前或下一个单词的词尾,跳至当前或前一个单词的词首)

行内跳转:0|^|$(分别为绝对行首,行首的第一个非空白字符,绝对行尾)

行间跳转:G#G(分别为最后一行,直接跳转至#行,在末行模式下输入:#也可跳至#行)

四、翻屏:

ctrl+f(向下翻一屏)

ctrl+b(向上翻一屏)

ctrl+d(向下翻半屏)

crrl+u(向上翻半屏)

五、删除单个字符:[#]xx删除光标所在处单个字符,#x删除光标所在处及后的#个字符)

六、删除命令:

[#]d跳转符(d与跳转符结合使用,如dw,de,db,dG,d0,d^,d$

dd(删除光标在行)

#dd(删除光标所在行及下的#行)

在末行模式下删除:

:startNUM,endNUMd(如::5,10d删除510行)

.(表示当前行)

$(表示最后一行)

+#(向下的#行)

$-1(倒数第二行)

注:删除的内容放至缓冲区(内存中),之前的操作可撤销最多50次,最后一次的内容可粘贴。

七、粘贴命令:

小写p(删除或复制的为整行内容,则粘贴至光标所在行的下方;若删除或复制的非整行,则粘贴至光标所在字符的后面)

大写P(删除或复制的为整行内容,则粘贴至光标所在行的上方;若删除或币制的非整行,则粘贴至光标所在字符的前面)

八、复制命令:

y(用法同d命令,如:yy,3yy,y$,y0,:2,10y

九、修改(先删除内容再转换为输入模式):

c(用法同d命令,如:cc,c$

十、替换:

r(替换单个字符)

R(替换模式)

十一、撤销编辑操作:

u(撤销前一次的编辑操作)

连续u(撤销此前的n次操作)

#u(撤销之前的#次操作)

ctrl+r(撤销最近一次的撤销操作)

十二、重复前一次编辑操作:.

十三、可视化模式:

小写v(结合移动光标,按字符选取)

大写V(结合移动光标,按矩形选取)

十四、查找:

/pattern(向下查找,回车后用n可继续向下查找匹配内容,用N则向上查找匹配内容)

?pattern(向上查找,回车后用n可继续向上查找匹配内容,用N则向下查找匹配内容)

十五、查找并替换:在末行模式下使用s(同sed命令的用法,s///,s@@@,s###等可自定义符号)

:ADD1,ADD2s@PATERN@STRING@gig全局替换,i忽略大小写,gi可同时使用,例如::.,$-1s/he/ha/gi

:%s/pattern/string/gi%表示全文)

十六、打开多个文件:

#vim FILE1  FILE2

:next(切至下一个文件)

:prev(切至上一个文件)

:first(切至首个文件)

:last(切至最后一个文件)

:qa(全部退出)

十七、分屏显示一个文件:

Ctrl+w,s(水平拆分窗口)

Ctrl+w,v(垂直拆分窗口)

Ctrl+w(在窗口间切换光标)

:qa(关闭所有窗口)

十八、分窗口显示多个文件:

#vim -o  FILE1  FILE2(水平分割显示)

#vim -O  FILE1  FILE2(垂直分割显示)

十九、将当前文件的部分内容另存为另一文件:

:ADDR1,ADDR2w  /path/to/file

二十、将另一文件内容填充在当前文件中:

:r /path/to/file

二十一、与SHELL交互:

:! COMMAND

二十二、高级用法:

1、  显示或取消行号(行号不是文件的组成部分):

:set nu:set  number

:set nonu

2、  显示忽略字符大小写(不常用):

:set ic:set  ignorecase

:set noic:set  noignorecase

3、  设置自动缩进,把当前行的对齐格式应用到下一行(写脚本时常用):

:set ai:set  autoident

:set noai

:set smartindent(依据上面的对齐格式,智能的选择对齐方式)

4、  查找到的文本高亮显示:

:set hlshighlight search

:set nohls

5、  语法高亮:

:syntax on

:syntax off

6、  设置匹配模式(当输入一个右括号时会匹配相应的左括号):

:set showmatch

7、  设置查询时按输入内容依次找到匹配项,如查找book单词,当输入/b时,会自动找到第一个b开头的单词,当输入到/bo时会自动找到第一个/bo开头的单词,依次类推:

:set incserarchincremental search

8、  设置选定行加横线:

:set cursorline

二十三、配置文件:

/etc/vim(全局)

~/.vimrc

 

 

 

 

 

以上内容是学习《马哥网络视频》做的笔记。



 

 

vi编辑器(全屏幕纯文本编辑器)

1、命令模式、插入模式、末行模式

2、a                在光标所在字符后插入

                       在光标所在行行尾插入

         i                在光标所在字符前插入

                       在光标所在行行首插入

         o                在光标下插入新行

                       在光标上插入新行

         :w              保存

         :q               不保存退出

         :wq  保存退出

         :q!             强制退出

         :w 文件名              另存为

3、HJKL对应左下上右

 

         gg              文件头

                       文件尾

         ^                行首

         $                行尾

         :n               移至第几行

 

         x                 删除单个字符

         nx              删除n个字符

         dd              删除单行(或剪切)

         :n1,n2d              删除指定范围的行

         ndd            删除n

         p                粘贴至光标后

         P                粘贴到光标前

 

         yy nyy             复制

         u                          撤销

         ctrl+r                  反撤销

         r                          替换光标所在处字符

         R                         从光标处开始替换,<esc>结束

        

         :set nu               显示行号

         :set nonu          不显示行号

        

         :syntax on|off           颜色开关

 

         /内容                 查找字串(n向下查,N向上查)

         :1,10s/old/new/g              替换1到10行的oldnew

         :%s/old/new/g                   替换整个文件的oldnew

         :1,5s/^/#/g                注释1到5行(在行首加#

         :1,5s/^#//g                取消1到5行注释

         :1,5s/^/\/\//g                     文件头加入//

                   注:/g (范围内所有)

4、:r  文件名           导入其它文件内容

         :!命令                                            vim中执行系统命令

         :r !命令                                     导入命令结果

         :map 快捷键 快捷键执行的命令

         例::map ^p I#<esc>                         在行首加入#

注:^p不能手工输入,需执行ctrl+v+p来定义

例::map ^b ^x<esc>                        ctrl+b时取消#

5、:ab  源字符  替换为字符

         例::ab mymail  sc@163.com

         注:如需永久生效,需写入配置文件~/.vimrc

 



本文转自 chaijowin 51CTO博客,原文链接:http://blog.51cto.com/jowin/1640455,如需转载请自行联系原作者
相关文章
|
13天前
|
运维 网络协议 Linux
【专栏】 20 个 Linux 命令,运维工程师工作时最常用的
【4月更文挑战第28天】本文介绍了运维工程师常用的20个Linux命令,包括`ls`、`cd`、`pwd`、`mkdir`、`rm`、`cp`、`mv`、`cat`、`more`、`less`、`head`、`tail`、`grep`、`find`、`chmod`、`chown`、`chgrp`、`ps`、`top`和`ifconfig`,帮助提升工作效率。此外,还提到了其他常用的命令如`df`、`free`、`tar`、`ssh`、`scp`、`ping`、`netstat`、`iptables`、`systemctl`、`hostname`等,建议运维人员掌握以应对各种运维场景。
|
2天前
|
弹性计算 Unix Linux
Linux:文本编辑器 - vim
Linux:文本编辑器 - vim
10 1
|
3天前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
4天前
|
运维 监控 Linux
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
9 0
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
|
5天前
|
Linux Shell 开发工具
【Linux】yum、vim
【Linux】yum、vim
15 2
|
11天前
|
Linux 开发工具 C语言
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
|
13天前
|
运维 自然语言处理 开发工具
【专栏】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。这 8 个原因或许是答案,命令对比一目了然!
【4月更文挑战第28天】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。其优势包括更好的扩展性、现代化界面、多语言编程支持、异步处理能力、协作功能、持续更新及活跃社区。NeoVim的命令与Vim相似,但在启动配置、插件管理和窗口管理等方面有所优化。总的来说,NeoVim提供了更强大、灵活和现代的编辑体验。
|
13天前
|
Linux 开发工具
【专栏】Linux 必备技能:Vim文本编辑器中快速跳转到文件开头和结尾的方法
【4月更文挑战第28天】本文介绍了Vim文本编辑器中快速跳转到文件开头和结尾的方法。使用`gg`或`1G`可跳转到文件开头,`G`或`$`则用于跳转到结尾。此外,还提到了跳转到指定行(如`10G`)和查找特定字符(如`f`+字符)的技巧,以提升编辑效率。
|
8月前
|
缓存 运维 Linux
Linux(CentOS)运维脚本工具集合
Linux(CentOS)运维脚本工具集合
155 2
|
1月前
|
运维 Linux Shell
linux运维常用命令
linux运维常用命令