您当前的位置: 首页 >  vim

ITKEY_

暂无认证

  • 0浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

ITKEY_ 发布时间:2021-09-25 16:04:14 ,浏览量:0

视频与目录 项目值教程目录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 :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
		}
	}
})
关注
打赏
1665243900
查看更多评论
立即登录/注册

微信扫码登录

0.0500s