提升 Vim 技能的四种方法

如果您经常使用安全shell 

$ ssh user@hostname.provider.com

并使用虚拟专用服务器 (VPS) 或本地虚拟化容器,就此而言,您可以从强大的 Vim 技能中受益匪浅。

一、将 Vim 设置为默认文本编辑器

1、将 Vim 设置为 Bash 中的默认值

Bash 通过点文件的组合来管理设置。最常见的做法是将您喜欢的编辑器添加到主目录中的.bashrc文件中,但也可以将其添加到.bash_profile中。 (阅读GNU Bash 文档以了解差异)。

通过将以下内容添加到~/.bashrc,可 Vim 设置为默认编辑器:

# set default editor to Vim

export EDITOR=vim

#开头的行是可选注释,这是提醒自己命令作用的好方法。

2、在 Zsh 中将 Vim 设置为默认值

Zsh 是一种越来越流行的终端模拟器,特别​​是自从最近Apple 基于 FreeBSD Darwin 系统从 Bash 切换到 zsh 后,zsh 点文件与 Bash 类似,因此您可以在~/.zshrc~/.zprofile之间进行选择。有关何时使用哪一种的详细信息,请参阅zsh 文档。

将其设置为默认值:

# set default editor to Vim

export EDITOR=vim

二、优化您的 Vim 配置

关闭 Vi 兼容性,请将以下内容添加到~/.vimrc文件中:

" ensure that legacy compatibility mode is off

" documentation: http://vimdoc.sourceforge.net/htmldoc/options.html#'compatible'

set nocp

三、了解模式

以下是Vim的几个关键模式及其主要功能的概述:

  • 普通模式(Normal Mode):这是Vim的默认模式,主要用于导航和文件操作,如打开、保存和退出。
  • 插入模式(Insert Mode,包括替换模式):在此模式下,Vim允许用户将文本输入到打开的文件中,进行编辑和修改。
  • 视觉模式(Visual Mode):此模式下,Vim的行为类似于基于鼠标的文本编辑器,允许用户选择文本块,并进行复制、剪切、粘贴等操作。
  • 命令模式(Command Mode,包括LineEx命令和Last-line模式):这是Vim中执行更高级操作的关键模式,允许用户执行复杂的命令、脚本和自动化任务。

每种模式都有其独特的功能和技巧,值得用户深入探索。对于希望更深入了解Vim的用户,推荐使用“vimtutor”命令,这是一个交互式教程,可以帮助用户逐步了解如何在Vim中移动、切换模式以及在最后一行模式下运行Ex命令。

四、像弹钢琴一样弹奏 Vim

使用“C-”前缀(即大写字母 C 后跟连字符)来指代 Ctrl 键。

 Vim 在启动时保持处理文本换行关闭,并将其排除在运行时命令文件之外。当需要文本换行时,仅需使用 :set wrapper 命令将其临时设置为命令行模式。

Vim 设置为默认换行并无绝对的对错之分,这完全取决于个人偏好——且这种偏好可能会随时间而改变。类似地,在 Vim 的命令行模式下,所有这些默认行为选项都是可配置且可实时更改的。

您可以在社区论坛、Vim Wiki 以及各类文章(例如本文)中找到大量关于 Vim 默认值设置的建议。

尽情享受探索Vim之美的过程吧,并在评论中分享您遇到的任何问题,让我们一同在Codigger平台上交流学习,共同成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/777951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入Spark与LDA:大规模文本主题分析实战

