首页 > 其他分享 >VSCode+Vim 开发

VSCode+Vim 开发

时间:2024-02-27 12:44:18浏览次数:24  
标签:单词 VSCode 跳到 模式 vim char 开发 Vim 光标

VSCode+Vim 开发

一、安装及配置vim插件

0.安装vim拓展

1.拷贝配置到settings.json

settings.json 在"文件"-> "首选项" -> "设置" -> "文本编辑器"

{
  "vim.easymotion": true,
  "vim.incsearch": true,
  "vim.useSystemClipboard": true,
  "vim.useCtrlKeys": true,
  "vim.hlsearch": true,
  "vim.insertModeKeyBindings": [
    {
      "before": ["j", "j"],
      "after": ["<Esc>"]
    }
  ],
  "vim.normalModeKeyBindingsNonRecursive": [
    {
      "before": ["<leader>", "d"],
      "after": ["d", "d"]
    },
    {
      "before": ["<C-n>"],
      "commands": [":nohl"]
    },
    {
      "before": ["K"],
      "commands": ["lineBreakInsert"],
      "silent": true
    }
  ],
  "vim.leader": "<space>",
  "vim.handleKeys": {
    "<C-a>": false,
    "<C-f>": false
  },

  "// To improve performance",
  "extensions.experimental.affinity": {
    "vscodevim.vim": 1
  }
}

二、vim设计哲学

拥有多个模式,使得用更少的按键执行更多的操作

操作符+动作 使得操作准确高效

三、 vim模式

普通模式 NORMAL

普通模式->插入模式

i 在光标前插入
I 在行首插入
a 在光标后插入
A 在行尾插入
o 在下一行插入
O 在上一行插入

插入模式 INSERT

插入模式->普通模式

ESC 或者jj

可视模式 VISUAL

普通模式<->可视模式

v 切换模式

命令模式 :

: +行号 跳转到对应行

四、光标移动

普通模式下操作

0.以字母为单位

h 左 j 下 k 上 l 右

1.以单词为单位

w 跳到下一个单词开头
b 跳到本单词开头或上一个单词开头  这两个接i使用
e 跳到本单词或者下一个单词结尾
ge 跳到上一个单词结尾  这两个接a使用
    
0 跳到行首
^ 跳到从行首开始的第一个非空字符
$ 跳到行尾
gg 跳到第一行
G 跳到最后一行
    
f{char} 光标跳到下个char的位置
F{char} 光标跳到上个char的位置
t{char} 光标跳到下个char的前一个位置
T{char} 光标跳到上个char的后一个位置
; 重复上次单词查找找动作
, 反向查找上次单词    

五、动作

VISUAL模式

用来选中部分

配合操作符使用

六、操作符

操作符可以配合动作一起使用。

Tips:

gd 查看函数定义 ^o 返回

gh 查看函数签名

gt 切换不同

ctrl+shift+e 进入侧栏,按l可以选中文件并且光标移至该文件中

七、easymotion

<leader><leader> s <char> 寻找char 并且可以快速定位

<leader><leader> f <char> 在后面寻找char 并且可以快速定位

<leader><leader> w 快速定位单词开头

<leader><leader> e 快速定位单词结尾

八、vim-surround

用来修改单词周围的包裹,比如"",'',()

d s <char> 删除

c s <char> 修改

y s <char> 替换

标签:单词,VSCode,跳到,模式,vim,char,开发,Vim,光标
From: https://www.cnblogs.com/showball/p/18036643

相关文章

  • ## 进行开发5
    在完成的数据库操作后,自己看到别人的app都有图表,于是自己也尝试学了下安卓中的图表。刚开始学习过程有些坎坷,但学习后发现并没有自己想象的那么难,因为图表是使用第三方库进行创建的,所以自己不用再创建相关的方法,想要实现某种样式,只需要自己调用第三方库中方法,修改相关的设置属性......
  • 如何做到对扩展开发,修改关闭
    这条原则,难以理解,那是因为,”怎么样的带啊吗改动才被定义为扩展“,怎么样的代码才被定义为”修改“,怎么样才算妈祖开闭原则?修改代码就一定意味着违背开闭原则吗?等等这些问题都比较难以理解。 这条原则最有用,那是因为,扩展性是代码质量的重要的衡量标准之一。在23中经典的设计模......
  • delphi 提高unigui开发效率的两个方法
    1、编译时自己退出运行的程序。在做unigui开发时,每次编译运行时,unigui的应用都会在后台运行,每次重新编译时都必须手工在任务栏里将应用退出才行,非常麻烦,可以在项目编译的参数里加上杀进程的命令,这样每次重新编译时就会自动将旧的进程杀掉。命令参数如下:taskkill/f/im$(OUTPUT......
  • The Missing Semester of Your CS Education----vim编辑器
    一.编辑模式Vim的设计以大多数时间都花在阅读、浏览和进行少量编辑改动为基础,因此它具有多种操作模式:正常模式:在文件中四处移动光标进行修改插入模式:插入文本替换模式:替换文本可视化模式(一般,行,块):选中文本块命令模式:用于执行命令你可以按下(退出键)从任何其他模式返回正常模......
  • 【用vue开发微信小程序】(uni-app)(自用,不推荐参考)
    【用vue开发微信小程序】(uni-app)(自用,不推荐参考):https://blog.csdn.net/sp_zhaoyun/article/details/126054403?spm=1001.2101.3001.6650.17&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-126054403-blog-130321374.235%5Ev43%......
  • Android Compose开发
    目录好处入门Composable布局其他组件列表verticalScroll延迟列表内容内边距性能修饰符偏移量requiredSize滚动添加间距SpacerButtonContext文字图片TextField重组状态提升viewmodel互相调用AndroidView项目学习其他text加一个背景paddingzIndexLaunchedEffectDisposableEffectpa......
  • 微服务架构项目开发过程中,如何让服务调用自己的服务
    背景在微服务架构项目开发过程中,经常需要调试代码,由于开发人员较多,某个服务会启动多个节点,经常出现调试的时候,程序逻辑走到别人的服务中,影响问题定位,(甚至有时候,其它同事的服务调不通,影响开发)解决方案可以通过配置feignclient指定自己的IP,如下示例:@FeignClient(value="服务......
  • 基于Rust的Tile-Based游戏开发杂记(01)导入
    什么是Tile-Based游戏?Tile-based游戏是一种使用tile(译为:瓦片,瓷砖)作为基本构建单位来设计游戏关卡、地图或其他视觉元素的游戏类型。在这样的游戏中,游戏世界的背景、地形、环境等都是由一系列预先定义好的小图片(即tiles)拼接而成的网格状结构。每个tile通常代表一个固定的尺寸区域,......
  • 开发框架DevExpress XAF - Entity Framework Core 8支持.NET 8性能基准
    DevExpressXAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。对于使用EntityFrameworkCore(EFCore)(实体核心框架)的用户来说,这是一个......
  • Unity xLua开发环境搭建与基础进阶
    Unity是一款非常流行的游戏开发引擎,而xLua是一个为Unity开发者提供的Lua框架,可以让开发者使用Lua语言来进行游戏开发。在本文中,我们将介绍如何搭建UnityxLua开发环境,并进行基础进阶的学习。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正......