视频与目录
项目值教程目录https://blog.csdn.net/lxyoucan/article/details/120641546视频全屏https://www.bilibili.com/video/BV1rf4y1E7dr/视频
安装git
02_配置、按键映射与packer插件管理器
开始之前要先安装一下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 :splitw
nmap sv :vsplitw
" Move window
"nmap w
"map s h
"map s k
"map s j
"map s l
map sh h
map sk k
map sj j
map sl l
" Resize window
" 在mac/linux中使用Alt键,在webssh
" 中alt没用,就使用Ctrl,WEBSSH主要的WINDOWS中使用
nmap <
nmap <
nmap s <
nmap >
nmap >
nmap s >
nmap +
nmap +
nmap s +
nmap -
nmap -
nmap s -
" 插入模式移动光标
inoremap
inoremap
inoremap
inoremap
inoremap
" hh在我用的单词里出现的频率极低,其实感觉home用的没有end多,统一风格都用大写的吧
"inoremap HH
" 单词中包含ll的太多了,所以用大写LL
"inoremap LL
" jk
inoremap jk
" 插入模式鼠标滚轮抵消,不然会出现滚动鼠标录入了一堆5j5k
inoremap 5k
inoremap 5j
inoremap 9 a
" 快速跳转行首与行尾
nnoremap L $
nnoremap H ^
" 向下5行
noremap 5j
" 向上5行
noremap 5k
" 保 存
noremap :w
noremap s :w
" Coc智能处理,使用IDEA Alt+Enter 同样按键
"noremap :CocAction
inoremap :w
" 代码格式化
noremap f :Format
noremap r :luafile ~/.wp/lua/run.lua
" 强制退出
map Q :q
"map qq :q
" 重新加载设置
map R :source $MYVIMRC
"自动关闭标签
inoremap yiwiea>hpF>i
set iskeyword+=
iab h1> /h1>5ha
" 全选
nmap ggG
" 加/减数字1
nnoremap +
nnoremap -
"-------------------------------------------------------------------------------
" Buffers
"-------------------------------------------------------------------------------
" Open current directory
" 插入模式移动光标
inoremap
inoremap
inoremap
inoremap
inoremap
" hh在我用的单词里出现的频率极低,其实感觉home用的没有end多,统一风格都用大写的吧
"inoremap HH
" 单词中包含ll的太多了,所以用大写LL
"inoremap LL
" jk
inoremap jk
" 插入模式鼠标滚轮抵消,不然会出现滚动鼠标录入了一堆5j5k
inoremap 5k
inoremap 5j
inoremap 9 a
" 快速跳转行首与行尾
nnoremap L $
nnoremap H ^
" 向下5行
noremap 5j
" 向上5行
noremap 5k
" 保存
noremap :w
" Coc智能处理,使用IDEA Alt+Enter 同样按键
noremap :CocAction
inoremap :w
" 代码格式化
"noremap f :Format
" 强制退出
map Q :q
" 重新加载设置
map R :source $MYVIMRC
"自动关闭标签
inoremap yiwiea>hpF>i
set iskeyword+=
iab h1> /h1>5ha
" 全选
nmap ggG
" 加/减数字1
nnoremap +
nnoremap -
"-------------------------------------------------------------------------------
" Buffers
"-------------------------------------------------------------------------------
" Open current directory
"nmap te :tabedit
"nmap :tabprev
nmap :bprev
"nmap :tabnext
nmap :bnext
" 窗口管理器
" invoke with '-'
nmap - (choosewin)
"nmap sw (choosewin)
"nmap w (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
}
}
})