Linux操作系统学习之第五篇

Linux操作系统学习之第五篇

Linux之vi/vim编辑器学习

目录
  1. 什么是vim?

  2. vi/vim的使用


什么是vim?

Linux vi/vim

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

目前使用较多的是vim编辑器

vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能丰富。


vi/vim的使用

三种模式:

1、命令模式(Command mode)

2、输入模式(Insert mode)

3、底线命令模式(Last line mode)


1、命令模式:

刚启动vi/vim就进入了命令模式,这时候输入动作会被识别为指令而非输入字符。

"i":切换到输入模式,以输入字符。

"x":删除当前光标所在处的字符

":":切换到底线命令模式


2、输入模式

命令模式下按"i"进入输入模式

输入模式中可以操作以下案件:

shift+字符按键:输出大写字符

Enter:换行

Back Space:退格键,删除光标后一个字符

Del:删除键,删除光标前一个字符

方向键:在文本中移动光标

Home/End:移动光标到行首/行尾

Page Up/Page Down:上/下翻页

Esc:退出输入模式,切换到命令模式


3、底线命令模式

在底线命令模式下:

q:退出程序

w:保存文件

q!:不保存强制退出

wq:保存退出


命令模式下按键说明

翻页/移动光标功能

ctrl+d:屏幕【向下】移动半页

ctrl+u:屏幕【向上】移动半页

+:将光标移动到非空格符的下一行

-:将光标移动到非空格符的上一行

n+<Space>:n是指数字,20+空格:光标会移动会向后面移动20个字符(!!)

"[Home]"功能键:移动到这一行第一个字符处(!!)

"[End]"功能键:移动到这一行最后一个字符处(!!)

gg:移动到这个档案第一行

n+<Enter>:n为数字,光标向下移动n行

搜索/替换功能

/word: 向光标之下寻找一个名称为“word”的字符串

?word: 向光标之上寻找一个称为“word”的字符串

n:重复前一个搜寻动作(相当于重新打了上一次搜寻指令)

N:与n相反,[反向]进行前一个搜寻动作(这里的反向指搜寻动作指令里面的行为反向),如上个搜寻动作是向下搜寻字符串那么[N]就是想上搜寻字符串

n1,n2s/word1/word2/g:在n1到n2行之间寻找word1这个字符串,并将该字符串取代为word2。

n1,n2s/word1/word2/gc:在n1到n2行之间寻找word1这个字符串,并将该字符串取代为word2。在取代前给用户确认是否要取代。(c=confirm)

dd: 删除光标所在的那一整行

ndd: n为数字,删除光标所在的向下n行,如:20dd是删除向下20行(包括本行)

d1G: 删除光标所在到第一行的所有数据

dG: 删除光标所在到最后一行的所有数据

yy: 复制光标所在的那一行(常用)

nyy: 复制光标所在的向下n行内容

J:将光标所在行与下一行的数据结合成同一行

c:重复删除多个数据

u:重复前一个动作

[Ctrl]+r:重做上一个动作

( u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次)


编辑模式的按钮说明

i、a、o、r均可以进入编辑模式

Esc:退出编辑模式


底线命令模式下按键说明

ZZ:(大写的Z)保存退出

ZQ:不保存,强制退出

w[filename]: 另存新档

r[filename]: 将[filename]这个档案内容加到游标所在行后面

n1,n2 w [filename]: 将n1到n2的内容存储称filename这个档案

:! command: 暂时离开vi指令行,执行command的显示结果

例如:

:! ls /

暂时离开编辑模式,看根目录下的目录信息


vim环境的变更

:set nu:显示行号,设定之后,会在每一行的前缀

set nonu:与set nu相反,取消行号

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...