在ubuntu上搭建开发环境6---安装和使用vim及其插件(Pathogen和NERDTree)

   2023-02-10 学习力0
核心提示:2015.09.08  更为详细的配置vim的方法,请参见我的新整理的文章:http://segmentfault.com/a/1190000003722928 Vim安装  命令:  sudo apt-get install vim 配置vim:     配置vim,/etc/vim/vimrc文件就好,(我上网找到了一个比较强大的vim配置

2015.09.08

  更为详细的配置vim的方法,请参见我的新整理的文章:http://segmentfault.com/a/1190000003722928

 

Vim安装

  命令:  sudo apt-get install vim

 

配置vim: 

    配置vim,/etc/vim/vimrc文件就好,(我上网找到了一个比较强大的vim配置文件,拷贝到/etc/vim/vimrc里面,效果不错)

  点击这里下载配置文件

 

    在/etc/vim/vimrc里面配置vim将作用于所有用户

   可能出现的问题:普通用户用vim命令时,/etc/vim/vimrc里面的配置文件不会起作用,但是可以在root用户使用时有效。

    原因如下:在/etc/vim/vimrc里面配置vim将作用于所有用户。但是假如在~/.vimrc为普通用户做了配置,那么就会覆盖/etc/vim/vimrc里面为普通用户的配置,结果就是/etc/vim/vimrc对没有专门为自己配置的用户有效,不对像在~/.vimrc里面再配置的用户有效;而~/.vimrc就会对普通用户有效。

    最终选择:删除/etc/vim/vimrc这个配置文件,只配置~/.vimrc这个针对普通用户的文件,以后用vim编辑文本时,就用普通用户的身份编辑就好。(可以将上面下载的那个配置文件,放到~  目录下,并更名为  .vimrc)

  

  其实关于插件的配置和普通的配置都是在~/.vimrc里面进行的,区别就是插件的配置需要首先安装完插件再在~/.vimrc里面写配置信息,而普通的配置可以直接在~/.vimrc里面写配置信息。

 

 

vim的插件安装:

  准备工作 

  首先,备份你原先的 .vim 配置,并创建一个新的 .vim 目录(.vim在~目录下),以及放置插件的 bundle 目录:(以下的命令操作是普通用户在~目录下执行的)

 

 

1

2

3

 

$ mv .vim{,.bak}

$ mv .vimrc{,.bak}

$ mkdir -pv .vim/bundle

 

  然后把 .vim 目录变成一个 Git 仓库。做这一步非常简单,切换到 .vim 目录下,执行git init命令,git 会创建一个 .git 目录:

 

1

2

3

4

5

6

7

8

$ cd .vim && git init

> Initialized empty Git repository in /Users/pw/.vim/.git/

$ ls -al

> total 0

> drwxr-xr-x   4 pw  staff  136 Feb  4 14:01 .

> drwxr-xr-x   4 pw  staff  136 Feb  4 14:01 ..

> drwxr-xr-x  10 pw  staff  340 Feb  4 14:01 .git

> drwxr-xr-x   2 pw  staff   68 Feb  4 14:01 bundle

 

  至此,准备工作就完成。以下的命令如果没有特别说明,都是在 .vim 这个目录中敲入的。

 

1.安装 Pathogen

  安装插件的命令是:

 

1

$ git submodule add 插件的Git仓库地址 bundle/插件名字

 

  Pathogen 将会是我们通过 Git 安装的第一个插件:

 

1

2

3

4

5

6

7

$ git submodule add git://github.com/tpope/vim-pathogen.git bundle/vim-pathogen

> Cloning into bundle/pathogen...

> remote: Counting objects: 218, done.

> remote: Compressing objects: 100% (117/117), done.

> remote: Total 218 (delta 59), reused 202 (delta 45)

> Receiving objects: 100% (218/218), 26.40 KiB | 23 KiB/s, done.

> Resolving deltas: 100% (59/59), done.

 

  通常来讲,一个插件下载完之后就已经可以使用了,但是对于 Pathogen 这个”插件中的插件“来说,还要多一步,还要在配置文件中加入相关的信息,加载 pathogen

  我在配置文件的第一行添加上这样的配置

runtime bundle/vim-pathogen/autoload/pathogen.vim

call pathogen#infect()

Helptags

 

 


   而且使用如此的方式安装 NERDTree插件,必须首先安装 Pathogen这个插件,具体原理参看:使用pathogen管理 vim插件并托管到Github
 

 

 

2.安装NERDTree ,方法跟安装 Pathogen 是一样的,在 .vim 目录下执行:

 

1

