搜索
首页后端开发Python教程如何理解vim的三种工作模式(命令模式,编辑模式,末行模式)

本篇文章给大家带来的内容是关于,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1.vim的三种工作模式(vim是vi的增强版本)
    命令模式
        按ESC键后就会进入命令模式,命令模式下的常用操作有复制/黏贴/删除/撤销等....
    编辑模式
        在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、
            修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式
    末行模式
        在命令模式下按 : 即可进入末行模式
2.命令模式下的相关操作
    2.1 保存退出:shift + zz  //但是空文件不会保存
    2.2 代码的格式对齐:gg=G
    2.3 光标的移动:
        上下左右按键
        hjkl:左下上右
        行首行尾:0 和 $(shift+4)
        文件首尾:gg 和 G
        到指定行:行号+G
        从当前行往后跳n行:n+enter
        向后跳转一个单词:w
        到下一行行首:enter
    2.4 删除
        删除一个字符:x
        删除一个单词:dw
            如果此时光标在单词的中间则只会删除单词的一部分
        删除前半行:d0
        删除后半行:d$(shift+4)   或者 D(shift+d)
        删除整行:dd
        删除n行:ndd
        删除整篇文章:先将光标移动到最后一行  然后dgg
    2.5 撤销和反撤销
        撤销:u
        反撤销:ctrl + r    
    2.6 复制
        复制一行:yy
        复制n行:nyy
    2.7 粘贴
        粘贴到当前光标的下一行:p
        粘贴到当前光标的上一行:P(shift+p)
    2.8 替换
        替换单个字符:r
        替换n个字符:R  //ESC键退出替换
    2.9 查找:
        方法一:先按/(逆时针查找) 然后输入要查找的内容,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处
        方法二:先按?(顺时针查找) 然后输入要查找的内容,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处
        方法三:将光标移动到你要查找的单词上,然后按#(shift+3) 即可查找,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处
    2.10 查找函数的用法(如同vs下的 f12)
        将光标移动到你要查找的函数名上,然后按:章节号+K(shift+k),q键退出,在按enter键回到代码中
3.可视模式下的操作:在命令模式下按 v 即可进入可视模式,再按一次退出可视模式
    3.1 选中任意文本:    通过上下左右键或hjkl来选中文本
    3.2 复制:y (一个y就够了,复制的就是3.1的结果)
    3.3 删除和剪切:d(一个d就够了,删除的就是3.1的结果)
    3.4 粘贴:这里的粘贴是在光标所在位置的前后不是光标所在行的上下
        在光标位置之后粘贴:p
        在光标位置之前粘贴:P(shift+p)
4.编辑模式:
    a:光标后面插入
    i:
    o:打开新的一行
    s:
5.末行模式:在命令模式下按::
    5.1 保存退出:wq 或 x  + enter
    5.2 行跳转:n + enter    
    5.3 末行模式跳转到命令模式:两次ESC
    5.4 替换:
        替换光标所在行的第一个:s/old/new
        替换光标所在行的所有:s/old/new/g
        一个一个的替换,没替换一个就要询问一次:s/old/new/gc
        替换指定多行的:n1,n2s/old/new/g
        替换指定多行并询问:n1,n2s/old/new/gc
        替换所有:%s/old/new/g    
        替换所有并询问:%s/old/new/gc    
    5.5 分屏:
        水平分屏:sp
        垂直分屏:vsp
        分屏两个不同的文件:sp/vsp 文件名
        屏幕切换:ctrl + ww
        退出分屏:
            q:退出当前
            qall:退出多有
            wq/wqall
    5.5 末行模式下执行shell命令:!命令
6.vim同时打开多个文件
    vim -o 文件1 文件2 文件3   //垂直分屏
    vim -O 文件1 文件2 文件3   //水平分屏
