Visual Code 的 Vim 插件极简使用手册

Visual Code 的 Vim 插件极简使用手册

极简配置

文件 -> 首选项 -> 设置 -> 搜索 vim,向下找到在 setting.json 中添加如下配置

{
   "vim.leader": "<space>",
    // 启用系统粘贴板作为 Vim 寄存器
    "vim.useSystemClipboard": true,
    // 由vim接管 Ctrl + any 的按键,而不是vscode
    "vim.useCtrlKeys": true,
    //在插入模式下按下 Ctrl + ] 退出插入模式
    "vim.insertModeKeyBindings": [
        {
            "before": [
                "<C-]>"
            ],
            "after": [
                "<Esc>"
            ]
        }
    ],
    // 由 visual studio code 接管 ctrl + c, ctrl + a, ctrl + f, ctrl + p
    "vim.handleKeys": {
        "<C-a>": false,
        "<C-f>": false,
        "<C-c>": false,
        "<C-p>": false,
    }
}

常用命令

光标移动(普通模式)

命令说明
h/j/k/l左/下/上/右
w/b下一个/上一个单词
e/E单词尾/单词尾(忽略标点)
^/$/0行首非空字符/行尾/行首
gg/G文件首/尾
H/M/L屏幕首/中/尾
nG跳转到第 n 行
fx/Fx跳到下一个/上一个 x
;/,重复上一个 f/F
Ctrl+f/b向下/上翻页
Ctrl+d/u向下/上翻半页

标记移动(普通模式)

命令说明
m{a-z}在当前位置设置标记,使用小写字母a-z标识
:marks显示所有已设置的标记列表
`{a-z}跳转到对应标记的位置
`"跳转到上次编辑的位置
:ju[mps]显示跳转历史列表
Ctrl + o跳转到上一个位置(older)
Ctrl + i跳转到下一个位置(newer)

编辑

普通模式
命令说明
i/I光标前/行首插入
a/A光标后/行尾插入
o/O下行/上行插入
ea单词尾插入
dd/D删除整行/删至行尾
x/X删除当前/前一个字符
s/S删除当前字符/整行并插入
u/.撤销/重复上一命令
J合并两行
Alt+↑/↓行向上/下移动
插入模式
命令说明
Ctrl+h/w/del/u/k删除前一个字符/单词/后一个单词/至行首/至行尾
Ctrl+rx插入模式下执行寄存器 x 的内容
Ctrl+o临时进入普通模式

可视模式

命令说明
v字符可视模式
V行可视模式
Ctrl+v块可视模式
可视模式下的操作
命令说明
d删除选定文本
y复制选定文本
>增加缩进
<减少缩进
~切换大小写
u转换为小写
U转换为大写

文本对象和范围

文本对象
对象描述示例
w单词diw 删除单词
s句子das 删除句子
p段落dap 删除段落
tXML/HTML标签dit 删除标签内容
b圆括号块dib 删除括号内容
B花括号块diB 删除花括号内容
'单引号字符串di' 删除引号内容
"双引号字符串di" 删除引号内容
范围前缀
前缀描述示例
i内部ciw 修改单词内部
a周围caw 修改单词及空格
t直到dtx 删除直到字符x
f查找dfx 删除包含字符x

寄存器

寄存器说明示例
reg [register]显示寄存器内容:reg 显示所有寄存器内容
""未命名寄存器,最近一次删除或复制的内容p 粘贴最近的内容
"0复制专用寄存器,最近一次复制的内容"0p 粘贴最近复制的内容
"1 - "9删除历史寄存器,按时间排序的最近删除内容"1p 粘贴最近删除的内容
"a - "z命名寄存器,用户自定义存储内容"ay 复制到寄存器a
"+系统剪贴板寄存器"+y 复制到系统剪贴板
"*系统选择寄存器(主要用于X11系统)"*p 粘贴系统选择的内容
"_黑洞寄存器,写入的内容会消失"_dd 删除行但不保存到寄存器
"/搜索寄存器,保存最近的搜索模式"/p 粘贴最近的搜索内容
":命令寄存器,保存最近执行的命令":p 粘贴最近的命令
"=表达式寄存器,用于计算表达式"=2+2<CR>p 插入计算结果