$ git submodule add 插件的Git仓库地址 bundle/插件名字

 

  NERDTree ,仓库地址是git://github.com/scrooloose/nerdtree.git:

 

1

$ git submodule add git://github.com/scrooloose/nerdtree.git bundle/nerdtree

 

  也可以直接下载压缩包,解压后,移到~/.vim/bundle里面,也可以直接用(不过像上面的这种方法更为简单、方便)

 

    也需要在配置文件中进行相关的配置,方便NERDTree的使用

      NERDTree 开启需输入 :NERDTree,关闭时按 q 即可。也可以加入快捷键开启
         1. vim ~/.vimrc
         2. 加入此行
           nnoremap <silent> <F4> :NERDTree<CR>    注意<F4>和 : 之间一定要有空格
         3. 这样按F4就会自动展开目录树,可能你的F4 已经被用了,有冲突,那你可以一个一个试从F1 到F12

 



常用的快捷键
ctrl + w + w    光标自动在左右侧窗口切换
o       展开左侧某个目录,再按一下就是合并目录
t        在新 Tab 中打开选中文件/书签,并跳到新 Tab
T       在新 Tab 中打开选中文件/书签,但不跳到新 Tab
P       跳到根结点
p       跳到父结点
q       关闭 NerdTree 窗口

标准模式下:
gT      前一个 tab
gt      后一个 tab

如果想关闭一个Tab,还是用Vim的自带命令:q或:wq


补充
切换工作台和目录
ctrl + w + h    光标 focus 左侧树形目录
ctrl + w + l    光标 focus 右侧文件显示窗口
ctrl + w + w    光标自动在左右侧窗口切换
ctrl + w + r    移动当前窗口的布局位置
o       在已有窗口中打开文件、目录或书签,并跳到该窗口
go      在已有窗口 中打开文件、目录或书签,但不跳到该窗口
t       在新 Tab 中打开选中文件/书签,并跳到新 Tab
T       在新 Tab 中打开选中文件/书签,但不跳到新 Tab
i       split 一个新窗口打开选中文件,并跳到该窗口
gi      split 一个新窗口打开选中文件,但不跳到该窗口
s       vsplit 一个新窗口打开选中文件,并跳到该窗口
gs      vsplit 一个新 窗口打开选中文件,但不跳到该窗口
!       执行当前文件
O       递归打开选中 结点下的所有目录
x       合拢选中结点的父目录
X       递归 合拢选中结点下的所有目录
e       Edit the current dif
双击    相当于 NERDTree-o
中键    对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
D       删除当前书签
P       跳到根结点
p       跳到父结点
K       跳到当前目录下同级的第一个结点
J       跳到当前目录下同级的最后一个结点
k       跳到当前目录下同级的前一个结点
j       跳到当前目录下同级的后一个结点
C       将选中目录或选中文件的父目录设为根结点
u       将当前根结点的父目录设为根目录,并变成合拢原根结点
U       将当前根结点的父目录设为根目录,但保持展开原根结点
r       递归刷新选中目录
R       递归刷新根结点
m       显示文件系统菜单
cd      将 CWD 设为选中目录
I       切换是否显示隐藏文件
f       切换是否使用文件过滤器
F       切换是否显示文件
B       切换是否显示书签
q       关闭 NerdTree 窗口
?       切换是否显示 Quick Help


切换标签页
:tabnew [++opt选项] [+cmd] 文件      建立对指定文件新的tab
:tabc   关闭当前的 tab
:tabo   关闭所有其他的 tab
:tabs   查看所有打开的 tab
:tabp   前一个 tab
:tabn   后一个 tab


标准模式下:
gT      前一个 tab
gt      后一个 tab

MacVim 还可以借助快捷键来完成 tab 的关闭、切换
cmd+w   关闭当前的 tab
cmd+{   前一个 tab
cmd+}   后一个 tab
NerdTree 在 .vimrc 中的常用配置
" 在 vim 启动的时候默认开启 NERDTree(autocmd 可以缩写为 au)
autocmd VimEnter * NERDTree

" 按下 F2 调出/隐藏 NERDTree
map  :silent! NERDTreeToggle

" 将 NERDTree 的窗口设置在 vim 窗口的右侧(默认为左侧)
let NERDTreeWinPos="right"

