热门标签 | 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代码编辑器》

 


推荐阅读
  • 本文详细介绍了在Ubuntu操作系统中使用GDB调试工具深入分析和调试标准库函数`printf`的源代码过程。通过具体步骤和实例,展示了如何设置断点、查看变量值及跟踪函数调用栈,帮助开发者更好地理解`printf`函数的工作原理及其内部实现细节。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 本文深入探讨了Python线程池的内部实现机制,作为对Apshceduler调度器研究的延伸。在先前关于Apshceduler源码分析的文章中,我们提到调度器通过`def_do_submit_`函数将任务提交到线程池。本文将进一步解析线程池的工作原理,包括任务分配、线程管理及性能优化等方面,为读者提供更全面的技术理解。 ... [详细]
  • 如何在Ubuntu系统中直接使用Snap安装软件
    Canonical与Opera Software近日宣布,基于Chromium的Opera浏览器现已作为Snap包提供给Ubuntu用户,显著提升了在Linux操作系统上的安装便捷性和兼容性。通过Snap,用户可以在Ubuntu系统中轻松安装和更新Opera浏览器,享受更流畅的浏览体验。此外,Snap的容器化特性还确保了应用的安全性和稳定性,为用户提供更加可靠的软件环境。 ... [详细]
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • 欢迎来到Netgen新时代:探索网络生成技术的无限可能
    欢迎进入Netgen的新时代:探索网络生成技术的无限潜力。本文将详细介绍如何编译下载的Netgen源代码,生成Netgen程序,并提供开发所需的库nglib。此外,还将探讨Netgen在现代网络设计与仿真中的应用前景,以及其在提高网络性能和可靠性方面的关键作用。 ... [详细]
  • C语言开发学生信息管理系统的实践体会与技术总结
    在C语言开发的学生信息管理系统项目中,我们成功实现了学生信息的增、删、改、查功能,并将操作结果实时同步到文本文件中。通过该项目,我们不仅掌握了C语言的基本语法和文件操作技巧,还深入理解了数据结构和算法的应用。在设计修改学生信息界面时,我们采用了分步验证和动态更新的方法,确保数据的一致性和准确性。此外,我们还对系统进行了性能优化,以提高数据处理效率和用户体验。以下是系统部分界面的展示,供参考。 ... [详细]
  • Python正则表达式详解:掌握数量词用法轻松上手
    Python正则表达式详解:掌握数量词用法轻松上手 ... [详细]
  • Docker网络基础探讨了如何通过高效的技术手段实现跨主机容器间的顺畅通信与访问。本文深入分析了Docker网络架构,特别是其在多主机环境下的应用,为Go语言开发者提供了宝贵的实践指导和理论支持。 ... [详细]
  • 本指南详细介绍了如何使用 `apt-get` 命令在 Ubuntu 系统上部署 MySQL 5、Apache 2、PHP 5 及 phpMyAdmin。首先,建议读者查阅 Ubuntu 的官方文档以获取更多背景信息。通过本文,您将逐步了解每个软件包的安装过程及其配置方法,确保系统环境的稳定性和安全性。此外,还将提供一些常见问题的解决方案,帮助用户顺利完成部署。 ... [详细]
  • 技术日志:在Ubuntu 20.04上部署与移除MySQL 8的详细步骤
    技术日志:在Ubuntu 20.04上部署与移除MySQL 8的详细步骤 ... [详细]
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社区 版权所有