注意:

  1. 使用大写字母(如 "A)会追加内容到对应的小写寄存器
  2. 复制操作默认同时写入 "0"" 寄存器
  3. 删除操作默认写入 """1 寄存器,同时将原有内容下移

折叠代码

命令说明
za切换折叠状态
zM全部折叠
zR全部展开

查询命令

命令说明示例
/pattern向前搜索/const 搜索 “const”
?pattern向后搜索?func 搜索 “func”
n跳到下一个匹配项n 继续查找
N跳到上一个匹配项N 反向查找
*向前搜索当前单词光标在单词上按 *
#向后搜索当前单词光标在单词上按 #
gd跳转到局部变量定义光标在变量上按 gd
gf跳转到文件光标在文件名上按 gf
:noh取消搜索高亮输入 :noh 回车
搜索模式
模式说明示例
\c忽略大小写/word\c
\C大小写敏感/word\C
^行首/^func
$行尾/end$
\<单词开始/\<word
\>单词结束/word\>
.*任意字符/start.*end

标签页

命令说明
Ctrl+Tab切换标签页
Ctrl+w关闭标签页
Ctrl+p打开文件

案例

‘.’ 命令

该命令可以作为一个微小的宏。它能重复你从插入模式切换到普通模式再到插入模式的操作。对于下面的文本,你想在每行的末尾添加一个分号。第一行执行 A;<Esc>,后两行执行 j.


var foo = 1
var bar = 'a'
var baz = true
### 关于 Windsurf 的免费使用及其开源替代方案 Windsurf 是一种轻量级的代码编辑器工具,适用于高频写代码的需求[^1]。虽然官方文档并未明确提及完全免费使用的具体条款,但通常情况下,此类工具会提供一定的试用期或者基础功能的免费版本供用户体验。 #### 如何尝试免费使用 Windsurf 如果希望体验 Windsurf 的基本功能,可以通过以下方式获取有限制的免费服务: 1. **注册账户并申请试用版** 用户可以在其官方网站上创建一个免费账户,并通过电子邮件验证激活账号。部分开发者工具会在初始阶段提供一定时间的功能试用,例如 7 天或 30 天不等。 2. **利用社区版(Community Edition)** 如果存在社区版,则该版本通常是永久免费的,尽管可能缺少某些高级特性。用户应查阅官方文档中的许可协议部分以确认是否有此选项。 3. **参与 Beta 测试计划** 许多新兴开发工具有时邀请早期使用者加入 beta 版本测试项目,在这种模式下,参与者往往能够无成本地获得完整的访问权限作为反馈交换的一部分。 对于那些寻求更灵活控制权的人群来说,考虑采用类似的开源解决方案可能是明智之举。 #### 开源替代品推荐 鉴于 Windsurf 可能存在的付费门槛问题,这里列举几个强大的开源替代产品可供选择: - **VS Code (Visual Studio Code)** 微软推出的跨平台文本编辑器支持丰富的插件生态系统,几乎满足任何类型的编程需求[^3]。 - **Neovim / Vim** 这两款高度可定制化的命令行界面编辑程序深受 Linux 用户喜爱,尤其适合偏好风格工作流的技术人员[^4]。 - **Atom by GitHub** Atom 提供直观友好的图形用户界面(GUI),同时保持良好的扩展性兼容性[^5]。 值得注意的是,随着 O1 等新型深度学习框架的到来,越来越多的企业个人倾向于构建自己的专属 IDE 或者集成环境来适配特定应用场景下的独特要求[^2]。因此,当传统商业软件无法充分匹配实际业务目标时,转向自定义开发或许成为未来趋势之一。 ```python import windsurf as ws # 假设这是初始化连接到 Windsurf API 的伪代码示例 client = ws.Client(api_key="your_api_key_here") response = client.get_features() print(response) ``` 以上展示了假设性的 Python SDK 调用片段用于演示目的;真实世界里需参照对应服务商给出的确切指导手册执行相应配置步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值