Windows Terminal 配置(Neovim配置)

2023-11-17

Neovim的意义

  1. vim是在linux上非常好用的编辑器(IDE),毕竟高度可配置
  2. 如果你是一名linux的开发人员,当切换到windows上时可以通过通过这个快速适应
  3. 配置完成后你可以直接在powershell中通过vim的命令进行编辑文件,专注于解决问题和编码,减少了使用鼠标、切换窗口的频率,防止打端思路
  4. 是基于vim重构出来的,引入了异步任务,毕竟很早之前vim执行某些任务时,是会卡死,无法响应的。
  5. 可以装B,对于很多人来说命令行也是一种信仰!(我的目标只有3)

下载Neovim

  • 链接地址 点击
  • 右键解压到磁盘某处

安装 vim-plug

md ~\AppData\Local\nvim\autoload
$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
(New-Object Net.WebClient).DownloadFile(
  $uri,
  $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(
    "~\AppData\Local\nvim\autoload\plug.vim"
  )
)

如果遇到Download 第二个参数下载错误,建议先将以上代码复制到txt中,然后再粘贴回windows Terminal

手动创建配置文件

在~\AppData\Local\nvim目录下,创建一个init.vim

配置最基础的vim一些常用习惯

1. 这是我的一个简单配置,我只是编写一些脚本时,会用到vim,粘贴完毕后保存;

  • 所有的插件要放在 begin 和 end 之间
  • 需要外网(这个只能自行解决了)才能正常下载以下插件
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,cp936

call plug#begin('~/.vim/plugged')
Plug 'vim-airline/vim-airline'
" 代码注释反注释
Plug 'preservim/nerdcommenter'
" 高亮光标下单词
Plug 'RRethy/vim-illuminate'
"模糊文件搜索
Plug 'junegunn/fzf.vim'
" ranger的nvim插件,文件浏览
Plug 'kevinhwang91/rnvimr', {'do': 'make sysc'}
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install'  }
Plug 'mzlogin/vim-markdown-toc', { 'for': ['gitignore', 'markdown'] }
" 代码格式整理
Plug 'Chiel92/vim-autoformat'
"彩虹括号
Plug 'luochen1990/rainbow'
call plug#end()

2. 安装/卸载插件,在保存后,这些插件并没有生效,需要通过以下命令进行安装;

# 安装
:PlugInstall
# 卸载
:PlugClean
  • 到neovim的安装bin目录下,右键powershell或Windows Terminal 在此处运行
  • 输入
./nvim.exe
  • 按esc,然后输入
PlugInstall
  • 当看到"Finishing … Done!" 表示安装完成
  • 如果删除/添加了新的插件,直接在配置文件中修改即可,修改完毕之后运行一边安装/删除的命令即可

配置powershell支持vim命令

1. 打开powershell的启动配置文件

notepad $PROFILE

2. 粘贴以下启动项,保存并重启powershell

# There's usually much more than this in my profile!
$SCRIPTPATH = "D:\Neovim\bin"
$VIMPATH    = $SCRIPTPATH + "\nvim.exe"
Set-Alias vi   $VIMPATH
Set-Alias vim  $VIMPATH
# for editing your PowerShell profile
Function Edit-Profile
{
    vim $profile
}
# for editing your Vim settings
Function Edit-Vimrc
{
    vim $home\_vimrc
}

