专栏首页Debian社区Linux 系统 vim 编辑器使用简明教程

Linux 系统 vim 编辑器使用简明教程

vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。

基本上vi可以分为三种状态,分别是命令模式(command mode)、输入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式、底行模式下。 2) 输入模式(Insert mode) 只有在输入模式下,才可以做文字输入,按ESC键可回到命令模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式也算入命令模式。

一、打开文件、保存、关闭文件(vi命令模式下使用)

vi filename       //打开filename文件 :w       //保存文件 :w debian.cn //保存为当前目录下的文件”debian.cn” :q          //退出编辑器,如果文件已修改请使用下面的命令 :q!        //退出编辑器,且不保存 :wq         //退出编辑器,且保存文件 :x! //退出编辑器,且保存文件,忽略是否对文件具有写权限

(adsbygoogle = window.adsbygoogle || []).push({});

二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

a      //在当前光标位置的右边添加文本 i       //在当前光标位置的左边添加文本 A     //在当前行的末尾位置添加文本 I      //在当前行的开始处添加文本(非空字符的行首) O     //在当前行的上面新建一行 o     //在当前行的下面新建一行 R    //替换(覆盖)当前光标位置及后面的若干文本 J    //合并光标所在行及下一行为一行(依然在命令模式)

三、移动光标(vi命令模式下使用)

vi 可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母 h 、 j 、 k 、 l ,分别控制光标左、下、上、右移一格。

按 Ctrl+b :屏幕往后移动一页。

按 Ctrl+f :屏幕往前移动一页。

按 Ctrl+u :屏幕往后移动半页。

按 Ctrl+d :屏幕往前移动半页。

按数字 0 :移到当前行的开头。

按 G :移动到文章的最后。

按 $ :移动到光标所在行的行尾。

按 ^ :移动到光标所在行的行首。

按 w :光标跳到下个字的开头。

按 e :光标跳到下个字的字尾。

按 b :光标回到上个字的开头。

按 #l :光标往后移的第#个位置,如:5l,56l .

四、删除、恢复字符或行(vi命令模式下使用)

x :每按一次,删除光标所在位置的后面一个字符。

#x :删除光标所在位置的后面#个字符,例如, 6x 表示删除光标所在位置的后面6个字符。

X :每按一次,删除光标所在位置的前面一个字符。

#X :删除光标所在位置的前面#个字符,例如, 20X 表示删除光标所在位置的前面20个字符。

dd :删除光标所在行。

#dd :从光标所在行开始删除#行。

五、搜索(vi命令模式下使用)

/yusi123     //向光标下搜索yusi123字符串 ?yusi123     //向光标上搜索yusi123字符串 n           //向下搜索前一个搜素动作 N         //向上搜索前一个搜索动作

六、跳至指定行(vi命令模式下使用)

n+        //向下跳n行 n-         //向上跳n行 nG        //跳到行号为n的行 G           //跳至文件的底部

七、设置行号(vi命令模式下使用)

:set  nu     //显示行号 :set nonu    //取消显示行号

八、复制、粘贴(vi命令模式下使用)

yy    //将当前行复制到缓存区,也可以用 “ayy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 nyy   //将当前行向下n行复制到缓冲区,也可以用 “anyy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 yw    //复制从光标开始到词尾的字符。 nyw   //复制从光标开始的n个单词。 y^      //复制从光标到行首的内容。 y$      //复制从光标到行尾的内容。 p        //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用”ap 进行粘贴。 P        //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用”aP 进行粘贴。

九、替换(vi命令模式下使用)

:s/old/new      //用new替换行中首次出现的old :s/old/new/g         //用new替换行中所有的old :n,m s/old/new/g     //用new替换从n到m行里所有的old :%s/old/new/g      //用new替换当前文件里所有的old

十、编辑其他文件

:e otherfilename    //编辑文件名为otherfilename的文件。

十一、修改文件格式

:set fileformat=unix   //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。

注意:如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒一点:注意大小写!!【本文转载自 欲思博客 略有增删】

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Bootstrap 4正式发布 带来新的示例和新的主题

    Bootstrap 4.0.0 正式版现已发布,更新内容方面,相对于之前的测试版,正式版没有重大的改变,但做出了一些关键的改进,并解决了一些棘手的错误。

    Debian社区
  • Let’s Encrypt倡议新认证策略 提高抗攻击能力

    Let’s Encrypt是一家得到Mozilla Firefox和Google Chrome支持的自动化证书颁发机构。今天该机构宣布了一项新措施,从而进一步保...

    Debian社区
  • 互联网协议正在发生变化

    当上世纪九十年代互联网开始被广泛使用的时候,其大部分的通讯只使用几个协议:IPv4 协议路由这些数据包,TCP 协议转发这些包到连接上,SSL(及后来的 TLS...

    Debian社区
  • vi编辑器

    vi是UNIX和Linux系统内嵌的标准正文编辑器,是一种交互类型的正文编辑器,是一种命令行方式的正文编辑器,可以在图形界面没有启动的情况下工作,是全屏幕正文编...

    于小勇
  • 有关vi(vim)的常用命令

    导读 vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。...

    zenRRan
  • Linux篇---Vi的使用

     1、打开文件 vim /path/to/somefile vim +# :打开文件,并定位于第#行 vim +:打开文件,定位至最后一行 vim +/PAT...

    LhWorld哥陪你聊算法
  • 高手 都喜欢用vim编辑器

    现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

    互扯程序
  • 大型互联网公司使用的数据库设计规范

    2、 数据库命名规范,统一:hs_xxxx;表名不超过40个字符(即最大只能40个字符)

    阿泽
  • Kubernetes的DaemonSet(上篇)

    静儿作为美团容器化团队HULK的一员,经常需要和Kubernetes(k8s)打交道。第一次登陆node(宿主机)的时候,发现连续登陆几台都看到了Prometh...

    静儿
  • Python3 中文转拼音

    py3study

扫码关注云+社区

领取腾讯云代金券