使用LDA模型和Spark进行文本主题分析 本篇博客介绍了如何使用LDA(潜在狄利克雷分配)模型和Spark进行文本主题分析。我们的目标是从大量的用户评论中提取出主题。 1. 环境设置 首先,我们需要导入所需的库,包括jieba(…

Java八股文(JVM)

Java八股文のJVM JVM JVM 什么是Java虚拟机(JVM)? Java虚拟机是一个运行Java字节码的虚拟机。 它负责将Java程序翻译成机器代码并执行。 JVM的主要组成部分是什么? JVM包括以下组件: ● 类加载器(ClassLoa…

当当狸智能激光雕刻机 多种材质自由雕刻,轻松打造独一无二的作品

提及“激光雕刻”,大多数人的印象一般都是:笨重巨大、价格昂贵、操作复杂、使用门槛较高、调试难度大...不是普通人能够随意操作的,让人望尘莫及。 而小米有品上新的这台「当当狸桌面智能激光雕刻机L1」,将超乎你的想象&#xff…

JimuReport积木报表 v1.7.4 公测版本发布,免费的JAVA报表工具

项目介绍 一款免费的数据可视化报表,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成报…

【C语言基础】:数据在内存中的存储

文章目录 一、整数在内存中的存储二、大小端字节序和字节序判断1. 为什么有大小端?2. 练习 三、浮点数在内存中的存储1. 浮点数的存储1.1 浮点数的存储过程1.2 浮点数取的过程 四、题目解析 书山有路勤为径,学海无涯苦作舟。 创作不易,宝子们…

google浏览器下载文件提示无法安全地下载怎么解决?

在使用google浏览器下载文件的时候,弹出了“无法安全下载”的提示,搞了文件都下载不下来,网上查了一下,是因为chrome认为使用非https链接下载文件是不安全的,在新版本中阻止了用户下载。 目录 1、打开google浏览器的设置

轻量级检测模型效果一定差?基于轻量级目标检测模型构建布匹瑕疵检测模型,对比分析不同分辨率图像尺度对模型效果的影响

瑕疵类的检测模型如:工业部件瑕疵、瓷砖瑕疵、PCB瑕疵、布匹瑕疵等等,在我们之前的博文中已经有过很多相关的开发实践了,这里就不再一一列举了,感兴趣的话可以直接搜索关键字信息博文内容即可一键直达。 因为本文的实验对象选择的…

structured bindings is supported from c++17

结构化绑定可以绑定结构体、数组和 tuple-like 对象。 完整示例&#xff1a; #include <iostream> #include <format> #include <iomanip>void test_00(){struct Box{int width_;int height_;std::string name_;};Box box{3,4,"amazing"};auto [w…

IT服务营销管理案例分析题

习题一 企业随着业务的蓬勃发展&#xff0c;所投入的基础设施资源不断增加。企业员工数倍数增长&#xff0c;办公场地、办公环境等要求也越来越高。 可是该企业的IT部门人员短缺&#xff0c;对IT管理还处于被动的“救火”阶段&#xff0c;每天至少15个突发故障&#xff0c;故障…

YOLOv9改进策略 | 损失函数篇 | InnerIoU、InnerMPDIoU二次创新损失函数助力小目标检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是InnerIoU以及包含其它二次创新的代码InnerCIoU、InnerMPDIoU等一些列利用Inner形成的二次创新损失函数&#xff0c;到此大家可能比较模糊为啥Inner能够和其他损失函数形成二次创新&#xff0c;Inner又是一个什么样的机制&#xff0c;开…

【1】网络协议基础概念

【1】网络协议基础知识 1、互联网2、为什么要学习网络协议3、学习中需要搭建的环境4、客户端-服务器5、Java 的跨平台原理6、C/C的跨平台原理7、一个简单的SpringBoot项目(1) pom.xml(2) application.yml(3) NetworkStudyApp.java(4) SwaggerConfig.java(5) HelloWorldControll…

Git--08--Git分支合并操作

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Git分支合并操作案例流程客户端&#xff1a;GitExtensions操作步骤&#xff1a;A操作步骤&#xff1a;B操作步骤&#xff1a;C操作步骤&#xff1a;D操作步骤&#…

Vue挂载全局方法

简介&#xff1a;有时候&#xff0c;频繁调用的函数&#xff0c;我们需要把它挂载在全局的vue原型上&#xff0c;方便调用&#xff0c;具体怎么操作&#xff0c;这里来记录一下。 一、这里以本地存储的方法为例 var localStorage window.localStorage; const db {/** * 更新…

LockSupport与线程中断机制

中断机制是个协商机制 Interrupt(): 将中断状态设置为true Interrupted():&#xff08;静态方法&#xff09; 1.返回当前线程的中断状态 2.将中断状态清零并设置为false is Interrupted(): 判断当前线程是否被中断 如何停止中断运行中的线程&#xff1f; 一个线程不应该由…

星光/宝骏/缤果/长安 车机CarPlay手机操作破解教程V2.0版本(无需笔记本、无需笔记本、无需笔记本)

之前写了个1.0版本&#xff0c;由于太局限&#xff0c;需要用到笔记本才能操作&#xff0c;很多车友反馈不方便。特此出个手机版教程&#xff0c;简单easy&#xff0c;妈妈再也不用担心我搞不定啦 一、准备工作 先卸载车机上的autokit 或者 智能互联 app&#xff0c;这步很关…

echarts 3D示例 echart, echarts-gl

echarts官网有很多的炫酷的3D模型 来尝试实现下&#xff0c;使用原本的柱状图或者折线图代码创建echarts示例,使用cdn的方式引入echarts <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewp…

【WPF应用20】WPF 控件详解 - RepeatButton 重复按钮的使用

在 Windows Presentation Foundation (WPF) 中&#xff0c;控件是构建用户界面 (UI) 的基础。WPF 提供了丰富的控件库&#xff0c;以满足各种设计和功能需求。其中&#xff0c;RepeatButton 是一种特殊类型的按钮&#xff0c;它在用户按下并持有时会不断地触发点击事件&#xf…

.helper勒索病毒的最新威胁:如何恢复您的数据?

导言&#xff1a; 随着信息技术的不断进步&#xff0c;网络安全问题日益突出&#xff0c;其中勒索病毒成为了威胁网络安全的一大隐患。.helper勒索病毒作为近期频繁出现的一种恶意软件&#xff0c;其危害性和传播速度引起了广大用户的深切关注。本文将深入探讨.helper勒索病毒…

人工智能(pytorch)搭建模型26-基于pytorch搭建胶囊模型(CapsNet)的实践,CapsNet模型结构介绍

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能(pytorch)搭建模型26-基于pytorch搭建胶囊模型(CapsNet)的实践&#xff0c;CapsNet模型结构介绍。CapsNet&#xff08;Capsule Network&#xff09;是一种创新的深度学习模型&#xff0c;由计算机科学家Geo…

灰度图像和RGB图像

灰度图像和RGB图像在医学影像处理的上下文中有着不同的意义&#xff1a; 灰度图像&#xff08;如DICOM医学图像&#xff09;&#xff1a; 窗宽&#xff08;Window Width, WW&#xff09;和窗位&#xff08;Window Level, WL&#xff09;是针对灰度图像&#xff08;特别是医学CT…