IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 无root权限情况下安装vim以及插件 -> 正文阅读

[开发工具]无root权限情况下安装vim以及插件

一、概述

? 最近工作因为使用的vim的版本一直都是7.4版本的,版本比较低,一些插件都没法安装。正好最近单位更新服务器,趁此空闲,决定升级下vim,但是又没有权限,不能直接升级,所以选择了源码编译的方法了,参考网上的一些方法,在此整理记录当时安装vim9.0以及自己用到的一些插件的过程。

二、vim安装

2.1 ncurses下载安装

ncurses是vim在安装编译过程中所必需的,所以下载:

ncurses下载

此处下载的是6.3版本。

下载完成之后,解压:

$ tar -xvf ncurses-6.3.tar.gz

解压完成之后,进如源码目录,因为没有root权限,所以将软件安装在自己的用户目录下,这里安装在用户目录tools下,同时需要用configure来指定安装目录。

$ cd ncurses-6.3
$ ./configure --prefix=$HOME/tools/ncurses-6.3
$ make -j
$ make install

将ncurses的安装路径,添加到系统环境变量中,否则后续安装编译vim时会找不到安装好的ncurses而报错。

打开~/.bashrc,然后添加如下语句:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/tools/ncurses-6.3/lib

保存退出后,输入以下命令,使之生效:

$ source ~/.bashrc

2.2下载vim并安装

在线下载:

$ git clone https://github.com/vim/vim.git

如果没有联网可以下载安装包,然后上传到服务器(此处采用该方式),然后将其解压:

$ bzip2 -d vim-9.0.tar.bz2
$ tar -xvf vim-9.0.tar

进入解压好的vim源码目录,先指定好依赖库的目录,然后configure配置好安装目录再进行安装。

$ cd vim90
$ LDFLAGS=-L$HOME/tools/ncurses-6.3/lib .configure --prefix=$HOME/tools/vim90
$ make -j
$ make install

完成安装之后,进入tools/vim90/bin查看vim版本:

$ cd ~/tools/vim90/bin
$ ./vim -version

如图所示,表示安装成功:

Snipaste_2022-09-14_15-45-55

此时已经安装成功,但是系统本身的vim还是存在的,所以需要指定下一下vim9.0的路径,在~/.bashrc添加如下语句:

export PATH=$HOME/tools/vim90/bin:$PATH

上述添加vim9.0的路径时,需要特别注意的是一定要写在$PATH的前面,这样打开vim的时候回优先找自己安装的版本。

保存退出,使其生效:

$ source ~/.bashrc

三、 vim-plug插件管理

3.1 vim-plug插件下载

离线下载:

或者Git下载:

git clone https://github.com/junegunn/vim-plug.git ~/.vim/autoload

3.2 插件安装

将下载的vim-plug-master.tar解压。然后将其中的plug.vim放到~/.vim/autoload中去。

3.3 在.vimrc中添加如下语句

call plug#begin('~/.viim/plugged')
"插件放在此处

call plug#end()

四、airline插件(状态栏)

4.1 插件下载和安装

  • 下载地址:https://github.com/vim-airline/vim-airline.git (如果打不开或者很慢,选择已经下载好的:添加地址
  • 将下载好的vim-airline-master.zip解压到~/.vim/plugged中

4.2 在.vimrc添加如下语句

call plug#begin('~/.viim/plugged')
"插件放在此处
"新增加
Plug 'vim-scripts/vim-airline-master' "airline状态栏
call plug#end()

" airline
let g:airline_theme="onedark"
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#formatter = 'unique_tail'
" let g:airline#extensions#tabline#buffer_nr_show = 1
" let g:airline#extensions#tabline#buffer_nr_format = '%s '
if !exists('g:airline_symbols')
    let g:airline_symbols = {}
endif
" let g:airline_left_sep = ''
" let g:airline_left_alt_sep = ''
" let g:airline_right_sep = ''
" let g:airline_right_alt_sep = ''
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''

五、模糊查找

5.1 fzf下载和安装

  • 下载地址

    https://github.com/junegunn/fzf
    https://github.com/junegunn/fzf.vim
    
  • 将上述下载两个压缩包解压到~/.vim/plugged中

5.2 在.vimrc中添加如下语句:

call plug#begin('~/.viim/plugged')
"插件放在此处
Plug 'vim-scripts/vim-airline-master' "airline状态栏
"新增语句
Plug 'vim-scripts/fzf-master', { 'do': { -> fzf#install() } }
Plug 'vim-scripts/fzf.vim-master'
call plug#end()

5.3 依赖包的下载

经过5.1和5.2的步骤之后,打开vim,输入:Files,之后会一直卡在Running fzf installer…这需要下载另外一个文件包,下载路径为:https://github.com/junegunn/fzf-bin/releases/download/0.33.0/fzf-0.33.0-linux_amd64.tgz,可能不同的系统下载的文件包,自行选择下载。下载完成之后放到~/.vim/plugged/fzf-master/bin。

然后打开fzf-master/bin/install文件,添加如下语句:

Snipaste_2022-09-14_17-30-57

保存退出,然后运行./install

安装完成之后,打开vim重新输入:Files

Snipaste_2022-09-16_14-11-12

5.4 ripgrep的安装和使用

  • 下载

    ripgrep包:可以直接使用,无需安装

    如果有root权限可以自行安装下载:

    sudo dpkg -i ripgrep_11.0.2_amd64.deb
    

    因为我这边没有root权限,所以直接是第一种方式,然后在.bashrc中添加路径就可以直接用了。

    export PATH=$HOME/tools/bin/:$PATH
    
  • 添加vimrc配置

    "调用Rg进行搜索,包含隐藏文件
    function! RipgrepFzf(query, fullscreen)
      let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case -- %s || true'
      let initial_command = printf(command_fmt, shellescape(a:query))
      let reload_command = printf(command_fmt, '{q}')
      let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]}
      call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen)
    endfunction
    
    command! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0)
      
    "模糊查找文件
    map <C-F> :Files<CR>
     "模糊查找字符串
    map <C-G> :Rg<CR>
    
    

    使用ctrl+G快捷方式打开:

    Snipaste_2022-09-16_14-52-09
    另外还有vim的其他插件,这边就不一一介绍了,有需要可以自行选择安装。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:48:32  更:2022-09-21 00:51:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:31:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码