" 当打开 NERDTree 窗口时,自动显示 Bookmarks
let NERDTreeShowBookmarks=1

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Ubuntu使用——15(thinkphp路由报错Non-static method think\Route::get() should not be called statically)
    Ubuntu使用——15(thinkphp路由报错Non-static
    在route.php中添加代码:use think\Route;Route::get('/',function (){return 'hello world';});在浏览器中输入http://localhost/tp5-git/public/index.php,报错:[8192] ErrorException in route.php line 13Non-static method think\Route::get() should n
    03-08
  • Ubuntu与Window双系统安装的注意事项
    Ubuntu与Window双系统安装的注意事项
      UBUNTU与WINDOW双系统安装的注意事项 由 匿名 (未验证) 提交于 2019-05-18 10:07:41登录 发表评论29 次浏览假定电脑里面已经存在了Window系统,安装另外一个Linux系统:第一:首先确定电脑里面的window系统引导方式电脑系统的引导方式分为:(1)传统
    03-08
  • Ubuntu 图形界面损坏修复方法!!!亲测有用!!!
    Ubuntu 图形界面损坏修复方法!!!亲测有用!
    1.现象今天做实验的时候打开Ubuntu虚拟机,输入密码之后发现变成这样:然后重新开机,到了输入密码界面不输入,而是输入快捷键CTRL+alt+F1,输入用户名+密码进入之后输入ls,发现我的文件还在,心想这不是系统炸了啊上网搜说是图形界面损坏于是重新来:(参考
    03-08
  • Ubuntu终端输入异常、无法退格(删除文本)、使用方向键命令
    Ubuntu终端输入异常、无法退格(删除文本)、使
    1 起因为了学习嵌入式开发安装去安装的ncurses库,使用命令:sudo apt-get install libncurses5-dev导致系统自带的ncurses-base被自动删除。2 出现的问题误删ncurses-base后导致终端输入窗口出现了一系列的问题:Ubuntu终端输入无法退格(删除文本)、使用↑
    03-08
  • Raspberry Pi (Ubuntu) 上的 VNC 无监视器
    Raspberry Pi (Ubuntu) 上的 VNC 无监视器
    超级方便的无监视器VNC方便的树莓派远程桌面操作,无需显示器\(^^)/通过在页面末尾设置“无显示器设置”,可以在启动树莓派之前和之后连接和断开 HDMI 显示器电缆(这很重要)。来自主 PC 的远程桌面环境树莓派 4Ubuntu 20.04(64位)服务器+桌面设置VNC 设
    03-08
  • 免费供个人使用最多3个! !我尝试注册 ESM 将 Ubuntu LTS 版本的支持期延长 5 年
    免费供个人使用最多3个! !我尝试注册 ESM 将
    我个人使用 Ubuntu 作为我的 Linux 机器的操作系统。 Ubuntu 有正常版本和 LTS(长期支持)版本的操作系统。至此,版本号奇数为普通版,偶数为LTS版,LTS版长期支持5年,而普通版有支持期半年左右。。由于Linux机器用作GPU服务器,由于驱动程序和库的兼容性等
    03-08
  • [WSL2 Ubuntu22.04] 尝试使用 WSLg 运行 Elixir Desktop(未完成)
    [WSL2 Ubuntu22.04] 尝试使用 WSLg 运行 Elixir
    现状启用 WSLg 后,Elixir Desktop 会不会像在 Ubuntu 上一样工作?Elixir 桌面示例我试着跑步窗口显示并似乎在移动,但 Todo 应用程序未显示在窗口中。这是一个空白的显示。显示窗口和菜单。Extra 的内容也可以单独使用。如果您使用 Extra 的 Open Browser
    03-08
  • ubuntu中vi下删除键和上下左右键输入字符异常(
     刚安装的Ubuntu系统,使用vi编辑文本的时候,出现以下现象:点删除键输入了 D回车无效上下左右为字母光标乱跳 原因:自带的vi功能问题 解决:卸载原有vi,重新安装完整版本vim执行以下命令即可: sudo apt-get remove vim-common sudo apt-get install v
    02-10
  • ubuntu禁止ping操作(禁用ICMP协议访问) icmp
    ping命令是计算机之间进行相互检测线路完好的一个应用程序,计算机间交流数据的传输没有经过任何的加密处理,因此我们在用ping命令来检测某一个服务器时,可能在因特网上存在某个非法分子,为了安全我们把ping给禁止掉。通过专门的黑客程序把在网络线路上传输
    02-10
  • Ubuntu16配置静态IP ubuntu16.04配置静态ip
    一、静态IP地址配置sudo vi/etc/network/interfaces然后按照如下格式修改:注意这里的网卡名字是ens33auto loiface lo inet loopbackauto ens33iface ens33 inet staticaddress 192.168.1.106netmask 255.255.255.0gateway 192.168.1.1二、配置DNS#临时修改su
    02-10
点击排行