薛磊 Job Seeker

Linux_5.vim三种模式(重点)


五、vim三种模式(重点)

vim中存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式):

命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等),(打开文件后的默认模式);

编辑模式:在该模式下可以对文件的内容进行编辑;

末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等);

Vim打开文件的方式(4种):

#vim 文件路径 作用:打开指定的文件

#vim +数字 +文件路径 作用:打开指定的文件,并且将光标移动到指定行

#vim +/关键词 文件路径 作用:打开指定的文件,并且高亮显示关键词

#vim 文件路径1 文件路径2 文件路径3 … 作用:同时打开多个文件

1.命令模式

注意:该模式是打开文件的第一个看到的模式(打开文件即可进入)

1. 光标移动

  • 光标移动到行首: 按键:shift+6 或 ^(不能是小键盘的6)

  • 光标移动到行位: 按键:shift+4 或 $

  • 光标移动到首行: 按键:gg

  • 光标移动到末行: 按键:G

  • 翻屏:

    向上:ctrl+b (before) 或者 PgUp 向下:ctrl+f (after) 或者 PgDn

2. 复制操作

  • 复制光标所在行: 按键:yy,粘贴:p
  • 以光标所在行为准,向下复制指定的行数: 按键:数字 yy
  • 可视化复制: ctrl+v +方向键 选中需要复制的区块,按下yy进行复制,p粘贴

3. 剪切/删除

  • 剪切/删除光标所在行: 按键:dd
  • 剪切/删除光标所在行为准,向下删除/剪切指定的行: 按键:数字 dd
  • 剪切/删除光标所在的当前行,但是删除之后下一行不上移: 按键:D(删除之后当前行变为空白)

4. 撤销/恢复

  • 撤销: 输入:u 或 u (小写)
  • 恢复: ctrl+r (取消之前的撤销操作)

5. 扩展1:光标的快速移动

  • 快速将光标移动到指定的行: 按键:数字 G

  • 以当前光标为准向上或向下移动n行: 按键:数字 ↑,数字 ↓

  • 以当前光标为准,向左/右移动n字符: 按键:数字 ←,数字 →

  • 末行模式下的快速移动方式:移动到指定的行

    按键: : 数字

2.末行模式

进入方式:由命令模式进入,按下”:”即可进入 退出方式: a. 按下esc b. 连按2次esc c. 删除末行全部输入字符

* 保存操作(write):“:w”	保存文件		“:w  路径”   另存为
* 退出(quit):	“:q”	退出文件
* 保存并退出:	“:wq”	保存并且退出
* 强制(!):	“:q!”	表示强制退出,刚才修改操作不做保存
* 调用外部命令(了解):	“:!外部命令”	
* 搜索/查找:	“/关键词”	N、n:切换上、下个结果	next

如果需要取消高亮,则需要输入:“:nohl”【no highlight】

* 替换:
	> :s/搜索的关键词/新的内容	替换光标所在行的第一处符合条件的内容
	> :s/搜索的关键词/新的内容/g	替换光标所在行的全部符合条件的内容
	> :%s/搜索的关键词/新的内容	替换整个文档中每行第一个符合条件的内容
	> :%s/搜索的关键词/新的内容/g	替换整个文档的符合条件的内容
	
	%表示整个文件
	g表示全局(global)

* 显示行号:“:set nu”【number】		取消显示:“:set nonu”

* 扩展2:使用vim同时打开多个文件,在末行模式下进行切换文件
	> 查看当前已打开的文件名称:“:files”
	> %a,a=active,表示当前正在打开的文件;
	      \#,表示上一个打开的文件
	> 切换文件的方式:
		a. “:open 已经打开的文件名”
		b. “:bn(back next)”切换到下一个文件	“:bp(back prev)”切换到下一个文件

3.编辑模式

* 进入方式:i(insert)、a(after)、o、I、A、O
* 退出方式:esc

使用功能

1. 代码着色

  • 如何控制着色显示与否 显示:“:syntax on” 关闭显示:“:syntax off” syntax语法

2. vim中计算器的使用 当编辑文件的时候突然需要使用计算器去计算一些公式,则此时需要用计算器,但是需要退出,vim自身集成了一个简易的计算器 a. 进入编辑模式 b. 按下按键“ctrl+R”,然后输入“=”,此时光标会变到最后一行

c. 输入需要计算的内容,按下回车

扩展

3. vim的配置(重点) vim配置有三种情况: a. 在文件打开的时候在末行模式下输入的配置(临时的) b. 个人配置文件(~/.vimrc,如果没有可自行创建) c. 全局配置文件(vim自带,/etc/vimrc)

① 新建好个人配置文件之后进入编辑 ② 在配置文件中进行配置

  • 比如显示行号:set nu

    问题:如果某个配置项,在个人配置文件与全局配置文件产生冲突的时候应该以谁为准? 测试步骤:在两个配置文件中针对同一个配置项设置不同的值 ① 现在全局的配置中设置不显示行号,在个人的配置文件中设置显示行号,观察结果 最后显示行号:说明以个人为准 ② 先在全局中配置显示行号,在个人中设置不显示行号,观察结果 最后不显示行号:说明以个人为准

    结论:如果针对同一个配置项,个人配置文件中存在,则以个人配置文件为准,如果个人配置文件中不存在这一项,则以全局配置文件为准 **2.异常退出**    什么是异常退出?	     在编辑文件之后并没有正常的去wq(保存退出),而是遇到突然关闭中单或者断电的情况,则会显示下面的效果,这个情况称之为异常退出
    

    解决办法:将交换文件(在编程过程中产生的临时文件)删掉即可 语法:#rm -f .文件名.swp

4. 别名机制

  • 作用:相当于创建一些属于自己的自定义命令
  • 例如:在windows下有cls命令,在Linux下可能因为没有这个命令而不习惯清屏。现在可以通过别名机制来解决这个问题,可以自己创造出cls命令

    别名机制依靠一个别名映射文件:~/.bashrc 注意:如果想新创造的命令生效,必须要重新登录当前用户

5. 退出方式 回顾:之前vim中退出编辑的文件可以使用“:q”或者“:wq”。 除了上面的这个语法之外,vim还支持另外一个保存退出方法“:x”。 说明: ① “:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出; ② 如果文件没有被修改,但是使用wq进行修改的话,则文件的修改时间会被更新;但是如果此时使用x退出的话,则文件修改时间不会更新; 注意:不要使用成X,不要使用成X,不要使用成X。X表示对文件进行加密操作

4.Linux自由服务

运行模式

运行模式也可以称之为运行级别。 在linux中存在一个进程:init(initialize,初始化),进程id是1。 查看进程:#ps -ef | grep init 该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)

Centos6.5中存在7种运行级别/模式
0 :表示关机级别(不要将默认的运行级别设置成0)
1 :单用户模式
2 :多用户模式,不带NFS(Network File Sysetem)
3 :多用户模式,完全的多用户模式(不带桌面的,纯命令行模式)
4 :没有被使用的模式(被保留模式)
5 :X11,完整的图形化界面模式
6 :表示重启级别(不要将默认的运行级别设置成6)

与该级别相关的几个命令:
\#init 0 		表示关机
\#init 3		表示切换到服务器模式
\#init 5		切换到图形界面
\#init 6		重启电脑
注意:init指令需要超级管理员的权限,普通用户无法执行
这些命令其实都是调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作。
配置:systemctl set-default multi-user.target  设置为3        graphical.target   设置为5

上一篇 Linux_4.练习题

Comments

Content