zl程序教程

您现在的位置是:首页 >  工具

当前栏目

vim编辑器技巧备忘(初级-中级)

Vim编辑器 技巧 初级 中级 备忘
2023-09-14 08:59:41 时间
/word 向下查找word,n定位到下一个。?word 向上开始查找,同/word配合N。*直接查找光标所在处单词 :%s/word1/word2/g 替换所有word1为word2(^$ [])

:set noic 区分大小写 (即set no igorecase,set ic不区分大小写)


:!ls 执行bash下的命令ls,回车后继续回到vi。一般在一个不存在的目录中创建文件时用到


熟练上面的命令,已经可以满足日常工作要求,要提高效率可以学习vim的高级用法,如分屏显示、分页、标签功能、代码折叠、键盘映射。

可视化模式

visual mode多用于用键盘灵活选择文本。v或V键进入,可以实现同时编辑多行(如注释)

高级组合命令

gg=G 自动缩排文件
% : 匹配括号移动,包括 (, {, [. ,你需要把光标先移到括号上
* 和 #:匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)


当光标在( ), [ ], , { }, " ",  内时,可以用ci, di, 或yi,加上(, [,  ,{, ", 。这样可以改写/删除/复制( )内,[ ]内, 内,{ }内," "内, 内的内容。

多行注释(块操作)

首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 在行首使用上下键kj选择需要注释的多行; 按下键盘(大写)I键,进入插入模式; 然后输入注释符(“//”、“#”等); 最后按下esc键

删除多行开头的一个字符与此类似,删除多个字符也只要左右键,然后使用d。

另外一种多行注释的方式就是替换:


多行缩进
[ESC], Ctrl+v 选择行 或 左右缩进,=自动缩进(gg=G的局部功能)

多行行末尾加上 ${log}:Ctrl+v /^echo
相当于tab键,一个缩进

多行删除

首先在命令模式下,输入set nu显示行号; 通过行号确定你要删除的行; 命令输入:32,65d,回车键,32-65行就被删除了

自动补全
在Insert模式下,你可以输入一个词的开头,然后按  C-p 或是 C-n ,自动补齐功能就出现了

分屏(split)

分割窗口(同时编辑多个文件)


:ls 展示全部打开的文档。其中 % 代表正在打开的文件(buffer),# 代表上一个编辑过的文件,a 代表当前激活的buffer空间,+ 代表有修改过的内容但还未保存 :buffer 2 转到打开的第二个文件。或简写为 :b2
折叠(fold)

主要应用在复杂脚本的场合,特别是函数比较多,逻辑结构比较复杂的代码。(:help folding)
有6种方式来折叠代码

manual //手工定义折叠 indent //用缩进表示折叠 expr //用表达式来定义折叠 syntax //用语法高亮来定义折叠 diff //对没有更改的文本进行折叠 marker //用标志折叠

indent
:set foldmethod=indent 设置缩进折叠,fdm为简写。只对当前会话有效,要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=indent


Ctrl+v zf 进入可视化模式,选择需要折叠的行,zc执行折叠。会自动加入 #{{{ code block #}}}
zf9j 创建从当前行起至以下9行的折叠标记,zc进行折叠。同9zf。类似有zf30G,从当前行折叠刀第30行 zf% 创建匹配的 {}, [], (),   的fold。不用执行zc

标记(mark)是vim提供的精确定位技术,只要你知道标记的名字,就可以使用命令直接跳转到该标记所在的位置。vim中的标记都有一个名字,这个名字用单一的字符表示。大写和小写字母(A-Za-z)都可以做为标记的名字,这些标志的位置可以由用户来设置;而数字标记0-9,以及一些标点符号标记,用户不能进行设置,由vim来自动设置。(:help mark-motions查看更多帮助)


`. jump to position where last change occurred in current buffer `` jump back (to position in current buffer where jumped from) :delmarks aA。使用:delmarks!删除所有小写(a-z)的标记 :marks 查看所有标记

待续


Win11系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境 众神殿内,依次坐着Editplus、Atom、Sublime、Vscode、JetBrains家族、Comodo等等一众编辑器界的大佬们,偌大的殿堂内几无立锥之地,然而在殿内的金漆雕龙宝座上,端坐着一位睥睨众生的王者,那就是被称之为编辑器之神的Vim,作为一个有着30余年历史的老牌神器,没有任何编辑器可以和它媲美,其时江湖有云:神编Vim不会玩,纵称大神也枉然。Vim在 1976 年发布,奉行 Unix 传统的“Do one thing and do it well”哲学,每个程序只做一件事但求做到最好,通过程序之间的配合得到强大的功能,其两种模式(Normal/Insert) 的玄妙变换,幻