ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux vi / vim 的使用

2022-07-19 01:03:38  阅读:196  来源: 互联网

标签:文件 vi 模式 vim Linux 移动 光标


vi 共分为三种模式,分别是【一般指令模式】、【编辑模式】、【指令列命令模式】

 一般指令模式(command mode)

  以 vi  打开一个文件就直接进入一般指令模式了。

  在一般指令模式中,可以使用 上下左右 键来移动光标,可以使用 删除字符 或 删除整列 来处理文件内容,可以 复制、粘贴 来处理文件内容。

编辑模式(insert mode)

  等按下 i I o O a A r R 等任何一个字母之后才会进入编辑模式。

  在按下这些按键时,窗口左下方会出现 INSERT 或 REPLACE 的字样,表示进入编辑模式。

  按 Esc 按键可以退出编辑模式。

指令列命令模式(command-line mode)

  在一般模式当中,输入 : / ? 三个中的任何一个后,就可以将光标移动到窗体最下面一行,表示进入命令模式。

  在命令模式中,可以完成 读取、保存、离开、显示行号 等操作。

注意:编辑模式 与 命令模式 之间不能直接切换,需要先切换到一般指令模式。

 

直接输入 /bin/vi XXX 就能够进入 vi 的一般指令模式

 

 按 i 可以进入编辑模式

 

 按 Esc 回到一般指令模式

:wq  保存并退出(以 :开头)

:wq!  强制保存并退出(以 !结尾)

h 左 j 下 k 上 l 右  这四个字母 和 方向键 可以移动光标位置

向下 30列 可以使用 30j 或 30下 的组合键

Ctrl + f 向下一页

Ctrl + b 向上一页

Ctrl + d 向下半页
Ctrl + u 向上半页

+ 移动到非空格符的下一列

-  移动到非空格符的上一列

n空格  n表示数字,光标会向右移动 n个字符的距离 

0 或 Home (数字0) 会移动到这一列的最前面字符

$ 或 End  会移动到这一列的最后面字符

H 移动到屏幕最上方那一列的第一个字符

M 移动到屏幕中央那一列的第一个字符

L 移动到屏幕最下方那一列的第一个字符

G 移动到这个文件的最后一列

nG 移动到这个文件的第 n 列,n 为数字

gg 移动到这个文件的第一列,相当于 1g

n回车 光标向下移动 n 列,n 为数字

接下来截图示意:

 

 

 

 

 

 

 

 

 在使用 vim 编辑一个文件时, vim 会在被编辑的文件的目录下,再建立一个名为 .filename.swp 的文件,它可以作为恢复文件使用。

如果打开文件时,vim 发现了 名为 .filename.swp 的文件,会弹出一个提示,在提示里有六个选项,说明如下:

O Open Read-Only 只读模式

E Edit anyway 正常读写模式,可能发生多人对同一文件同时写入的情况

R Recover 读取恢复文件内容

D Delete it 删除这个恢复文件

Q Quit  离开 vim 回到命令提示符界面

A Abort 忽略这个编辑行为,与 Quit 一样,会回到命令提示符界面

 

如果在编辑界面的右下角,能显示光标所在的行列号码,那就表示系统的 vi 被 vim 替代了,可以输入 alias 查看

vi 与 vim  的用法是一样的,vim 只是多了颜色提示、行列位置

 

如果要使用区块编辑模式,先把光标移到区块的左上角,按 v 后左下角会出现 VISUAL BLOCK 字样,将光标移动时,光标移过的区域就会反白

然后按 y 可以复制区块, d 可以删除区块, p 可以粘贴区块。

 

 vim 可以同时编辑多个文件,当需要把文件一中的内容复制到文件二时会特别有用

 

 举例如下:

 

 

 

 

 

 

 

 

 补齐操作与文件扩展名相关

 

 在 vim 的操作都会记录到 ~/.vimrc  ~/.viminfo 文件中来,这样一来,选中的文字在下次打开文件时,仍是选中状态。

这个文件如果不存在,可以手动建立   vim  ~/.vimrc

整体 vim 的设定值一般是放在 /etc/vimrc 这个文件,不建议修改这个文件

 

 

 

 

标签:文件,vi,模式,vim,Linux,移动,光标
来源: https://www.cnblogs.com/z5337/p/16492555.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有