热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统下python学习笔记——vim代码编辑器

Vim代码编辑器一、Vim简介     vi是”VisualInterface”的简称。它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块
Vim代码编辑器

一、Vim简介

          vi是”Visual Interface”的简称。它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,Vi不是一个排版程序,只是一个文本编辑程序,vi没有菜单,只有命令,且命令繁多。在程序员中被广泛使用。和Emacs并列成为Linux系统用户最喜欢的编辑器。

           VI是LINUX下最老牌的编辑工具,而VIM则是VI的升级版本。

vim的设计思路:

vim设计之初就是整个文本编辑都用键盘而非鼠标来完成,键盘上几乎每个键都有固定的用法,且vim的制作者希望用户在普通模式(也就是命令模式,只可输入命令)完成大部分的编辑工作,将此设计模式为默认模式,初学者打开vim,如果直接输入单词,结果就会滴滴乱响,这是因为vim把用户输入的单词理解为命令了。

vim的命令:

vim有过百条命令对应编辑的需要,如果能熟练使用vim这些命令,编辑速度确实比鼠标要快很多,但是想全都记住它们也是一件难事,记住它们最好的方法就是多多来练习,把vim用在日常的文本编辑中去。

二、Vim的安装

在命令行敲入“vi”后按”tab”键,可以看到目前系统中是否有vi和vim。

        若没有则在命令行输入命令:sudo apt-get install vim然后等待即可安装成功。在命令行敲入“vi”后按”tab”键,检查是否安装成功。

三、Vim详解

Vim有三种基本模式:命令模式、文本输入模式、末行模式。在命令模式下输入的所有字母都当做命令来执行。文本输入模式下可以进行编辑代码。末行模式下可以执行退出保存等操作。

下面是各个模式之间的转换方式示意图。

《Linux系统下python学习笔记——vim代码编辑器》

Vim的常用命令:

1、 yy:复制   光标所在的这一行

      4yy:复制四行 从光标所在的行(包括)往下共复制四行

2、 p :粘贴    粘贴到光标所在行的下一行

3、dd:剪切(删除)   光标所在的这一行

     2dd:剪切两行(删除)  光标所在行(包括)开始往下共删除两行

     dw:删除当前光标所在的单词

     D:从当前光标开始(包括光标)剪切一直到行末。

     d0: 从当前光标开始剪切一直到行首。

      x(小写):删除当前的光标,每次只会删除一个

      X(大写):删除当前光标前面的那个,每次只会删除一个

4、控制光标移动:h:左     j:下      k:上    l:右

5、M:置光标到当前屏幕的中间位置

      H:置光标到当前屏幕的上方

      L:置光标到当前屏幕的下方

6、ctrl+f:向下翻一页代码

      ctrl+b:向上翻一页代码

      ctrl+u:向上翻半屏

      ctrl+d:向下翻半屏

7、20G:光标快速定位到某一行代码(20行)

      G:光标跳转到   整个代码的最后一行

      gg:光标跳转到  整个代码的第一行

8、w:向后跳一个单词的长度,即调到下一个单词的开始处

      b:向前跳一个单词的长度,即调到上一个单词的开始处

9、u:撤销刚刚的操作

     ctrl+r:反撤销

10、选中一片代码

        v:选到光标(然后按上下左右键可以选择多行)

        V:选一行(然后按上下左右键可以选择多行)

 11、文本行移动:

        >>:整体向右移动代码

        <<:整体向左移动代码

12、重复执行

         . :重复执行上一次命令

13、替换

        r:在命令行模式下一次性替换一个字母

        R:从当前光标开始往后都可替换(重新编辑)

        统一替换:(把所有出现的hello统一替换成world)

               在末行模式下输入::%s/hello/world/g(整篇文章替换)

                                                   11,16s/hello/world(替换11行到16行之间的hello)

14、搜索查找

        /+查找的字符串:就可以高亮显示查找到的相同字符串

        n:往下找下一个搜索到的东西

        N:往上找

15、vim分屏操作  

16、在末行模式下:

        w:保存

        q:退出

        wq:保存退出

        q!:强制退出

17、  在命令行模式下: shift+zz:相当于wq

更多详细命令可以参考文章Vim程序员的利器

附加一张图便于查询

《Linux系统下python学习笔记——vim代码编辑器》

 


推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
author-avatar
猪可夫司机
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有