当前位置: 首页 > 工具软件 > SpaceVim > 使用案例 >

RHEL7 Install SpaceVim+neovim for Python3.9

越俊驰
2023-12-01

RHEL7 Install SpaceVim+neovim for Python3.9

工作环境:

MacBook,作为工作客户端

RHEL7中控服务器,管理其他服务器和虚机

之前总是在本地mac上编辑为了统一工作平台,只在一个地方保存相关文件,所以把工作环境放在自己的中控服务器上,无论在单位还是回家vpn都是一个工作平台,方便安全,随时开机连上终端就是自己的工作平台了,本地只需要一个好用的终端,配合中控机上的tmux,操起来还是很方便的,tmux 常用快捷键并不多,nvim主要是的快捷键:[SPC]、[Window](s)、、g、z,五大类, 等采用提示方式方便查找常用功能。

1. 安装Python3.9

由于Server都有自己的python2 或之前安装过python3其他版本所以建议单独安装

$ more /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)
$ yum install libffi-devel -y
$ tar xfz Python-3.9.0.tgz  && cd Python-3.9.0
$ ./configure --prefix=/usr/local/python3.9   
$ make
$ sudo make install
$ cd ~/
$ /usr/local/python3.9/bin/python3 -m venv venv_py39  
$ source  ~/venv_py39/bin/activate   # 给python3 一个单独的环境

2. 安装neovim

neovim 有编译好的linux64版本,直接下载放到/usr/local下即可用很方便,现在标准版是0.4.4,测试有些问题,用了nightly 版本的,看自己需求选择安装吧。

[nvim-linux64.tar.gz](https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz)
$ tar xfzv nvim-linux64.tar.gz
$ sudo cp -rp nvim-linux64 /usr/local/nvim
$ ln -s /usr/local/nvim/bin/nvim /usr/bin/
$ nvim # 测试可以正常启动

3.安装SpaceVim

SpaceVim 操作很多看手册吧

# Install
(venv_py39) $ pip install pynvim neovim
(venv_py39) $ curl -sLf https://spacevim.org/cn/install.sh | bash -s -- --install neovim
# 以下步骤是为了创建一个单独的环境,在工作目录works下创建.SpaceVim.d 增加配置。
(venv_py39) $ cd ~/works && mkdir  -p .SpaceVim.d
(venv_py39) $ cp ~/.Space.d/init.toml   ~/works/
(venv_py39) $ cd .SpaceVim/bundle/vimproc.vim && make

安装完成以后退出终端再进入一次,测试nvim 是否正常。

4. 启动项目

$ source ~/venv_py39/bin/activate
(venv_py39) $ cd ~/works
(venv_py39) $ nvim  filename.txt 
# 测试是否可以正常使用

配置Python环境,访问连接按需要配置即可

5. 终端+ tmux (TODO - 以后再补充)

终端设置SpaceVim建议的字体可以很好实现目录树等的图形化显示。安装tmux 配置,终端推荐ITerm2(配置简单),Alacritty(美观,安装配置略复杂) 都免费。

6. 字体推荐使用Nerd 字体,终端上可以显示各种图形字体很方便美观

SourceCodePro Nerd Font Mono 具体安装说明 GitHub 说明一下这个字体设置的时候写的是 “SauceCodePro Nerd Font Mono”,好像说是字体库国际命名问题造成的,别写成SourceCodePro就对了

# Manjaro 下载SourceCodePro.zip 解压到~/.local/share/fonts/SourceCodePro目录下,执行一下操作,重启动alacritty
fc-cache -vf

7 SpacdVim 快捷键

space, leader(,个人修改为逗号),s,g,z,没事刷刷能看到很多你想不到的功能,部分需要自己再添加配置

# 这需要先在venv环境把相关需要的库安装好,SpaceVim 自动读取当前python venv环境很方便
$ virtualenv -p /usr/sbin/python2 venv_py2 # 创建py2 虚拟环境

$ source ~/venv_py[2|3]/bin/activate  
$ pip install -r require.txt # 用项目文件里的版本恢复python需要的库

安装好库以后可以使用’ g d ‘跳转到光标所在函数的定义处。

- zz # vim 快捷键把当前行挪到屏幕中央
- z <CR> # vim 快捷键,把当前行显示显示在屏幕上方
- :h z  # 查看z键帮助信息
- g d #跳转到函数定义处
- <space> b d  #关闭当前
- F3 # 目录树
- F2 # 函数、类目录
- Ctrl - hjkl 切换窗口, 目录、函数列表等
# SpaceVim 内置了 iedit 多光标模式,可快速进行多光标编辑
- space , s, e # 操作前v选择一个字符串,然后[空格] s e 可以一起修改相同的单词很方便
- :SPLayer -l  # 命令模式:SPLayer -l 看所有的模块,url连接查看安装配置说明
- :SPDebugInfo # 看debug 信息,排查SpaceVim 报错信息
- :message   # 查看最后nvim报错信息
-  $ vim .SpaceVim.d/autoload/myspacevim.vim  # 自定义一些自己的vim操作方法

