一、完全卸载vim的方法

  1. sudo apt-get remove --purge vim (--purge 是完全删除,会连配置文件一起删除)

二、Vim前言——————“世界上只有三种编辑器,EMACS、VIM和其它”

三、Vim基础入门

1、光标在屏幕文本中的移动既可以用箭头键,也可以使用hjkl字母键

  1. h(左移) j(上移) k(下移) l(右移)

2、进入vim编辑器方法:

  1. vim 文件名

3、退出vim编辑器的方法:

  1. <ESC> :q! <回车> 放弃所有改动退出
  2. <ESC> :wq <回车> 保存改动退出

4、在正常模式下删除光标所在位置的字符

  1. x

5、插入文本

  1. i 输入插入文本(在光标处)
  2. A 输入插入文本(在一行后添加文本)

6、删除

  1. dw 从光标处删除到下一个单词
  2. d$ 从光标处删除到当前行末尾
  3. dd 删除整行

7、动作重复

  1. operator [number] motion

8、光标移动到首行

  1. 0

9、撤销动作

  1. u 撤销
  2. U 撤销在一行所做的改动
  3. ctrl-R 恢复撤销的结果

10、重新置入删除内容

  1. p

11、替换

  1. r 替换当前光标的字符
  2. ce 替换当前光标到单词的末尾的内容
  3. c$ 替换当前光标到行末的内容

12、光标跳转

  1. CTRL-G 用于显示当前光标所在位置和文件状态信息
  2. G 光标跳到文件最后一行
  3. 行号-G 先输入行号再输入G,则是将光标移动到该行号代表的行
  4. gg 光标跳到文件到首行

13、查找

  1. / '+' 字符 正向查找该字符
  2. '+'字符 反向查找字符
  3. n 重复正常执行查找字符串
  4. N 重复反向执行查找字符串
  5. CTRL-O 跳转回较旧位置
  6. CTRL-I 跳转回较新位置
    nohl 取消高亮

14、括号匹配

  1. %

15、替换字符串

  1. s/old/new 在一行内替换第一个old字符串为new
  2. s/old/new/g 在一行内替换所oldnew
  3. #,#/s/old/new/g 从#到#行内的所有old替换为new
  4. %s/old/new/g 替换文件内的全部oldnew
  5. %s/old/new/gc 进行全文替换的时候询问用户确认每个替换需添加c标志

16、在vim中使用外部命令

  1. :!command 执行一个外部命令command
  2. :!ls 用于显示当前目录的内容
  3. :!del filename 删除名字为filename的文件

17、文件间操作

  1. :w FILENAME 将当前vim编辑的内容保存命名为FILENAME的文件中
  2. v motion:w FILENAME 将当前编辑文件中可视模式下选中的内容保存到FILENAME
  3. :r FILENAME 提取磁盘文件FILENAME幷插入到当前文件的光标位置后面
  4. :r !dir 可读取dir命令的输出幷放置到当前文件的光标位置后面

18、插入模式进入

19、光标移动

  1. w 移动到下一个单词的首部
  2. e 移动到当前单词的尾部
  3. b 返回到上一个单词的首部

20、复制黏贴

  1. y 复制文本
  2. p 黏贴文本

21、替换模式

  1. R

22、set xxx进行一些有用的设置

  1. 'ic' 'ignorecase' 查找时忽略字母的大小写
  2. 'is' 'incsearch' 查找短语时显示部分匹配
  3. 'hls' 'hlsearch' 高亮显示所有的匹配短语
  4.  
  5. 在选项前加上'no’可以关闭选项 set noic

四、vim基础入门推荐教程

1、自带的vimtutor

2、http://coolshell.cn/articles/5426.html   简明VIM练级攻略

3、https://vim-adventures.com/               VIM大冒险

4、命令图解

五、插件管理神器vundle安装

链接:http://blog.csdn.net/zhangpower1993/article/details/52184581

1、安装vundle

  1. git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

2、配置说明

