无root权限情况下安装vim以及插件

  • 一、概述
  • 二、vim安装
    • 2.1 ncurses下载安装
    • 2.2下载vim并安装
  • 三、 vim-plug插件管理
    • 3.1 vim-plug插件下载
    • 3.2 插件安装
    • 3.3 在.vimrc中添加如下语句
  • 四、airline插件(状态栏)
    • 4.1 插件下载和安装
    • 4.2 在.vimrc添加如下语句
  • 五、模糊查找
    • 5.1 fzf下载和安装
    • 5.2 在.vimrc中添加如下语句:
    • 5.3 依赖包的下载
    • 5.4 ripgrep的安装和使用

一、概述

​ 最近工作因为使用的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

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

此时已经安装成功,但是系统本身的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文件,添加如下语句:

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

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

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)
    endfunctioncommand! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0)"模糊查找文件
    map <C-F> :Files<CR>"模糊查找字符串
    map <C-G> :Rg<CR>

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


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

无root权限情况下安装vim以及插件相关推荐

  1. linux下无root权限使用yum安装的方法

    现在很多服务器都是centos系统,而我们使用服务器的时候通常无法获得root权限,也就无法使用sudo提升权限安装软件. 其实在linux中,安装软件需要权限通常是因为我们对安装位置没有权限,所以只 ...

  2. 我可以在不提供FTP访问的情况下安装/更新WordPress插件吗?

    我在实时服务器上使用WordPress ,该服务器仅通过SSH密钥使用SFTP . 我想安装和升级插件,但是看来您需要输入FTP登录才能安装插件. 有没有一种方法可以通过手动上传文件而不是让WordP ...

  3. Mac下安装vim的插件YouCompleteMe及注意事项

    mac下的YouCompleteMe安装还是很麻烦的,所以我安装完之后写下此篇blog,以供诸位一起学习 此篇借鉴了网上一些文章的情况下结合了我自己的一点心得: 1.基本准备(我默认已经安装好了以下软 ...

  4. linux 无外网情况下安装 mysql

    由于工作需要,需要在一台装有 CentOS 系统的测试服务器上安装 MySQL ,由于该服务器上存有其他比较重要的测试数据,所以不能连接外网.由于之前安装 MySQL 一直都是使用 yum 命令一键搞 ...

  5. 无setup.exe情况下安装mysql5.7.28(win10)

    下载安装包 http://dev.mysql.com/downloads/mysql/ 安装步骤 1.解压安装包 (紫色框中的文件是后续手动添加的.) 2.配置环境变量 计算机-属性-高级系统设置-环 ...

  6. linux系统无root权限lua库安装,liunx系统中安装lua以及torch

    一直在用pytorch,最近在做项目的时候,遇到了torch的开源代码,所以又开始不得不接触torch以及他所依赖的环境lua. liunx下lua环境的配置代码如下: ''' curl -R -O ...

  7. Ubuntu无root权限安装miniconda到配置jupyter、GPU版本pytorch一条龙服务

    前言 倒腾学校服务器来回几次了,对学校给学生无root普通用户权限,老师要求的只能安装miniconda然后手动配jupyter.GPU版本pytorch等环境已经轻车熟路了. 如果你是老手,完全可以 ...

  8. linux无root权限不用sudo命令安装软件

    [转载自linux无root权限安装软件 - 玉开 - 博客园 (cnblogs.com),自留用.方括号部分为博主的笔记内容,其余为原文.] 在有些公司是不会给开发人员root权限的,但是开发人员有 ...

  9. Linux无root权限安装opencv3.4.0以及一些问题

    本文链接:https://blog.csdn.net/cowry5/article/details/80870251 本人的各种依赖的版本都很低,且无root权限,安装了很多次都失败,最后终于成功.特 ...

最新文章

  1. Sqlite3的安装Windows
  2. C++中的Socket编程使用协议发送图片
  3. 15张图来了解【树】,面试再也不怕被刷了
  4. chrome浏览器上传文件延迟_扫描识别工具Dynamic Web TWAIN使用教程:移动浏览器捕获(下)...
  5. React性能优化之Context
  6. Spring Security 3.1 自定义 authentication provider
  7. CodeForces - 1102A(思维题)
  8. 使用Struts2,Hibernate和MySQL创建个人MusicManager Web应用程序的研讨会
  9. 你想成为Java架构师吗?掌握这六项就够了!
  10. 【转】oracle 和 ' 特殊字符处理 ( like 'GAC/_%' escape ''; 这里面的 / 居然将 转义了 为什么?)...
  11. java-记录一个子串在整串中出现的次数
  12. django系列5.2--ORM数据库的单表操作
  13. mui toast自定义样式
  14. 使用VirtualBox安装Centos(一)
  15. 微信小程序报错:invalid credential, access_token is invalid or not latest
  16. 活动目录管理之批量创建域用户
  17. 论QQ如何发大菜狗表情
  18. 软件需求包括3个不同的层次――业务需求、用户需求和功能需求
  19. 启动cesium官方示例
  20. 2021全球程序员收入报告出炉!字节高级码农年薪274万元排第5【文末送5本书】...

热门文章

  1. 并发编程之Exchanger原理与使用
  2. 重庆11中学校计算机比赛,重庆大学第十七届“树声前锋杯”程序设计大赛成功举办...
  3. 摩托罗拉g7 plus,手机浮躁时代的匠心臻品
  4. 开源用于医学影像的深度学习工具箱
  5. 2022年电动夹爪产业发展蓝皮书发布
  6. SQL Server中的数据字典
  7. MQTT安装部署手册
  8. Bean ‘securityManager‘ of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible
  9. 不只是折腾!OS X 10.10 Yosemite 改造攻略
  10. java后端对Cookie进行操作