结束心语

  1. 没必要把命令行看成神
  2. 个人认为现代的IDE足够强大,vim这种是辅助工具
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows Terminal 配置(Neovim配置) 的相关文章

  • perfmon 性能计数器是否基于与 xperf 使用的 ETW 事件“幕后”相同的东西?

    我最近开始熟悉 perfmon 和 xperf Perfmon 使用性能计数器 xperf 使用 ETW Windows 事件跟踪 Perfmon 具有提供数据的对象 而 xperf 使用 提供者 组 作为这个领域的新手 我想问是否有人可以
  • 使用 Powershell 在字符串中搜索反斜杠

    我需要搜索字符串中反斜杠的数量以确定一些文件路径参数 我还没有找到一种方法来搜索反斜杠而不让 Powershell 认为它是一个转义字符 regex Matches FilePath count Or a match 这两个都会出现错误 非
  • 运行多个 powershell 命令

    我如何运行前导命令 例如set adserversettings当我在 C 中调用 powershell 命令时 现在它返回 0 个结果 这是我正在使用的代码 Command command1 new Command set adserve
  • Powershell,从txt文件读取并格式化数据(删除行,删除之间的空格)

    我对 powershell 真的很陌生 我想使用powershell读取txt文件并将其更改为其他格式 从 txt 文件中读取 设置数据格式 删除行 删除之间的空格 记录计数 T 000000002 9 个字符 然后将输出写入新文件 我两天
  • 如何使用 vim 作为“git log”编辑器?

    当我跑步时git log 编辑器到底是什么git log正在使用 Also 无论如何我可以使用吗vim作为我的默认编辑器git log 如果我想搜索 git 日志 最好的方法是什么 现在我正在做类似的事情 git log grep bla
  • Winsock 接受超时

    是否可以设置超时时间accept使用阻塞winsockets时的函数 就像我们可以通过setsockopt 来接收和发送函数一样 似乎不可能 但我想确保 选择功能可以与超时一起使用 虽然 select 最常与非阻塞套接字一起使用 但我还没有
  • 批量获取当前目录,不带盘符

    如何获取当前工作目录并获取没有驱动器号的路径 例如 C testing test test I would like to get in a variable testing test test 如何修剪驱动器盘符 我可以使用获取完整路径
  • 检查 Win32 线程是否正在运行或处于挂起状态

    如何检查 Win32 线程是否正在运行或处于挂起状态 我找不到任何提供线程状态的 Win32 API 那么如何获取线程状态呢 我认为 最初 没有提供此信息 因为任何提供此信息的 API 都会产生误导且无用 考虑两种可能的情况 当前线程已挂起
  • Invoke-WebRequest SSL 失败?

    当我尝试使用时Invoke WebRequest我收到一些奇怪的错误 Invoke WebRequest Uri https idp safenames com Invoke WebRequest The underlying connec
  • 移动相邻选项卡以进行拆分?

    有没有一种简单的方法可以将 Vim 中的相邻选项卡作为拆分移动到当前窗口 While looking around I reached a mailing list discussion where someone said it s th
  • MacVim:跨窗口共享命名寄存器?

    我想跨 MacVim 窗口共享命名寄存器缓冲区 就像我在单个实例中跨缓冲区一样 换句话说 假设我标记了一个位置 m 然后去其他地方 我将一些文本拉入寄存器 a 从当前点到 m a m 然后我转到另一个窗口 不 我不是指同一窗口中的另一个分割
  • PowerShell:使用 Invoke-Expression 管理错误

    我尝试弄清楚如何确定使用 Invoke Expression 的命令抛出是否失败 即使变量 LASTEXITCODE 或 ErrorVariable 也对我没有帮助 例如 PS C gt cmd cat c xxx txt 使用 Invok
  • JScript:如何运行外部命令并获取输出?

    我正在使用 cscript exe 运行 JScript 文件 在脚本中我需要调用外部console命令并获取输出 Tried var oShell WScript CreateObject WScript Shell var oExec
  • 如何编写 .bat 或 .cmd 文件来从 PATH 中删除元素?

    Related 如何列出批处理文件中路径的元素 https stackoverflow com questions 1424558 FOR 是如何运作的 https stackoverflow com questions 817280 ho
  • cURL 命令在 git bash 中有效,但在 cmd 和 powershell 中无效

    以下命令在 git bash 中有效 但在 cmd 和 powershell 中无效 curl X POST http localhost 5678 api findgen H Content Type application json d
  • netstat 中未显示正在使用的端口,但尝试使用该端口被 Windows 拒绝

    我已经找到了这个问题的答案 只是想记录我的发现 在我最近的一个项目中 我发现某个端口不会在 netstat 中显示为正在使用 但是当我的项目尝试使用该端口时 会抛出错误 例如 假设我想使用端口 53000 netstat ano finds
  • 如何在 vim 中覆盖 ~/.vim 和 ~/.vimrc 路径(但不能覆盖其他路径)?

    假设我有一个所有 vim 配置的 tarball 通常在 vim 中的所有内容 插件 自动加载 颜色 所有这些东西 和一个 vimrc 文件 我将其提取到某个目录中 所以在我所在的目录 PWD 中 有一个 vim 文件夹和一个 vimrc
  • Visual C++ free 和 malloc 的线程安全性?

    有谁知道 free 和 malloc 在 Visual C 2010 上是否是线程安全的 我遇到了奇怪的问题 内存被损坏 我几乎认为这是唯一的可能性 有谁知道安全装置是否可以打开和关闭以及如何打开和关闭 前提是您链接的是线程安全库 http
  • 如何在Powershell控制台中分配多行字符串

    当我在 powershell 控制台中输入此内容时 test Test Test 并且输入多次 它会一直打印 gt gt 所以我永远无法完成命令 该怎么办 应该是行中的第一件事 或者它被认为只是字符串的一部分 test Test Test
  • 如何设置打开文件时默认展开?

    In my vimrc我已经把set foldmethod syntax启用方法折叠等 但是 我不喜欢每次打开文件时都会折叠整个文件的默认设置 有没有办法启用foldmethod 但是当我打开文件时文件是否展开了 set foldlevel