插件有三种类型:
1. Github上vim-scripts仓库的插件
2. Github上非vim-scripts仓库的插件
3. 不在Github上的插件
对于不同的插件,vundle自动管理和下载插件的时候,有不同的地址填写方法,有如下三类:
1. 在Github上vim-scripts用户下的仓库,只需要写出repos(仓库)名称
2. 在Github其他用户下的repos, 需要写出”用户名/repos名”
3. 不在Github上的插件,需要写出Git全路径

3、配置vundle插件

  1. vim ~/.vimrc

4、vimrc样例

  1. set nocompatible " 去除VI一致性,必须要添加
  2. filetype off " 必须要添加
  3.  
  4. " 设置包括vundle和初始化相关的runtime path
  5. set rtp+=~/.vim/bundle/Vundle.vim
  6. call vundle#begin()
  7. " 另一种选择, 指定一个vundle安装插件的路径
  8. "call vundle#begin('~/some/path/here')
  9.  
  10. " vundle管理插件版本,必须
  11. Plugin 'VundleVim/Vundle.vim'
  12.  
  13. " 以下范例用来支持不同格式的插件安装.
  14. " 请将安装插件的命令放在vundle#begin和vundle#end之间.
  15. " Github上的插件
  16. " 格式为 Plugin '用户名/插件仓库名'
  17. Plugin 'tpope/vim-fugitive'
  18. " 来自 http://vim-scripts.org/vim/scripts.html 的插件
  19. " Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处的用户名可以省略
  20. Plugin 'L9'
  21. " 由Git支持但不再github上的插件仓库 Plugin 'git clone 后面的地址'
  22. Plugin 'git://git.wincent.com/command-t.git'
  23. " 本地的Git仓库(例如自己的插件) Plugin 'file:///+本地插件仓库绝对路径'
  24. Plugin 'file:///home/gmarik/path/to/plugin'
  25. " 插件在仓库的子目录中.
  26. " 正确指定路径用以设置runtimepath. 以下范例插件在sparkup/vim目录下
  27. Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
  28. " 安装L9,如果已经安装过这个插件,可利用以下格式避免命名冲突
  29. Plugin 'ascenator/L9', {'name': 'newL9'}
  30.  
  31. " 你的所有插件需要在下面这行之前
  32. call vundle#end() " 必须
  33. filetype plugin indent on " 必须 加载vim自带和插件相应的语法和文件类型相关脚本
  34. " 忽视插件改变缩进,可以使用以下替代:
  35. "filetype plugin on
  36. "
  37. " 常用的命令
  38. " :PluginList - 列出所有已配置的插件
  39. " :PluginInstall - 安装插件,追加 `!` 用以更新或使用 :PluginUpdate
  40. " :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地缓存
  41. " :PluginClean - 清除未使用插件,需要确认; 追加 `!` 自动批准移除未使用插件
  42. "
  43. " 查阅 :h vundle 获取更多细节和wiki以及FAQ
  44. " 将你自己对非插件片段放在这行之后

5、安装需要的插件

(1)将想要安装的插件,按照地址填写方法,将地址填写在vundle#beginvundle#end之间就可以

(2)保存之后,有两种方法安装插件

A、运行 vim ,再运行 :PluginInstall

B、vim +PluginInstall +qall

6、移除不需要的插件

  1. 编辑.vimrc文件移除的你要移除的插件所对应的plugin那一行。
  2. 保存退出当前的vim
  3. 重新打开vim,输入命令BundleClean

7、其他常用命令

  1. 更新插件BundleUpdate
  2. 列出所有插件BundleList
  3. 查找插件BundleSearch

六、vim配置

1、无敌现成vim配置:https://github.com/spf13/spf13-vim/

  1. curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh

2、很好的一篇博文:讲解常用配置,可惜太小白了,自己装一个都跑不起来,研究出来再做下笔记。

