vi编译器的使用

vi是Linux操作系统的最常用的编译器,vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
使用vim编译器要提前下载

sudo apt-get install vim 

如果想要知道是否安好,只需要vim file,如果出现下图,那么就是安好啦
在这里插入图片描述

vim file,file可以在编译前建好,也可以直接vim一个新文件。
vim编译器有三种模式,命令行模式,输入模式,末行模式

  • 命令行模式:移动光标,删除,复制,粘贴
  • 输入模式:编译
  • 末行模式:文件保存,退出,设置编译环境,字符串查找,设置行号

(一)命令行模式常用操作
【h(或向左方向键)】 光标左移一个字符
【j(或向下方向键)】 光标下移一个字符
【k(或向上方向键)】 光标上移一个字符
【l(或向右方向键)】 光标右移一个字符

【[Ctrl] + f】 屏幕向下移动一页(相当于Page Down键)
【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键)

【[0]或[Home]】 光标移动到当前行的最前面
【[$]或[End]】 光标移动到当前行的末尾

显示行数:set nu

【G】 光标移动到文件的最后一行(第一个字符处)
【nG】 n为数字(下同),移动到当前文件中第n行
【gg】 移动到文件的第一行,相当于"1G"
【n[Enter]】 光标向下移动n行

【/word】 在文件中查找内容为word的字符串(向下查找)
【?word】 在文件中查找内容为word的字符串(向上查找)

【[n]】 表示重复查找动作,即查找下一个
【[N]】 反向查找下一个
【:n1,n2s/word1/word2/g】 n1、n2为数字,在第n1行到第n2行之间查找word1字符串,并将其替换成word2
【:1,s/word1/word2/g】从第一行(第n行同理)到最后一行查找word1注册,并将其替换成word2【:1,s/word1/word2/gc】 功能同上,只不过每次替换时都会让用户确认

【x,X】 x为向后删除一个字符,相当于[Delete],X为向前删除一个字符,相当于[Backspace]
【dd】 删除光标所在的一整行
【ndd】 删除光标所在的向下n行
【yy】 复制光标所在的那一行
【nyy】 复制光标所在的向下n行
【p,P】 p为将已经复制的数据在光标下一行粘贴;P为将已经复制的数据在光标上一行粘贴

【u】 撤消上一个操作
【[Ctrl] + r】 多次撤消
【.】 这是小数点键,重复上一个操作

(二)命令行模式切换到输入模式的操作
1、进入输入模式(6个命令)
【i】 从目前光标所在处插入
【I】 从目前光标所在行的第一个非空格符处开始插入
【a】 从当前光标所在的下一个字符处开始插入
【A】 从光标所在行的最后一个字符处开始插入
【o】 英文小写字母o,在目前光标所在行的下一行处插入新的一行并开始插入
【O】 英文大写字母O,在目前光标所在行的上一行处插入新的一行并开始插入

2、进入替换模式(2个命令)
【r】 只会替换光标所在的那一个字符一次
【R】 会一直替换光标所在字符,直到按下[ESC]键为止
【[ESC]】 退出编辑模式回到一般模式

(三)输入模式切换到命令行模式
【:w】 保存文件
【:w!】 若文件为只读,强制保存文件

【:q】 离开vi
【:q!】 不保存强制离开vi
【:wq】 保存后离开
【:wq!】 强制保存后离开
【:! command】 暂时离开vi到命令行下执行一个命令后的显示结果
【:set nu】 显示行号
【:set nonu】 取消显示行号
【:w newfile】 另存为

【:set fileencoding】 查看当前文件编码格式
【:set fileencoding=utf-8】 设置当前文件编码格式为utf-8,也可以设置成其他编码格式
【:set fileformat】 查看当前文件的断行格式(dos\windows,unix或macintosh)
【:set fileformat=unix】 将当前文件的断行格式设置为unix格式

(四)文件恢复模式
【[O]pen Read-Only】 以只读方式打开文件
【[E]dit anyway】 用正常方式打开文件,不会载入暂存文件内容
【[R]ecover】 加载暂存文件内容
【[D]elete it】 用正常方式打开文件并删除暂存文件
【[Q]uit】 按下q就离开vi,不进行其他操作
【[A]bort】 与quit功能类似

(五)块选择(命令行模式下用)
【v,V】 v:将光标经过的地方反白选择;V:将光标经过的行反白选择
【[Ctrl] + v】 块选择,可用长方形的方式选择文本
【y】 将反白的地方复制到剪贴板
【d】 将反白的内容删除

(六)多文件编辑
【vim file1 file2】 同时打开两个文件
【:n】 编辑下一个文件
【:N】 编辑上一个文件
【:files】 列出当前用vim打开的所有文件

(七)多窗口功能
【:sp [filename]】 打开一个新窗口,显示新文件,若只输入:sp,则两窗口显示同一个文件
【[Ctrl] + w + j】 光标移动到下方窗口
【[Ctrl] + w + k】 光标移动到上方窗口
【[Ctrl] + w + q】 离开当前窗口

下面举个栗子~~

vim hello.c
i模式下,打入下面代码

set nu //显示行号

在这里插入图片描述

/word //查找单词in,将光标定位到in

在这里插入图片描述

:n1,n2s/word1/word2/g    //如果想要加上y/n判断,则为:2,3s/n/nn/gc

在这里插入图片描述
多窗口功能-----这是我觉得最有用的一个地方,可以对不同文件同时操作,还是很cool的~~

vim world.c
:sp hello.c   //命令行模式下打开hello.c
使用yy复制printf语句,【[Ctrl] + w + j】鼠标移动到world.c窗口,p粘贴

在这里插入图片描述

还是很喜欢这个多窗口功能的,非常非常强大~~

猜你喜欢

转载自blog.csdn.net/zhengmmm1999/article/details/85115297