7.vim配置文件
    7.1 用户级别(优先级高)
        ~./vimrc  //可能没有
    7.2 系统级别(优先级低)
        /etc/vimrc
    7.3 vim配置
        set nocompatible  
        set number
        set autoindent
        set smartindent
        set showmatch
        set ruler
        set incsearch
        set tabstop=4
        set shiftwidth=4
        set softtabstop=4
        set cindent
        set nobackup
        set clipboard+=unnamed
        #自动补全
        inoremap ' ''i
        inoremap " ""i
        inoremap ( ()i
        inoremap [ []i
        inoremap { {}O

以上是如何理解vim的三种工作模式(命令模式,编辑模式,末行模式)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Numpy数组与使用数组模块创建的数组有何不同?Numpy数组与使用数组模块创建的数组有何不同?Apr 24, 2025 pm 03:53 PM

numpyArraysareAreBetterFornumericalialoperations andmulti-demensionaldata,而learthearrayModuleSutableforbasic,内存效率段

Numpy数组的使用与使用Python中的数组模块阵列相比如何?Numpy数组的使用与使用Python中的数组模块阵列相比如何?Apr 24, 2025 pm 03:49 PM

numpyArraySareAreBetterForHeAvyNumericalComputing,而lelethearRayModulesiutable-usemoblemory-connerage-inderabledsswithSimpleDatateTypes.1)NumpyArsofferVerverVerverVerverVersAtility andPerformanceForlargedForlargedAtatasetSetsAtsAndAtasEndCompleXoper.2)

CTYPES模块与Python中的数组有何关系?CTYPES模块与Python中的数组有何关系?Apr 24, 2025 pm 03:45 PM

ctypesallowscreatingingangandmanipulatingc-stylarraysinpython.1)usectypestoInterfacewithClibrariesForperfermance.2)createc-stylec-stylec-stylarraysfornumericalcomputations.3)passarraystocfunctions foreforfunctionsforeffortions.however.however,However,HoweverofiousofmemoryManageManiverage,Pressiveo,Pressivero

在Python的上下文中定义'数组”和'列表”。在Python的上下文中定义'数组”和'列表”。Apr 24, 2025 pm 03:41 PM

Inpython,一个“列表” isaversatile,mutableSequencethatCanholdMixedDatateTypes,而“阵列” isamorememory-效率,均质sepersequeSequeSequeReDencErequiringElements.1)

Python列表是可变还是不变的?那Python阵列呢?Python列表是可变还是不变的?那Python阵列呢?Apr 24, 2025 pm 03:37 PM

pythonlistsandArraysareBothable.1)列表Sareflexibleandsupportereceneousdatabutarelessmory-Memory-Empefficity.2)ArraysareMoremoremoremoreMemoremorememorememorememoremorememogeneSdatabutlesserversEversementime,defteringcorcttypecrecttypececeDepeceDyusagetoagetoavoavoiDerrors。

Python vs. C:了解关键差异Python vs. C:了解关键差异Apr 21, 2025 am 12:18 AM

Python和C 各有优势,选择应基于项目需求。1)Python适合快速开发和数据处理,因其简洁语法和动态类型。2)C 适用于高性能和系统编程,因其静态类型和手动内存管理。

Python vs.C:您的项目选择哪种语言?Python vs.C:您的项目选择哪种语言?Apr 21, 2025 am 12:17 AM

选择Python还是C 取决于项目需求:1)如果需要快速开发、数据处理和原型设计,选择Python;2)如果需要高性能、低延迟和接近硬件的控制,选择C 。

达到python目标:每天2小时的力量达到python目标:每天2小时的力量Apr 20, 2025 am 12:21 AM

通过每天投入2小时的Python学习,可以有效提升编程技能。1.学习新知识:阅读文档或观看教程。2.实践:编写代码和完成练习。3.复习:巩固所学内容。4.项目实践:应用所学于实际项目中。这样的结构化学习计划能帮助你系统掌握Python并实现职业目标。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。