读代码基本解决,如果测试新的项目可以再次初始化一个venv环境。

8 增加浮动终端支持参考知乎

pip3 install neovim-remote
nvim .SpaceVim.d/init.toml增加
# neovim 浮动终端支持
[[custom_plugins]]
  name = 'voldikss/vim-floaterm'
 
# nvim 下
:FloatermNew shell
:FloatermNew ranger  # 需要yum 安装ranger
:FloatermNew ipython # 启动iPython

9.增加快捷键F4

F4 启动浮动窗口ipython, Ctrl+n 启动浮动窗口shell

nvim .SpaceVim.d/autoload/myspacevim.vim

" 重新映射 leader 键
let g:mapleader = ','

" 保证在插入模式<F4>可以 toggle floaterm
inoremap  <silent>   <F4>   :FloatermNew ipython<CR>
nnoremap  <silent>   <F4>   :FloatermNew ipython<CR>
tnoremap  <silent>   <F4>   <C-\><C-n>:FloatermNew<CR>

"" 关闭所有隐藏设置 浮动窗口
let g:tex_conceal = ""

let g:floaterm_keymap_new    = '<C-n>'
let g:floaterm_keymap_prev   = '<C-h>'
let g:floaterm_keymap_next   = '<C-l>'

10. 配置折叠

nvim .SpaceVim.d/autoload/myspacevim.vim # 增加一下代码
" 代码折叠
set foldenable
" 折叠方法
" manual    手工折叠
" indent    使用缩进表示折叠
" expr      使用表达式定义折叠
" syntax    使用语法定义折叠
" diff      对没有更改的文本进行折叠
" marker    使用标记进行折叠, 默认标记是 {{{ 和 }}}
set foldmethod=indent
set foldlevel=99

快捷键zc zo zC zO

11. 关于“vim透明 transparent”

首先是终端要先设置透明iTerm2、Alacritty,如何设置就自己找一下吧,不知道去搜很简单,这里想说的配合vim 或SpaceVim等怎么设置。网上找了很多大家都是参考vim本身的设置,这里有一个问题就是当你选用了一个喜欢的主题以后,主题会覆盖你单独的设置,比如很多设置说.vimrc最后添加:

hi! Normal ctermbg=NONE guibg=NONE
hi! NonText ctermbg=NONE guibg=NONE guifg=NONE ctermfg=NONE

archlinux 测试使用一下配置,vim主题可以自适应

" 增加透明背景
func! s:transparent_background()
┊ highlight Normal guibg=NONE ctermbg=NONE
┊ highlight NonText guibg=NONE ctermbg=NONE
endf
autocmd ColorScheme * call s:transparent_background()

这样设置的我碰到的一个问题就是vim 打开一个新文件的时候不透明,后来想到一般的主题应该有自己单独的设置去搜了一下git发现还真有,一下已onedark主题为例,我们去github它的主页上直接Ctrl+f 搜transparent就发现,要求把此配置添加到onedark加载之前,正好~/.SpaceVim.d/autoload/myspacevim.vim 里添加即可:

" onedark.vim override: Don't set a background color when running in a terminal;
" just use the terminal's background color
" `gui` is the hex color code used in GUI mode/nvim true-color mode
" `cterm` is the color code used in 256-color mode
" `cterm16` is the color code used in 16-color mode
if (has("autocmd") && !has("gui_running"))
  augroup colorset
    autocmd!
    let s:white = { "gui": "#ABB2BF", "cterm": "145", "cterm16" : "7" }
    autocmd ColorScheme * call onedark#set_highlight("Normal", { "fg": s:white }) " `bg` will not be styled since there is no `bg` setting
  augroup END
endif

装订线git插件和错误报警

在我们添加了一些插件以后,会选择git对比和代码自动提示,基本这两种选的都比较多,遇到一个问题就是在左侧提示git提示增加、删除、修改等提示的时候不符合vim主题的颜色出现,查了一下发现是增加了coc.nvim 造成和sapcevim自带的git提示冲突造成,需要再coc.nvim 的配置文件中禁止

# 文件  coc-settings.json  一般在~/.SpaceVim/目录下
"git.enableGutters": false

光标闪烁问题

今天使用spacevim发现光标狂闪,看着很是讨厌,尝试停掉Coc.nvim

: CocDisable
 类似资料:

相关阅读

相关文章

相关问答