随机推荐

  • akka设计模式系列-Chain模式

    链式调用在很多框架和系统中经常存在 算不得上是我自己总结的设计模式 此处只是简单介绍在Akka中的两种实现方式 我在这边博客中简化了链式调用的场景 简化后也更符合Akka的设计哲学 trait Chained def receive Rec
  • 数学建模--二次规划型的求解的Python实现

    目录 1 算法流程简介 2 算法核心代码 3 算法效果展示 1 算法流程简介 二次规划模型 二次规划我们需要用到函数 Cvxopt solvers qp P q G h A b 首先解决二次规划问题和解决线性规划问题的流程差不多 求解思路如
  • 中文医学知识语言模型:BenTsao

    介绍 BenTsao 原名 华驼 HuaTuo 基于中文医学知识的大语言模型指令微调 本项目开源了经过中文医学指令精调 指令微调 Instruction tuning 的大语言模型集 包括LLaMA Alpaca Chinese Bloom
  • 无法打开这个应用,查看Microsoft store, 了解有关Nahimic的详细信息

    win s 打开搜索框 输入 Nahimic 鼠标右键单击 打开应用设置 点击 修复 重启电脑
  • 计算机图形学:Bezier曲线的绘制

    1 实验目的 掌握Bezier曲线的定义原理及绘制过程 定义 贝塞尔曲线 Bezier curve 又称贝兹曲线或贝济埃曲线 是应用于二维图形应用程序的数学曲线 一般的矢量图形软件通过它来精确画出曲线 贝兹曲线由线段与节点组成 节点是可拖动
  • 什么是千年虫?计算机如何开始处理日期?都有哪些时间日期格式化?

    目录 千年虫 漏洞 Year 2000 Problem 简称 Y2K 计算机是怎么开始处理日期的么 举例1 时间格式化举例 过滤器 举例2 时间格式化 自定义私有过滤器 日期格式化 高性能计数器演示 OLE时间对象 时间的基本用法 千年虫
  • 【Hello Algorithm】二叉树的递归套路

    本篇博客介绍 介绍二叉树的递归套路算法 二叉树的递归套路 递归思路 判断二叉树是否是平衡二叉树 判断二叉树是否是搜索二叉树 返回二叉树节点的最大距离 验证一棵树是否是满二叉树 寻找最大的BST子树 判断二叉树是否是完全二叉树 判断二叉树的最
  • Shell脚本:expect脚本免交互

    Shell脚本 expect脚本免交互 expect脚本免交互 一 免交互基本概述 1 交互与免交互的区别 2 格式 3 通过read实现免交互 4 通过cat实现查看和重定向 5 变量替换 二 expect安装 1 概述 2 作用 3 e
  • RuntimeError: one of the variables needed for gradient computation has been modified by an inplace o

    RuntimeError one of the variables needed for gradient computation has been modified by an inplace operation torch cuda F
  • 牛客每日刷题

    作者简介 我是18shou 一名即将秋招的java实习生 个人主页 18shou 系列专栏 牛客刷题专栏 在线刷题面经模拟面试 目录 题目 思路 题解 题目 给定一个长度为 n 的字符串 请编写一个函数判断该字符串是否回文 如果是回文请返回
  • computed计算属性和data_computed与watched选项的比较

    computed 通过属性计算而得来的属性 1 支持缓存 只有依赖数据发生改变 才会重新进行计算 computed 属性值会默认走缓存 计算属性是基于它们的响应式依赖进行缓存的 也就是基于data中声明过的数据通过计算得到的 2 不支持异步
  • 3.python学习笔记——Python数据类型转换

    有时候 我们需要对数据内置的类型进行转换 数据类型的转换 你只需要将数据类型作为函数名即可 以下几个内置的函数可以执行数据类型之间的转换 这些函数返回一个新的对象 表示转换的值 int x base 将x转换为一个整数 float x 将x
  • Modern C++ for C 程序员 第4部分

    文章目录 面向 C 程序员的 Modern C 系列第4部分 Lambdas 扩展我们的索引器 容器和算法 查找 STL中的查找算法 更多的容器 Boost容器 Boost MultiIndex 总结 这是bert hubert的系列文章
  • opencv3特征检测的配置与使用

    官网下载opencv for Linux 和opencv contrib opencv版本 3 4 1 编译安装 编译选项为 cmake D OPENCV EXTRA MODULES PATH
  • 在colab中运行shell

    只需要在cell单元格第一行加上 shell 然后按运行按钮 就可以将单元格的内容当做shell执行了 参考例子 https colab research google com drive 1N7p0B 7QWEQ9TIWRgYLueW03
  • 背景的偏移与定位和背景固定

    background position背景的偏移 背景图片默认是贴着元素的左上角显示 通过background position可以调整背景图片在元素中的位置 可选值 该属性可以使用 top right left bottom center
  • java resultset 最后一行_Java:删除选定的行ResultSet,从数据库中删除最后一行?

    谢谢 Germann 我解决了它 我将提供解决方案 以便其他人可以从中获得帮助 你是对的resultSet absolute 返回布尔值 但它也将光标移动到其参数resultSet absolute table getSelectedRow
  • html2canvas 绘制海报清晰度

    场景 使用html2canvas绘制海报 生成海报比较模糊 解决方案 方案一 增大dpi dpi DPI是指某些设备分辨率的度量单位 DPI越低 扫描的清晰度越低 DPI越高 清晰度越高 由于受网络传输速度的影响 web上使用的图片都是72
  • springboot整合mybatis时Could not resolve type alias 'xxx'

    注意 不管用下列哪种解决方法 都要在启动类中加入 总结 springboot整合mybatis要扫描三个东西 mapper接口类 映射文件xxxmapper xml 实体类 指定mapper接口类的位置 MapperScan basePac
  • Windows Terminal 配置(Neovim配置)

    Neovim的意义 vim是在linux上非常好用的编辑器 IDE 毕竟高度可配置 如果你是一名linux的开发人员 当切换到windows上时可以通过通过这个快速适应 配置完成后你可以直接在powershell中通过vim的命令进行编辑文