From 0bd220d83ee5b7c00595ed522cfe8d4eea2943aa Mon Sep 17 00:00:00 2001 From: doyle Date: Fri, 20 May 2022 14:43:51 +1000 Subject: [PATCH] nvim: Switch to nvim --- Installer/os_nvim_init.vim | 3 + Installer/os_vimrc | 35 +----------- Installer/unix_nvim_init.vim | 3 - Installer/win_gvim_fullscreen.dll | Bin 77824 -> 0 bytes Installer/win_nvim_init.vim | 3 - win_install.bat | 91 ++++++++++++++++++------------ 6 files changed, 60 insertions(+), 75 deletions(-) create mode 100644 Installer/os_nvim_init.vim delete mode 100644 Installer/unix_nvim_init.vim delete mode 100644 Installer/win_gvim_fullscreen.dll delete mode 100644 Installer/win_nvim_init.vim diff --git a/Installer/os_nvim_init.vim b/Installer/os_nvim_init.vim new file mode 100644 index 0000000..f182e5b --- /dev/null +++ b/Installer/os_nvim_init.vim @@ -0,0 +1,3 @@ +set runtimepath^=~/.vim runtimepath+=~/.vim/after +let &packpath = &runtimepath +source ~/.vimrc diff --git a/Installer/os_vimrc b/Installer/os_vimrc index 0b0088b..97af615 100644 --- a/Installer/os_vimrc +++ b/Installer/os_vimrc @@ -2,13 +2,7 @@ " Plugins " ============================================================================== let s:running_windows = has("win16") || has("win32") || has("win64") -if s:running_windows - let g:myvimdir ="~/vimfiles" - silent! call plug#begin('~/vimfiles/plugged') -else - let g:myvimdir ="~/.vim" - silent! call plug#begin('~/.vim/plugged') -endif +silent! call plug#begin('~/.vim/plugged') Plug 'https://github.com/ervandew/supertab' Plug 'https://github.com/scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } @@ -54,7 +48,7 @@ set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe,*.obj,*.vcxproj,*.pdb,*.idb " Undo Settings silent! set undofile " Save undo history to file set undolevels=1000 " Maximum number of undos that can be done -let &undodir=expand(g:myvimdir."/undodir") " Set location to save undo files +let &undodir=expand("~/.vim/undodir") " Set location to save undo files " Create the undo history folder if it doesn't exist if !isdirectory(expand(&undodir)) @@ -193,11 +187,6 @@ nnoremap s :vs nnoremap :cn nnoremap :cp -" Fullscreen -if s:running_windows - noremap :call libcallnr('gvim_fullscreen.dll', 'ToggleFullScreen', 0) -endif - " ============================================================================== " FZF " ============================================================================== @@ -219,25 +208,7 @@ let g:fzf_layout = { 'down': '40%' } " ============================================================================== " Clang Format " ============================================================================== -if s:running_windows - if has('python') - map :pyf ~/vimfiles/clang-format.py - imap :pyf ~/vimfiles/clang-format.py - elseif has('python3') - map :py3f ~/vimfiles/clang-format.py - imap :py3f ~/vimfiles/clang-format.py - endif -else - if has('python') - map :pyf ~/.vim/clang-format.py - imap :pyf ~/.vim/clang-format.py - elseif has('python3') - map :py3f ~/.vim/clang-format.py - imap :py3f ~/.vim/clang-format.py - endif -endif - - +map :py3file ~/.vim/clang-format.py " ============================================================================== " Compiling / AsyncRun diff --git a/Installer/unix_nvim_init.vim b/Installer/unix_nvim_init.vim deleted file mode 100644 index 968e9cd..0000000 --- a/Installer/unix_nvim_init.vim +++ /dev/null @@ -1,3 +0,0 @@ -set runtimepath^=~/.vim,~/.vim/after -set packpath+=~/.vim -source ~/.vimrc diff --git a/Installer/win_gvim_fullscreen.dll b/Installer/win_gvim_fullscreen.dll deleted file mode 100644 index 5f862483cb9f9f514792c11493598533a5dc56db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77824 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�*zGu~84>V|kcxsJC0vs#RB%Gs4^z}w;mGYAJH?h=-U zNQCOp_VZ-TvSg$?ZnQWd;u(E@+05z5Uy=EbXOwS~l*3KyPj(X!wL$V|%S7CjJjcyi zN?(eFBbTZLNOSNUvvBdhWRmyY9s#wJEN5kp%&Qhb%l}RTzsvYGwbQ|f7 zK_l%<-I7>G%M&Qt_UDpEdu-hX9l1ZwXhYpw>G)YE63*nx?J-W`E+ zfT#=0n!}lJydjm6mTOQS(Wf}xF~L`=$2ne5>ZKCm8~nU4S}e!AzG<2GDtbIUFBb7j zlQVmadc&!k+o|?BzSVG-u9BWWr|wF|4SyybciTVB`$uVsKx}PVCbe!T49%E`OUncPW#N?DqAbVCkF;ZZa=LL<%88rP z>e8b~_l{HEHu@oNO`2MlHwC7zPcuJPm3%1zCq)ECkP@$(VR2VIc6~+q_ zg~`HHK@IqRxodD}aCmTJaCC5NaC~rLaB^^Ju(DWPtSNemb;bIkx9BUj6obW3F> "!tmp_terminal_script!" echo set FZF_DEFAULT_COMMAND=rg --files --no-ignore-vcs --hidden>> "!tmp_terminal_script!" REM ---------------------------------------------------------------------------- -REM GVim, Vim Plug, Vim Config +REM NVIM REM ---------------------------------------------------------------------------- -set gvim_zip=!downloads_dir!\gvim_x64.7z -set gvim_dir=!tools_dir!\GVim -if not exist "!gvim_dir!\gvim.exe" ( - call :DownloadFile https://tuxproject.de/projects/vim/complete-x64.7z !gvim_zip! || exit /B - call :Unzip "!gvim_zip!" "!gvim_dir!" || exit /B +set nvim_sha256=a72a90e2897ea296b777c325a37c981a0b51e2fe0c8b8735e3366b65e958cddc +set nvim_exe_sha256=E2B9B9C38EE169475EEAE4501278A36A93C7A4F08F6E5379CA65A166041B8DA8 +set nvim_version=0.7.0 + +set nvim_zip=!downloads_dir!\nvim_v!nvim_version!.zip +set nvim_dir=!tools_dir!\nvim-!nvim_version! +set nvim_exe=!nvim_dir!\bin\nvim.exe + +if not exist "!nvim_exe!" ( + call :DownloadFile "https://github.com/neovim/neovim/releases/download/v!nvim_version!/nvim-win64.zip" "!nvim_zip!" || exit /B + call :FileHashCheck sha256 "!nvim_zip!" "!nvim_sha256!" || exit /B + call :Unzip "!nvim_zip!" "!nvim_dir!" || exit /B + call :Move "!nvim_dir!\nvim-win64" "!nvim_dir!" || exit /B ) -call :CopyAndAlwaysOverwriteFile "!installer_dir!\os_vimrc" "!home_dir!\_vimrc" +call :FileHashCheck sha256 "!nvim_exe!" "!nvim_exe_sha256!" || exit /B +call :MakeBatchShortcutInBinDir "nvim" "!nvim_exe!" -REM DLL that hooks into GVIM and provides fullscreen with F11 -set gvim_fullscreen_dll_sha256=1c83747b67ed73c05d44c1af8222a860bc5a48b56bf54cd6e21465a2deb78456 -set gvim_fullscreen_dll=!gvim_dir!\gvim_fullscreen.dll -call :CopyAndAlwaysOverwriteFile "!installer_dir!\win_gvim_fullscreen.dll" "!gvim_fullscreen_dll!" || exit /B -call :FileHashCheck sha256 "!gvim_fullscreen_dll!" "!gvim_fullscreen_dll_sha256!" || exit /B +REM ---------------------------------------------------------------------------- +REM Neovide +REM ---------------------------------------------------------------------------- +set neovide_sha256=EF4EBCF41ACB38B418859DD7AEDBCB7B2741EEC9BE0B8D7E1EC5F3001A07E5D8 +set neovide_exe_sha256=BA2CDCE2DE1D4A1DAF6DE6CE1AE132B606CC51A87AA6C9483824829117248AE2 +set neovide_version=0.8.0 +set neovide_zip=!downloads_dir!\neovide_v!neovide_version!.zip +set neovide_dir=!tools_dir!\neovide-!neovide_version! +set neovide_exe=!neovide_dir!\neovide.exe + +if not exist "!neovide_exe!" ( + call :DownloadFile "https://github.com/neovide/neovide/releases/download/!neovide_version!/neovide-windows.zip" "!neovide_zip!" || exit /B + call :FileHashCheck sha256 "!neovide_zip!" "!neovide_sha256!" || exit /B + call :Unzip "!neovide_zip!" "!neovide_dir!" || exit /B + call :Move "!neovide_dir!\neovide-windows" "!neovide_dir!" || exit /B +) + +call :FileHashCheck sha256 "!neovide_exe!" "!neovide_exe_sha256!" || exit /B +call :MakeBatchShortcutInBinDir "neovide" "!neovide_exe!" + +REM ---------------------------------------------------------------------------- +REM Vim Configuration +REM ---------------------------------------------------------------------------- +REM Vim Config +call :CopyAndAlwaysOverwriteFile "!installer_dir!\os_vimrc" "!home_dir!\.vimrc" + +REM Vim -> Nvim Config +set nvim_init_dir=!home_dir!\AppData\Local\nvim +if not exist "!nvim_init_dir!" mkdir "!nvim_init_dir!" +call :CopyAndAlwaysOverwriteFile "!installer_dir!\os_nvim_init.vim" "!nvim_init_dir!\init.vim" + +REM Vim Package Manager set vim_plug_dir=!vim_dir!\autoload set vim_plug=!vim_plug_dir!\plug.vim if not exist "!vim_plug_dir!" mkdir "!vim_plug_dir!" call :DownloadFile "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" "!vim_plug!" || exit /B -REM Terminal -echo set PATH=!gvim_dir!;%%PATH%%>> "!tmp_terminal_script!" - -REM ---------------------------------------------------------------------------- -REM Sublime Text -REM ---------------------------------------------------------------------------- -set sublime_text_sha256=0a27933a49a9de6d9b8d3fd93a4a5eb80b5a4307c915f8e745bbb8350832e09c -set sublime_text_exe_sha256=a8e651e933fa7155a266c394f8550ffbf5d37dc4dc5825565cfd0feb03b3c578 -set sublime_text_version=4126 - -set sublime_text_zip=!downloads_dir!\sublime_text_v!sublime_text_version!.zip -set sublime_text_dir=!tools_dir!\sublime_text-!sublime_text_version! -set sublime_text_exe=!sublime_text_dir!\sublime_text.exe - -if not exist "!sublime_text_exe!" ( - call :DownloadFile "https://download.sublimetext.com/sublime_text_build_!sublime_text_version!_x64.zip" "!sublime_text_zip!" || exit /B - call :FileHashCheck sha256 "!sublime_text_zip!" "!sublime_text_sha256!" || exit /B - call :Unzip "!sublime_text_zip!" "!sublime_text_dir!" || exit /B -) - -call :FileHashCheck sha256 "!sublime_text_exe!" "!sublime_text_exe_sha256!" || exit /B -call :MakeBatchShortcutInBinDir "subl" "!sublime_text_dir!\subl.exe" +REM Install Python NVIM module, for :py3 support +!python_bin_dir!\Scripts\pip.exe install pynvim REM ---------------------------------------------------------------------------- REM ImHex