206
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
Vim基本命令和常用操作-阿里云服务器ECS使用教程

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   


点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

Vim是从vi发展而来的文本编辑器,可以用颜色或底线等方式来显示一些特殊的信息。Vim是Linux中必不可少的工具,搭建网站修改配置文件时经常用到。本教程介绍Vim编辑器的基本命令和常用操作。

背景信息

Vim的各个模式介绍如下表所示:




模式

作用

模式转换

普通模式

(Normal Mode)

在该模式下,您可以复制、粘贴、删除字符或行。

  • 运行vim <文件名>打开文件时,即进入普通模式。

  • 在其他四个模式下,按Esc键即进入普通模式。

插入模式

(Insert Mode)

在该模式下,您可以插入字符。

在普通模式下,按i,I,a,A,o,O中任一字符即进入插入模式。

说明

进入插入模式后,编辑器左下角会显示-- INSERT --

替换模式

(Replace Mode)

在该模式下,您可以替换字符。

在普通模式下,按R即进入替换模式。

说明

进入替换模式后,编辑器左下角会显示-- REPLACE --

可视模式

(Visual Mode)

在该模式下,您可以选择文本。命令(如,复制、替换、删除等)仅作用于选中的文档。

在普通模式下,按v即进入可视模式。

说明

进入可视模式后,编辑器左下角会显示-- VISUAL --

命令模式

(Command Mode)

在该模式下,您可以查找字符串、替换字符串、显示行号、保存修改、退出编辑器等。

在普通模式下,按:即进入命令模式。

Vim的常用操作包括以下三种:

  • 插入

  • 替换

  • 删除

插入

基本命令:

  • i:在当前字符的左边插入。

  • I:在当前行的行首插入 。

  • a:在当前字符的右边插入。

  • A:在当前行的行尾插入。

  • o:在当前行下面插入一个新行。

  • O:在当前行上面插入一个新行。

本示例中使用的example.conf文件,如下所示:

 
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:# LoadModule foo_module modules/mod_foo.so
#
Include conf.modules.d/*.conf
  • 示例一:在配置文件example.conf的第一行,插入Location。步骤如下:

    1. 运行vim example.conf命令打开文件,进入普通模式。

    2. i进入插入模式。

    3. 输入Location

    4. 按回车键换行。

    5. Esc键退出插入模式。

    6. 输入:wq保存文件并退出。

      插入完成后,example.conf文件如下所示:

       
      Location
      # To be able to use the functionality of a module which was built as a DSO you
      # have to place corresponding `LoadModule' lines at this location so the
      # directives contained in it are actually available _before_ they are used.
      # Statically compiled modules (those listed by `httpd -l') do not need
      # to be loaded here.
      #
      # Example:# LoadModule foo_module modules/mod_foo.so
      #
      Include conf.modules.d/*.conf
  • 示例二:在配置文件example.conf第十行的行首,插入#。步骤如下:

    1. 运行vim example.conf命令打开文件,进入普通模式。

    2. :10将光标定位到第10行。

    3. I进入插入模式。

    4. 输入#

    5. Esc键退出插入模式。

    6. 输入:wq保存文件并退出。

      插入操作完成后,example.conf文件如下所示:

       
      # To be able to use the functionality of a module which was built as a DSO you
      # have to place corresponding `LoadModule' lines at this location so the
      # directives contained in it are actually available _before_ they are used.
      # Statically compiled modules (those listed by `httpd -l') do not need
      # to be loaded here.
      #
      # Example:# LoadModule foo_module modules/mod_foo.so
      #
      #Include conf.modules.d/*.conf
  • 示例三:在配置文件example.conf中,在Include conf.modules.d/*.conf行的下一行插入LoadModule rewrite_module modules/mod_rewrite.so。步骤如下:

    1. 运行vim example.conf命令打开文件,进入普通模式。

    2. 运行/Include conf.modules.d/*.conf找到目标行。

    3. o进入插入模式。

    4. 输入LoadModule rewrite_module modules/mod_rewrite.so

    5. Esc键退出插入模式。

    6. :wq保存文件并退出。

      插入完成后,example.conf文件如下所示:

       
      # To be able to use the functionality of a module which was built as a DSO you
      # have to place corresponding `LoadModule' lines at this location so the
      # directives contained in it are actually available _before_ they are used.
      # Statically compiled modules (those listed by `httpd -l') do not need
      # to be loaded here.
      #
      # Example:# LoadModule foo_module modules/mod_foo.so
      #
      Include conf.modules.d/*.conf
      LoadModule rewrite_module modules/mod_rewrite.so

替换

基本命令:

R:替换光标高亮的字符,直至按下Esc键退出替换模式。

本示例使用的example.conf文件,如下所示:

 
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:#   Options FileInfo AuthConfig Limit
#
AllowOverride None

示例:将配置文件example.conf中的AllowOverride None更改为AllowOverride All

  1. 运行vim example.conf命令打开文件,进入普通模式。

  2. 运行/AllowOverride None找到目标。

  3. 移动光标至None的首字母。

  4. R进入替换模式。

  5. 输入All和一个空格。

    说明

    None中共包含4个字符,而All只包含3个字符,因此输入All之后,需再输入一个空格。

  6. Esc键退出替换模式。

  7. 输入:wq保存文件并退出。

    更改后的example.conf文件,如下所示:

     
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:#   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

删除

基本命令:

  • x:删除光标高亮的那一个字符。

  • nx(n为数字): 删除光标高亮的字符及其后面的n-1个字符。

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

  • ndd(n为数字):删除光标所在行及其下面的n-1行。

本示例中使用的example.conf文件如下所示:

 
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.XX:XX:80Listen 80
  • 示例一:在配置文件example.conf中,将#Listen 12.34.XX:XX:80行首的#删除。步骤如下:

    1. 运行vim example.conf命令打开文件,进入普通模式。

    2. 运行/#Listen 12.34.XX:XX:80找到目标,光标此时定位在#字符上。

    3. x删除#

    4. 输入:wq保存文件并退出。

      删除完成后,example.conf文件如下所示:

       
      # Listen: Allows you to bind Apache to specific IP addresses and/or
      # ports, instead of the default. See also the <VirtualHost>
      # directive.
      #
      # Change this to Listen on specific IP addresses as shown below to
      # prevent Apache from glomming onto all bound IP addresses.
      #
      Listen 12.34.XX:XX:80  Listen 80
  • 示例二:在配置文件example.conf中,将#Listen 12.34.XX:XX:80行和下一行的内容删掉。步骤如下:

    1. 运行vim example.conf命令打开文件,进入普通模式。

    2. 运行/#Listen 12.34.XX:XX:80找到目标。

    3. 2dd删除以下内容。

       
      #Listen 12.34.XX:XX:80Listen 80
    4. :wq保存文件并退出。

      删除完成后,example.conf文件如下所示:

       
      # Listen: Allows you to bind Apache to specific IP addresses and/or
      # ports, instead of the default. See also the <VirtualHost>
      # directive.
      #
      # Change this to Listen on specific IP addresses as shown below to
      # prevent Apache from glomming onto all bound IP addresses.
      #


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!