我是程序视点的小二哥,今天和大家一起简述下设计模式中的工厂模式。前言设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。...不愧简单工厂模式的名号。简单工厂模式存在的问题上面的例子中,我们是知道该工厂能创建华为手机和苹果手机。所有我们在测试的时候,也只创建了这两个实例。...通过使用工厂类,外界可以从直接创建具体产品对象的尴尬局面摆脱出来(不用直接new对象了),仅仅需要负责“消费”对象就可以了。而不必管这些对象究竟如何创建及如何组织的。...明确了各自的职责和权利,有利于整个软件体系结构的优化。...当系统中的具体产品类不断增多时候,可能会出现要求工厂类根据不同条件创建不同实例的需求.这种对条件的判断和对具体产品类型的判断交错在一起,很难避免模块功能的蔓延,对系统的维护和扩展非常不利;一句话:虽然简单工厂模式实现了对象的创建和对象的使用分离
前言 在日常的计算化学研究中,我们经常需要将计算得到的分子或者固体/晶体体系简谐振动通过动画的方式直观地呈现在屏幕上,从而可以清楚地知道在某个特定的振动模式下是哪些原子在运动。...这块插件免费、开源,下载后可以在本地任意操作平台(Win、Linux和Mac)上使用。...两个版本对于普通用户来说没有特别大的区别,而且在版本上是同步更新的。...比如在ubuntu中,我们可以使用 sudo apt-get install pymol 在centos中,可以使用 sudo yum --enablerepo=epel install pymol 其他的发行版可以参见...在PyVibMS的界面中,晶格矢量的参数也已经自动设定为2D体系;表格区域罗列了总共9个振动,其中前3个频率为0的模式实际上是平移运动,后面6个才是振动模式。
一份好的 Vim 配置,不仅仅是让你拥有一个强大的文本编辑器,它还能将 Vim 打造成一个类似 IDE(集成开发环境)的高效工作工具,让你在 Linux 中也能体验到编译器般的流畅和便捷。...这份配置涵盖了基础功能的改进、界面的美化以及常用快捷键的设置,帮助用户以更高效、直观的方式使用 Vim。...通过启用语法高亮、自动缩进、鼠标支持、分屏管理等功能,这份配置不仅让 Vim 操作更加顺手,同时也适配了编程场景中的常见习惯。...此外,配置中还集成了对搜索替换、文件操作和分屏切换的优化,让文本编辑更加简洁流畅。 相信这份vim操作能给你高效且个性化的编辑体验。...如何启用配置 将上述配置保存到你的 ~/.vimrc 文件中: vim ~/.vimrc 粘贴配置,保存并退出。
0 前言# 本文参考以下链接: 指尖飞舞: vscode + vim 高效开发 vim 备忘清单 一直憧憬 vim 的全键盘操作, 于是开始折腾将 obsidian 和 vscode 的编辑模式都转到...vim, obsidian 使用自带的 vim 模式加 vimrc 插件, vscode 使用 vim 插件 为了保持 obsidian, vscode, wsl 及 linux 中的 vim 习惯一致..., 我的 vim 使用理念: 尽量使用 vim 原生自带的功能, 拒绝任何三方插件 尽量使用各平台通用的 vimrc 配置 (除了 vscode 使用 setting.json) 1 vim 通用操作#...: vscode 直接使用 setting.json 中 vim 的配置 我的 vimrc 配置示例 " 插入模式下使用 jj 快速返回到 normal 模式 inoremap jj "...使上下移动的时候按照视觉的行数移动, 对于多行的段落很有效 nmap j gj nmap k gk " 快捷行首和行尾 " normal 模式使用 nmap H ^ nmap L $ " 操作模式使用
然而我也是其中之一,曾经多次想过学习 Vim,屡次被劝退。终于这次我在终于学会了使用它。 这篇文章主要不是教学,而是介绍 NeoVim 的强大。...进入 NeoVim,你会发现它和 Vim 长的一模一样,键位和基本的功能几乎一致。 那。...Vim 下有以下几个模式: 普通模式 (Normal Mode) 插入模式 (Insert Mode) 可视模式 (Visual Mode) 选择模式 (Select Mode) 命令模式 (Command...(仅仅是可视模式) vnoremap (可视模式和选择模式) snoremap (选择模式) map (仅仅是普通模式,递归映射) imap etc....插件多,有强大的社区支持。 这次主要介绍一些插件,虽然原生编辑器已经过于强大,使用文档也已经上万行。所以暂且不说。其实我不会 PS:如果你找到此功能在 vscode 中也存在或由插件提供请告诉我。
新买的 surface 由于默认 s 模式无法安装和使用第三方应用。 S 模式退出方法: 快捷键 Win + i 打开设置,选择更新和安全。...注意退出 s 模式后就无法再进入了,这是不可逆的操作哦。 喜欢的点个赞♥吧!
Vim是Linux中最常见的文本编辑器,今天我来谈谈Vim 可视模式。 Vim 中的可视模式是什么?...在 Vim 中,可视模式用于选择文本,这与在 GUI 文本编辑器中通过鼠标单击并拖动以选择文本操作来选择文本的 Vim 等效。...如果要切换到可视模式,则需要先进入普通模式: 视觉模式:(v小写'v') 视觉线模式:(V大写“V”) 视觉块模式:Ctrl + v 使用可视模式 当你切换到可视模式时,Vim 会给你一些细节,它将显示您处于哪种模式以及您选择的文本数量...可视角色模式 如上所述,这用于将光标移动到单个字符上,但不限于选择单个字符,就像普通模式一样,您可以分别使用 w/e/b 键跳过单词和使用 k/j 键上下移动。...结论 本文介绍了可视模式的基础知识及其在 Vim 中的子集,如何导航和使用每个子集以实现最高效率。
Redis是一种基于内存的高速缓存数据库,由于其性能良好、支持多种数据结构和丰富的功能特性,在分布式系统中得到了广泛应用。为了保证Redis的可靠性和高可用性,我们通常会使用主从复制和哨兵模式来实现。...本文将介绍Redis主从复制和哨兵模式的原理及其在实际应用中的使用场景。Redis主从复制Redis主从复制是指将一个节点设置为主节点,其他节点作为从节点,主节点负责写入数据,从节点负责读取数据。...Redis哨兵模式可以实现自动容错切换,减少人工干预的成本,提高系统的可靠性和稳定性。实战应用场景Redis主从复制和哨兵模式在实际应用中有很多使用场景,以下是一些常见的应用场景:1....高可用性方案Redis主从复制和哨兵模式可以提高系统的可靠性和稳定性,保证数据的可用性。在一个分布式系统中,如果一个节点出现故障,可以使用哨兵模式实现自动容错切换,从而避免服务中断的情况发生。2....将新的Redis数据库设置为从节点,等待数据同步完成后,再将其升级为主节点,完成数据库迁移。总结本文介绍了Redis主从复制和哨兵模式的原理及其在实际应用中的使用场景。
大纲如下: VsCode基础小常识(快捷键,连接服务器,配置vim与Git) VsCode写C++、Python与Java项目的相关配置 Vim的使用 ▲这就满足!...命名面板中可以执行各种命令,包括编辑器自带的功能和插件提供的功能。...下面那段拷贝到setting.json中, 这样就会发现进入了vim编辑模式。常用的vim命令还是要会的, 开发更加高效。...这个统一整理到最后面, 借着这次,顺便也复习下Vim的使用, Linux下简直神器。 1.5 配置Git 这个功能我目前没用到, 因为我一般喜欢命令行直接Git相关操作,等具体用到了再补充。...03 Vim使用小记 由于目前我对Vim也是只了解到了些皮毛, 所以只整理些关于vim常用的操作。
然后你可以在自己的浏览器中访问服务器地址,并以和 Codespaces 中一样的操作来使用 VSCode,但却是免费的。...VSCode 就像是文本编辑器中的滑板车一样,而 Vim 则是自行车。 Vim 不是异步的 为什么这是个优势?嗯,这就是它如此之快的原因所在。...我想这取决于你觉得你对自己工作水平的感受,你是否有精力使用终端命令来 lint 你的文件,或阅读:help 来找出配置你的.vimrc 文件的方法(我开始使用 Vim 时从未使用:help,一开始互联网资源绝对是你的好朋友...操作符包括删除(delete)、更改(change)、视觉选择(visual select)和替换(replace),每次选一个使用。 文本对象要么在内部(inside)要么在周围(around)。...其他文本编辑器都会让人感到繁琐和笨重,你会在每一个你能找到的环境中安装“Vim 模式”。 关于动作的更多信息 动作是你在 Vim 中使用最多的按键命令类型,因为它们可以单独用来移动光标。
本篇文章虽然是 VSCode 挂名,但其实介绍了两款神器: VSCode 和 Vim, 这两个结合起来,开发效率蹭蹭蹭!!! 之前接触过 VSCode 但很少用。...大纲如下: VSCode 基础小常识 (快捷键,连接服务器,配置 vim 与 Git) VSCode 写 C++、Python 与 Java 项目的相关配置 Vim 的使用 ▲这就满足!...命名面板中可以执行各种命令,包括编辑器自带的功能和插件提供的功能。...下面那段拷贝到 setting.json 中, 这样就会发现进入了 vim 编辑模式。常用的 vim 命令还是要会的, 开发更加高效。...03 Vim 使用小记 由于目前我对 Vim 也是只了解到了些皮毛, 所以只整理些关于 vim 常用的操作。
仔细回想一下 o(小写)和 O (大写) 的区别,而且我们曾经提到过,普通模式下,大写字母和小写字母功能类似。说到这我想你应该知道答案了。我们使用 P来粘贴到上一行。...下面还是以例子为主吧 例1: 重新在普通模式下定义 - 例如我们使用 :nmap 重新定义 - 为 ddp ,这个时候我们发现它只在普通模式下有用,而在选择模式下无效。...例2: 定义 为复制粘贴 不知道有没有小伙伴在初学vim的时候希望也能像在Windows中那样,使用 和 来进行复制粘贴。...最后还是不推荐这么干,毕竟使用 y 等操作就能搞定的事情没必要弄的这么麻烦。而且在linux平台,特别是在终端上,这些键都另有用途。例如 在vim中可以退回到普通模式。...例3: 定义 为在插入模式下删除一行 我们再举一个例子,我想在插入模式下使用 来删除光标所在行。
之前使用VMWare安装完centos7使用的是NAT模式来使虚拟机联网,这种方式简单方便,但是不能做到和本机进行通讯,于是今天将利用桥接模式联网,使本机可以和虚拟系统进行通讯。...网络连接选择桥接模式,并勾选复制物理网络连接状态。 ? 在VMWare中选择编辑-虚拟网络编辑器:选中VMnet0,并将红框中自动选择为自己的无线网卡的名称,如果是连接了网线,就选择有线网的名称。...这里千万不能选择为自动,我就是按照别人这里选择了自动,捣鼓了半天都不行。无线网卡对应的有一个Wireless标识。 ? 接着我们需要获取本机的ip地址、掩码和网关。...要想让linux联网并和主机进行通讯,就要让linux系统的网关、子网掩码和主机保持一致,且Ip地址的前三位保持一致。进入到以下目录,并查看: ? 需要修改的位置用红框标出了: ?...输入linux的ip地址,用户名和密码,点击连接:弹出以下界面,完成: ?
前言:在了解完Linux基本指令和Linux权限后,我们有了足够了能力来学习后面的内容,但是在真正进入Linux之前,我们还得要学会使用Linux中的几个开发工具。...1.3 卸载软件 在Linux中卸载软件和安装软件差不太多: 指令:yum remove 卸载的软件 使用这条指令后,输入y确定下载查看到complete就说明下载完成 安装和卸载一样,我建议大家运用时都加上...Vim的设计理念是命令的组合,用户可以通过学习各种文本间移动/跳转的命令和其他普通模式的编辑命令,并灵活组合使用,从而比没有模式的编辑器更加高效地进行文本编辑。...vim配置的核心就是向.vimrc中添加更多的配置选项 因为现在的vim没有自动换行也没有缩进和括号补齐,并不算是一个合格的C/C++代码编辑器。...因为vim的配置比较复杂,某些vim配置还需要使用插件。这里我建议参考大佬写的全套vim配置 vim配置 里面详细介绍了vim的安装配置以及卸载!
然而, Vim 仍然有其自身缺陷,对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。 本文介绍7个提高你工作效率和生产力的Vim使用技巧,作为你体验使用Vim进行高效操作的入门级教程。...我个人用 ‘,’ 键作为我的leader键,这样我可以用 ‘,’ 激活我所有的快捷键,然后通过 ‘jj’ 退出插入模式。...提高 Git 工程中 Ctrl-P 的执行效率 将下面的内容添加到你的 .vimrc 文件中(配置使用来使用 git 或 silver 查找工具来自动补全): et g:ctrlp_use_caching...Vim normal命令 Vim normal 命令可以在命令行模式执行普通模式下的命令,当normal命令与Vim可视化模式结合时,只需很少的操作就能完成大量重复性工作。...比如在编辑Markdown文件时想在某些行前面都加上 - 让普通文本行变成无序列表,可以先用 V 选中这些行,然后按 :'normal I- 并回车即可实现。 7.
可能有人会说, vscode 对于vim的一些模式和 ex 命令的支持并不好。我想这就是我们使用 vim 的理由,也是vim 比其他编辑器强的地方。...也不要觉得用vim 的比用 vscode 或者其他编辑器的高级,就高人一等。vim自身也在吸收其他技术不断的成长,例如它从 vscode 那边学来了LSP 和 DAP 。...(我自认为本系列最有价值的是开始配置之前,vim相关特性的介绍) 最后的一条建议就是,如果各位小伙伴未来将长时间使用vim 进行代码的编写和日常的开发。...所以后面我推荐的学习路线就是: 不断阅读vim官方手册 熟练使用某一个第三方配置 在熟练的基础之上根据自己的习惯来定制一些只属于自己的功能 形成一套只属于自己的科学的、高效的文本操作习惯 根据这套习惯尝试定制自己的配置...希望本系列文章能带领大家真正入门vim ,不会再出现因为觉得难而中途放弃。最后祝愿各位小伙伴在vim的使用中能收获快乐,并坚持下去!
vim 是个非常高效、非常好用的工具,很多人一旦开始使用 Vim 之后就再也无法自拔。然而, Vim 仍然有其自身缺陷,对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。 ?...本文介绍7个提高你工作效率和生产力的Vim使用技巧,作为你体验使用Vim进行高效操作的入门级教程。...我个人用 ‘,’ 键作为我的leader键,这样我可以用 ‘,’ 激活我所有的快捷键,然后通过 ‘jj’ 退出插入模式。...Vim normal命令 Vim normal 命令可以在命令行模式执行普通模式下的命令,当normal命令与Vim可视化模式结合时,只需很少的操作就能完成大量重复性工作。...比如在编辑Markdown文件时想在某些行前面都加上 - 让普通文本行变成无序列表,可以先用 V 选中这些行,然后按 :'normal I- 并回车即可实现。
下面推荐几款我觉得还不错的主题插件 tokyonight 官方仓库 在使用 packer 作为插件管理器的前提下可以使用 use 'folke/tokyonight.nvim' 来安装该插件 我们在...我们在 init.lua 中引用它 require("plugin-config/tokyonight") 我们在 tokyonight 中放入下面的配置 -- 配置主题颜色模式为 storm vim.g.tokyonight_style...= "storm" -- 允许neovim中的终端使用该主题配色 vim.g.tokyonight_terminal_colors = true -- 注释使用斜体 vim.g.tokyonight_italic_comments...= true 最后的效果大致如图所示 vscode 再来推荐一个我比较喜欢的主题——vscode.nvim 这是一个使用lua实现的vscode的配色主题,支持暗色和亮色两种模式。...在 packer 的配置中,我们可以加入如下代码 use 'Mofiqul/vscode.nvim' 同样的可以使用 vim.cmd[[colorscheme vscode]] 来启用该主题 我们可以在
通过前面的文章,我们已经介绍了vim的普通模式、插入模式、可视模式。...接下来让我们接着介绍vim中另一个强大的模式——命令行模式 命令模式简介 命令模式可以说在vim中的使用频率不亚于普通模式,像我们平时使用 :w 将缓冲区的内容写入文件,使用 :q 退出vim,这些都是在命令行模式下执行命令...假设我有超过1000行的文本,我想保留前3行和后3行,使用命令的时候可以使用:4,$-3d 将可视模式的选区作为操作范围 手动指定范围的时候,有时候需要我们去手工数开始行号和结尾行号,数数也算是一个比较累的体力活...想到这里我使用 :7m5 完成这一操作之后,打卡下班,未来可期 如果再卷点,我能把明天要修复的bug全都在今天修完了,所以我这个时候想在工作日报中把明日计划工作全部移动到今天来,假设当前光标处于...总结 到此为止,这篇文章的内容就完了,最后给大家总结一下主要内容 命令模式是vim中又一重要的模式,使用率不亚于普通模式 命令可以配合数字或者其他符号使用,代表将要操作的文本范围 主要以 t 和 m 命令介绍了操作文本命令的用法
手动选择是否需要替换 有的时候我们并不希望盲目的对所有内容进行替换,而只替换其中的部分内容。例如上述的文本中,我们只想替换第二行的最后一个 python 为vim。那么可以使用 c 标志。...使用寄存器的内容进行替换 {pattern} 域留空了,vim会自动以上一次的模式来进行匹配,那么如果我把替换域留空,是不是会以上次替换的字符串作为这次的进行替换呢?...这个时候我们会想有没有什么办法能让vim知道我只想将寄存器中的特殊符号作为普通字符串呢?当然是有办法的,我们可以借助vim script 来实现这一需求。...这里介绍一个更简单的方式,可以在普通模式中输入 g& 它会在整个文件中重新执行上一条 substitute命令。它等效于 :%s//~/&。...各位小伙伴可能还会有疑惑,目前介绍的查找替换似乎只针对的是某个文件,如果我想在项目中进行全局替换该怎么办呢?请各位想想之前我们是如何在多个文件中执行宏的。这部分就不做介绍,算是留的一个练习吧。
领取专属 10元无门槛券
手把手带您无忧上云