安装vim编辑器

sudo apt-get install vim

基本操作

//*[@id=”turnRed”]/div/ul/li[2]

p粘贴
gp和p的功能基本一致,只是粘贴完,它会把光标移动至粘贴内容之后;gP同理
复制yy复制一行,n+yy 复制n行,p对复制的行进行粘贴
剪切dd剪切一行,n+dd 剪切n行,p对剪切的行进行粘贴
s/usa/china替换当前行第一个 usa 为 china
s/usa/china/g替换当前行所有的 usa 为 china
n,$s/vivian/sky/替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
3,6 s/tom/jack/g从第3行到第6行,把tom替换为jack
移动要移动到342行,就是342G
多行删除32,65d 回车键,32-65行就被删除
a在光标后插入
o在当前行后插入一个新行
O在当前行前插入一个新行
cw替换从光标所在位置后到一个单词结尾的字符
/abc搜索单词abc,按n可以搜索下一个
:e打开一个文件
:w存盘
:saveas 另存为
:x, ZZ 或 :wq保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)
:q!退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。
:bn 和 :bp你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。
.重复上一次的命令
N重复某个命令N次
NG到第N行
gg/G到第一行/最后一行
w/W到下一个单词的开头/到下一段内容开头
e/E到下一个单词的结尾/到下一段内容结尾
0y$0 → 先到行头,y → 从这里开始拷贝,$ → 拷贝到本行最后一个字符
ye从当前位置拷贝到本单词的最后一个字符
v可视化选择
:10,100>第10行至第100行缩进
:20,80<第20行至第80行反缩进

进阶操作

区域选择 < action>a< object> 或 < action>i< object>

0到行头
^到本行的第一个非blank字符
$到行尾
g_到本行最后一个不是blank字符的位置
fa到下一个为a的字符处,你也可以fs到下一个为s的字符
t,到逗号前的第一个字符。逗号可以变成其它字符
3fa在当前行查找第三个出现的a
F 和 T和 f 和 t 一样,只不过是相反方向

下载Vundle.vim

https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
  • ~/表示的是 HOMEecho /echo HOME即可得到对应路径如 /home/tom
    git clone
  • 上面代码的意思是将git上的Vundle.vim.git下载到/home/tom/.vim/bundle/Vundle.vim

找到.vimrc并且配置

很多新手就像我一样一开始根本找不到.vimrc或者说找到好几个.vimrc了但是不知道到底该配置哪一个。.vimrc一般有两个, 一个系统默认的一个是用户配置的,我们一般只需要设置用户配置,那么如何找到它们呢, 用vim编辑器任意打开一个文件

shift + : 进入底行输入version

可以看到下面有系统vimrc文件和用户vimrc文件, 我们只需要找到用户的vimrc即可, 这里的用户vimrc的路径是 HOME/.vimrc HOME的方法,这里的路径是/home/kingov/.vimrc 。

用命令行进入cd /home/kingov可能在这里找不到.vimrc, 不过有没有都不要紧可以创建一个,只要.vimrc在这个位置就可以, 用vim .vimrc(有则进入修改没有则创建) , 进入之后在里面输入set nu(设置行号)再新开一个vim任意打开一个文件看有没有行号,有的话就说明此文件配置生效,然后删除set nu(只是试验一下有无效果) ,
将下面的代码复制到.vimrc里

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')



" Git plugin not hosted on GitHub  
" Plugin 'git://git.wincent.com/command-t.git'

" git repos on your local machine (i.e. when working on your own plugin)
" Plugin 'file:///home/gmarik/path/to/plugin'
  • .vimrc常用配置
"设置主题
syntax enable
set background=dark
colorscheme solarized

" 完全隐藏菜单
set guioptions-=m
" 完全隐藏工具栏
set guioptions-=T

在命令行输入
vim +PluginInstall +qall 安装

用vundle安装一个目录插件NERDTree

NERDTree可以让文件以树形展示
下载包文件git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree

配置.vimrc

保存并且退出然后在命令行执行一次vim +PluginInstall +qall

用vim打开一个文件(该文件有同级文件和文件夹以便显示目录树)输入:NERDTree

快捷键