vim学习笔记(一)—— vim安装方法的更多相关文章

  1. vim学习笔记(2)——vim配置

    记录vim的配置,随时更新 MacVim 安装: homebrew,安装位置:/usr/local/Cellar brew linkapps macvim--将macvim.app加入到Applica ...

  2. vim学习笔记(1)——vim操作

    仅记录一些自己最经常使用的vim操作.随时更新 文本操作 d 剪切.双击剪切一行 y 复制,双击复制一行 p 粘贴 x 删除当前光标下字符 r 替换当前光标字符.后面接替换的字符 :s/old/new ...

  3. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  4. 【python学习笔记】9.魔法方法、属性和迭代器

    [python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自 ...

  5. Java8学习笔记(八)--方法引入的补充

    在Java8学习笔记(三)--方法引入中,简要总结了方法引入时的使用规则,但不够完善.这里补充下几种情况: 从形参到实例方法的实参 示例 public class Example { static L ...

  6. openresty 学习笔记一:环境安装

    openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...

  7. linux学习笔记:vim程序编辑器—vim的使用

    注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...

  8. 学习笔记之vim的使用

    很多刚学习linux编程的人总是对vim有一种恐惧,我自己就是这么回事的. 可是当你努力的去尝试学习使用后,才发现它的精髓所在. 在我看来,让vim变得好用的前提是要安装两个插件,ctags和tagl ...

  9. vim学习笔记(10):vim命令大全

    进入vim的命令: vim filename :打开或新建文件,并将光标置于第一行首 vim +n filename :打开文件,并将光标置于第n行首 vim + filename :打开文件,并将光 ...

  10. Linux学习笔记之VIM编辑器

    此处根据需要,只罗列一些常用的指令和用法 五.VIM程序编辑器 Vi与vim Vi打开文件没有高亮注释,vim有,且vim是vi的高级版本 Vim默认打开文件为命令模式 i               ...

随机推荐

  1. Linq-批量删除方法

    linq中批量删除用DeleteAllOnSubmit,里面的参数是数据集 传入某要删除的ID列表,使用对象的Contains方法与数据库中值比较,相同就删除. //批量删除 public void ...

  2. PHP文件操作[总结]

    1.前言 工作中涉及到数据处理,后台需要用到PHP处理数据,之前没有接触过PHP,借此机会了解了一下PHP,PHP很方便,很灵活,编码很舒服,很喜欢用PHP处理后台数据.今天总结一下php文件操作,主 ...

  3. 数据科学家Docker历险记(1):windows下环境搭建

    原文:http://www.xueqing.tv/cms/article/247 Docker是最近炒得很火热的一门技术,在网上可以找到关于它的介绍文章,比如<Docker到底是什么?为什么它这 ...

  4. Python防止sql注入

    看了网上文章,说的都挺好的,给cursor.execute传递格式串和参数,就能防止注入,但是我写了代码,却死活跑不通,怀疑自己用了一个假的python 最后,发现原因可能是不同的数据库,对于字符串的 ...

  5. iOS中文API之UITouch详解

    UITouch 对象用于位置. 大小. 运动和一根手指在屏幕上为某一特定事件的力度.触摸的力度是从开始在 iOS 9 支持 3D 的触摸的设备上可用.你可以通过UIEvent对象传递给响应者对象访问. ...

  6. TFS 之 彻底删除团队项目

    方式一 通过选择“齿轮图标”打开团队项目集合的管理上下文. 打开要删除的团队项目的 上下文菜单. 如果未看到上下文图标 (),则你不是在访问 Visual Studio Online,或不是项目集合管 ...

  7. [网摘][医学影像] DICOM 和 NIFTI 基础知识与区别

    查找DICOM基础知识时,看到这篇文章里面写了一些关于使用深度学习进行医疗影像分析:文件格式篇.下文摘自:https://www.jiqizhixin.com/articles/2017-07-31 ...

  8. QtWebkit包含的类简介

    前言 WebKit从Qt 4.4开始被作为一个Module被集成到Qt中.简单的说,Qt webkit就是Qt对Apple公司webkit的支持而开发的库,主要包括以下几个类: QWebDatabas ...

  9. hadoop mahout 算法和API说明

    org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.main(args) --input 偏好数据路径,文本文件.格式 userid\t ite ...

  10. Data De-duplication

    偶尔看到data deduplication的博客,还挺有意思,记录之 http://blog.csdn.net/liuben/article/details/5829083?reload http: ...