02_[nvim0.5+从0单排]_配置、按键映射与packer插件管理器

2023-05-16

视频与目录

项目
教程目录https://blog.csdn.net/lxyoucan/article/details/120641546
视频全屏https://www.bilibili.com/video/BV1rf4y1E7dr/
视频

02_配置、按键映射与packer插件管理器

安装git

开始之前要先安装一下git

brew install git

配置

init.vim

mkdir -p ~/.config/nvim
nvim ~/.config/nvim/init.vim
" 配置文件导入 "{{{
" ---------------------------------------------------------------------
" 基础使用习惯配置
runtime ./vimrc.vim
" 插件管理
"./lua/plugins.lua
lua require('plugins')
" 按键映射
runtime ./maps.vim

vimrc.vim

"----vim 个人使用习惯配置start------
set encoding=UTF-8
" leader设置成空格
let mapleader=" "
" 使用鼠标
set mouse=c
" 显示行号
set nu
" 相对行号
set relativenumber
" tab=4个空格
set tabstop=4
set shiftwidth=4
" 改变 vim中光标的形状
let g:db_ui_use_nerd_fonts=1
let &t_SI.="\e[5 q" "SI = INSERT mode
let &t_SR.="\e[4 q" "SR = REPLACE mode
let &t_EI.="\e[1 q" "EI = NORMAL mode (ELSE)
" 高度光标所在行
"set cursorline
" 设置不换行
"set nowrap
set wrap
" 显示按下的按键
set showcmd
" 按tab显示菜单
set wildmenu
" 不需要备份文件
set nobackup
"----vim 个人使用习惯配置end------
"ssh 远程粘贴板
if executable('clipboard-provider')
    let g:clipboard = {
          \ 'name': 'myClipboard',
          \     'copy': {
          \         '+': 'clipboard-provider copy',
          \         '*': 'env COPY_PROVIDERS=tmux clipboard-provider copy',
          \     },
          \     'paste': {
          \         '+': 'clipboard-provider paste',
          \         '*': 'env COPY_PROVIDERS=tmux clipboard-provider paste',
          \     },
          \ }
endif
"随机选一个颜色风格
function RandomColorScheme()
  let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n") 
  exe 'so ' . mycolors[localtime() % len(mycolors)]
  unlet mycolors
endfunction

"call RandomColorScheme()

:command NewColor call RandomColorScheme()


" 文件类型设置 "{{{
" ---------------------------------------------------------------------
" JSX 语法高亮
" set filetypes as typescriptreact
autocmd BufNewFile,BufRead *.tsx,*.jsx,*.js set filetype=typescriptreact

maps.vim

"-------------------------------------------------------------------------------
" window
"-------------------------------------------------------------------------------
" Split window
nmap ss :split<Return><C-w>w
nmap sv :vsplit<Return><C-w>w
" Move window
"nmap <Space> <C-w>w
"map s<left> <C-w>h
"map s<up> <C-w>k
"map s<down> <C-w>j
"map s<right> <C-w>l
map sh <C-w>h
map sk <C-w>k
map sj <C-w>j
map sl <C-w>l

" Resize window
" 在mac/linux中使用Alt键,在webssh
" 中alt没用,就使用Ctrl,WEBSSH主要的WINDOWS中使用
nmap <M-left> <C-w><
nmap <C-left> <C-w><
nmap s<left> <C-w><

nmap <M-right> <C-w>>
nmap <C-right> <C-w>>
nmap s<right> <C-w>>

nmap <M-up> <C-w>+
nmap <C-up> <C-w>+
nmap s<up> <C-w>+

nmap <M-down> <C-w>-
nmap <C-down> <C-w>-
nmap s<down> <C-w>-

" 插入模式移动光标
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
inoremap <C-d> <Delete>
" hh在我用的单词里出现的频率极低,其实感觉home用的没有end多,统一风格都用大写的吧
"inoremap HH <Home>
" 单词中包含ll的太多了,所以用大写LL
"inoremap LL <End>
" jk <Esc>
inoremap jk <Esc>
" 插入模式鼠标滚轮抵消,不然会出现滚动鼠标录入了一堆5j5k
inoremap 5k <Esc>
inoremap 5j <Esc>
inoremap 9<CR> <Esc>a
" 快速跳转行首与行尾  
nnoremap L $
nnoremap H ^
" 向下5行
noremap <C-j> 5j
" 向上5行
noremap <C-k> 5k
" 保 存
noremap <C-s> :w<CR>
noremap s :w<CR>
" Coc智能处理,使用IDEA Alt+Enter 同样按键
"noremap <M-Enter> :CocAction<CR>
inoremap <C-s> <ESC> :w<CR>
" 代码格式化
noremap <leader>f :Format<CR> 
noremap <leader>r :luafile ~/.wp/lua/run.lua<CR>

" 强制退出
map Q :q<CR>
"map qq :q<CR>
" 重新加载设置
map R :source $MYVIMRC<CR>
"自动关闭标签
inoremap <buffer> <C-v> <esc>yiwi<lt><esc>ea></><esc>hpF>i
set iskeyword+=<,>
iab <h1> <lt>h1> <lt>/h1><esc>5ha

" 全选
nmap <C-a> gg<S-v>G
" 加/减数字1
nnoremap + <C-a>
nnoremap - <C-x>
"-------------------------------------------------------------------------------
" Buffers
"-------------------------------------------------------------------------------
" Open current directory
" 插入模式移动光标
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
inoremap <C-d> <Delete>
" hh在我用的单词里出现的频率极低,其实感觉home用的没有end多,统一风格都用大写的吧
"inoremap HH <Home>
" 单词中包含ll的太多了,所以用大写LL
"inoremap LL <End>
" jk <Esc>
inoremap jk <Esc>
" 插入模式鼠标滚轮抵消,不然会出现滚动鼠标录入了一堆5j5k
inoremap 5k <Esc>
inoremap 5j <Esc>
inoremap 9<CR> <Esc>a
" 快速跳转行首与行尾  
nnoremap L $
nnoremap H ^
" 向下5行
noremap <C-j> 5j
" 向上5行
noremap <C-k> 5k
" 保存
noremap <C-s> :w<CR>
" Coc智能处理,使用IDEA Alt+Enter 同样按键
noremap <M-Enter> :CocAction<CR>
inoremap <C-s> <ESC> :w<CR>
" 代码格式化
"noremap <leader>f :Format<CR> 

" 强制退出
map Q :q<CR>
" 重新加载设置
map R :source $MYVIMRC<CR>
"自动关闭标签
inoremap <buffer> <C-v> <esc>yiwi<lt><esc>ea></><esc>hpF>i
set iskeyword+=<,>
iab <h1> <lt>h1> <lt>/h1><esc>5ha

" 全选
nmap <C-a> gg<S-v>G
" 加/减数字1
nnoremap + <C-a>
nnoremap - <C-x>
"-------------------------------------------------------------------------------
" Buffers
"-------------------------------------------------------------------------------
" Open current directory
"nmap te :tabedit
"nmap <S-Tab> :tabprev<Return>
nmap <S-Tab> :bprev<Return>
"nmap <Tab> :tabnext<Return>
nmap <Tab> :bnext<Return>
" 窗口管理器
" invoke with '-'
nmap  -  <Plug>(choosewin)
"nmap  sw  <Plug>(choosewin)
"nmap  <leader>w  <Plug>(choosewin)

lua/plugins.lua

---@diagnostic disable: undefined-global
--在没有安装packer的电脑上,自动安装packer插件
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
	 --fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})	--默认地址
	fn.system({'git', 'clone', '--depth', '1', 'https://codechina.csdn.net/mirrors/wbthomason/packer.nvim.git', install_path})	--csdn加速镜像
	vim.cmd 'packadd packer.nvim'
end
-- Only required if you have packer configured as `opt`
vim.cmd [[packadd packer.nvim]]
return require('packer').startup({
	function()
		use 'wbthomason/packer.nvim'-- Packer can manage itself
	end,
	config = {
		max_jobs = 16,
		git = {
			default_url_format = 'https://hub.fastgit.org/%s'
		},
		display = {
			open_fn = function()
				return require('packer.util').float({ border = 'single' })
			end
		}
	}
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

02_[nvim0.5+从0单排]_配置、按键映射与packer插件管理器 的相关文章

随机推荐

  • docker-compose 巧妙使用

    一般做ctf题目 xff0c 有时候题目给了docker 一般 docker compose up build d d表示运行成果后进入后台 这个命令不仅帮我们build image xff0c 也帮我们run了个容器 docker com
  • expo中使用react navigation 6.x笔记

    新版本react navigation 6 x xff0c 与5 x有什么区别呢 xff1f 记个笔记吧 xff01 文章目录 环境安装依赖安装 native stack navigator library示例 xff1a 导航到一个新的屏
  • windows10安装子系统Ubuntu 20.04

    很久之前就听说了windows10的子系统 因为平时用macOS比较多 xff0c 一直没有体验一把 最近切到windows环境下开发 xff0c 正好有空体验一把windows的子系统 文章目录 安装环境先决条件检查版本 实战程序与功能启
  • Termux配置neovim IDE

    之前玩Termux基本就是通过proot distro来安装Linux发行版本 xff0c 然后在发行版本中在配置neovim环境 这样比较简单一些 xff0c 遇到问题也可以直接网上搜索对应发行版本的解决办法就可以了 今天挑战一下直接在T
  • sed:-e 表达式 #1,字符 11:“s”的未知选项

    报错的命令 apex 64 localhost span class token function sed span i span class token string 34 s lt USER gt span class token en
  • 手机也有生产力,手把手教你用手机开发APP

    只有手机没有电脑 xff0c 能不能学编程 xff1f 能 xff01 今天的教程献给 xff0c 那些没有电脑但是对电脑或者编程有浓厚兴趣的同学 如果你有手机 xff0c 但是没电脑或者电脑不在身边 xff0c 也许这个教程能对你学习编程
  • coc-lua安装报错解决办法

    项目地址 xff1a https github com josa42 coc lua 现象 macOS中使用正常CentOS7有异常 环境CentOS7中 执行命令 CocInstall coc lua成功安装后 xff0c 重启nvim
  • Lua学习笔记

    neovim 0 5正式版本已经发布了 xff0c 现在学习Lua语言还来的及吧 lua替换vim脚本渐渐成为了趋势了 Lua学习下来 xff0c 感觉与javascript特别的像 就是代码块不是使用 分割 xff0c 而是end xff
  • neovim0.5笔记

    neovim0 5版本更新比较大 xff0c 有一些大佬开始抛弃coc xff0c 而使用native lsp了 学习一下记录一下 我参考的是 xff1a https github com craftzdog dotfiles public
  • vim-airline底部状态栏不显示图标的解决办法

    现象 正常的 以前我使用的airline都是有图标显示的 xff0c 如下图所示 不正常的 最近刚升级neovim0 5 尽可能的使用lua配置 xff0c 把环境重新配置了一下 后来就发现我的nvim下面的状态栏 xff0c 不显示图标了
  • LuaSnip代码段使用的正确姿势

    自己升级了neovim 0 5 以来各种尝试从coc切换到native lsp 在coc中代码段配置非常的简单 我之前有文章记录过 vim自动关闭标签 https blog csdn net lxyoucan article details
  • python一键删除误触复制的文件

    现在拍照有时候多选照片不小心变成了复制 xff0c 一个个删除太麻烦 xff0c 就出现了如下脚本 import os for file in os listdir 39 39 if 39 副本 39 in file os remove f
  • 在 neovim 中使用 Lua

    原文 xff1a https github com glepnir nvim lua guide zh nvim lua guide 中文版简易教程 译者 Neovim Core Developer 文章目录 在 neovim 中使用 Lu
  • github加速你可能不知道的小技巧

    在国内的网络环境下 使用github就是一个字 慢 有没有什么没有门槛 很简单的办法能够加速呢 有 方法一 使用csdn的镜像 https codechina csdn net mirrors 对一些知名的项目 也就是说Stars比较多的项
  • 安卓电视ssh应用

    有时下班回家没带电脑 xff0c 又突然想写两行代码 家里的大屏电视就是不错的选择 经过我这段时间的使用 xff0c 有几种实用方案分享给大家 手机投屏 这个方案是我用的最久 xff0c 也是最容易使用的方案 通过乐播投屏之类的方式把手机的
  • nvim-cmp插件function自动补()

    背景 之前使用的coc 最近刚转到NVIM native 方式的lsp 自动补全用的是nvim cmp插件 整体都不错 很满意 就是有一点不习惯 自动补全的function 或method不能自动在末尾加上 每次都要手动输入 有些麻烦 与是
  • oracle instant-client下载与安装sqlplus

    在下面的地址 xff0c 选择你的操作系统版本下载 https www oracle com database technologies instant client downloads html 比如我这里选的是 xff1a https
  • lua读取文本并去掉重复行

    需求 有一个文本文件 里面有大量的重复行 要求把重复的部分去掉 我本想用我的老本行java来实现的 感觉挺简单的 拿lua练一下手吧 源文本如下 column XH format a9 column XM format a9 column
  • 01_[nvim0.5+从0单排]_neovim安装与Pynvim安装

    视频与目录 项目值教程目录https blog csdn net lxyoucan article details 120641546视频全屏https www bilibili com video BV12f4y1E7Hy 视频 01 n
  • 02_[nvim0.5+从0单排]_配置、按键映射与packer插件管理器

    视频与目录 项目值教程目录https blog csdn net lxyoucan article details 120641546视频全屏https www bilibili com video BV1rf4y1E7dr 视频 02 配