默认按键小写o:
适用于文件,目录和书签
如果选择的是文件,它会在整个窗口打开;
如果选择的是目录,它打开与关闭取决于当前状态;
如果选择的是一个链接到目录的书签,那么这个目录会成为新的根。
如果选择的是一个链接到文件的书签,那么它会在整个窗口打开。

默认按键go:
适用于文件
功能和o差不多,只能打开文件,区别在于光标不动,会停留在nerd tree 窗口中。
即nerd tree窗口与vim编辑区并存。

默认按键小写t:
适用于文件和目录
在新标签页中打开选定的文件(或指向文件的书签),如果选定的是目录(或指向目录的书签),那么新的NERD tree会在新标签页中打开,即可以存在多个不同的nerd tree。

默认按键小写i:
适用于文件
新建一个水平分割窗口,打开选定文件,并且把光标停留在新窗口。

默认按键gi:
适用于文件
和按键i作用相同,区别在于光标不会移动到新窗口。

默认按键小写s:
适用于文件
新建一个垂直分割窗口,打开选定文件,并且把光标停留在新窗口。

默认按键gs:
适用于文件
和按键s作用相同,区别在于光标不会移动到新窗口。

默认按键大写O:
适用于目录
递归打开选定目录,意思是该目录下包含的所有多重文件和目录全都打开。
如果目录包含在过滤|’NERDTreeIgnore’| |NERDTree-f| 和隐藏 |’NERDTreeShowHidden’|中,那么就不会打开。
特别如果你有.svn目录,这非常方便。

默认按键小写x:
适用于文件和目录
合拢(关闭)所选节点的父节点。

默认按键大写X:
适用于目录
合拢(关闭)所选目录的所有子节点。

默认按键小写e:
适用于文件和目录
编辑选定目录,或者选定文件目录,这可能导致一个NERD tree被打开

默认按键大写D:
适用于书签表中的一行
删除当前选定的书签

默认按键大写P:
适用于无限制
跳到树根

默认按键小写p:
适用于文件和目录
跳到选定节点的父节点,即上层目录

默认按键大写K:
适用于文件和目录
跳到当前节点的父节点的第一个子节点

默认按键大写J:
适用于文件和目录
跳到当前节点的父节点的最后一个子节点

默认按键

vim文件操作

:new 文件名.后缀 新建文件。

:e 文件名 打开文件。

window下安装vim和vundle

  • 下载安装最新VIM8.0版,找到VIM所在的文件夹。如C:\Program Files (x86)\Vim
  • 在Vim/vimfiles路径下新建文件夹bundle,然后在此文件夹下克隆github上的vundel项目:
    git clone https://github.com/VundleVim/Vundle.vim.git Vundle.vim
    在VIM的配置文件_vimrc中开始配置vundle;
set nocompatible
filetype off
"Vundle的路径
set rtp+=$VIM/vimfiles/bundle/Vundle.vim
"插件的安装路径
call vundle#begin('$VIM/vimfiles/bundle/')
Plugin 'VundleVim/Vundle.vim'
call vundle#end()
filetype plugin indent on
  • 保存后,在用vim任意打开一个文件shift + : 然后输入:PluginInstall进行插件安装

安装后即可在VIM中执行Vundle插件的相关操作,如安装:
:BundleInstall

Vundle常用命令:

:BundleList         列出已经安装的插件
:BundleInstall      安装所有配置文件中的插件
:BundleInstall!     更新所有插件
:BundleSearch       搜索插件
:BundleClean!       根据配置文件删除插件

编辑VIM的配置文件_vimrc中vundle部分加入
Plugin ‘mattn/emmet-vim’

此时vundle的配置部分整体是这样的:

set nocompatible
filetype off
"Vundle的路径
set rtp+=$VIM/vimfiles/bundle/Vundle.vim
"插件的安装路径
call vundle#begin('$VIM/vimfiles/bundle/')
Plugin 'VundleVim/Vundle.vim'
Plugin 'mattn/emmet-vim'
call vundle#end()
filetype plugin indent on
  • 安装后即可在VIM中执行Vundle安装插件命令:BundleInstall
  • 用vim打开一个html文件输入div按ctl + y + , 会自动闭合标签
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