vim学习笔记(一)—— vim安装方法
一、完全卸载vim的方法
- sudo apt-get remove --purge vim (--purge 是完全删除,会连配置文件一起删除)
二、Vim前言——————“世界上只有三种编辑器,EMACS、VIM和其它”
三、Vim基础入门
1、光标在屏幕文本中的移动既可以用箭头键,也可以使用hjkl字母键
- h(左移) j(上移) k(下移) l(右移)
2、进入vim编辑器方法:
- vim 文件名
3、退出vim编辑器的方法:
- <ESC> :q! <回车> 放弃所有改动退出
- <ESC> :wq <回车> 保存改动退出
4、在正常模式下删除光标所在位置的字符
- x
5、插入文本
- i 输入插入文本(在光标处)
- A 输入插入文本(在一行后添加文本)
6、删除
- dw 从光标处删除到下一个单词
- d$ 从光标处删除到当前行末尾
- dd 删除整行
7、动作重复
- operator [number] motion
8、光标移动到首行
- 0
9、撤销动作
- u 撤销
- U 撤销在一行所做的改动
- ctrl-R 恢复撤销的结果
10、重新置入删除内容
- p
11、替换
- r 替换当前光标的字符
- ce 替换当前光标到单词的末尾的内容
- c$ 替换当前光标到行末的内容
12、光标跳转
- CTRL-G 用于显示当前光标所在位置和文件状态信息
- G 光标跳到文件最后一行
- 行号-G 先输入行号再输入G,则是将光标移动到该行号代表的行
- gg 光标跳到文件到首行
13、查找
- / '+' 字符 正向查找该字符
- ?'+'字符 反向查找字符
- n 重复正常执行查找字符串
- N 重复反向执行查找字符串
- CTRL-O 跳转回较旧位置
- CTRL-I 跳转回较新位置
:nohl 取消高亮
14、括号匹配
- %
15、替换字符串
- s/old/new 在一行内替换第一个old字符串为new
- s/old/new/g 在一行内替换所old为new
- #,#/s/old/new/g 从#到#行内的所有old替换为new
- %s/old/new/g 替换文件内的全部old为new
- %s/old/new/gc 进行全文替换的时候询问用户确认每个替换需添加c标志
16、在vim中使用外部命令
- :!command 执行一个外部命令command
- :!ls 用于显示当前目录的内容
- :!del filename 删除名字为filename的文件
17、文件间操作
- :w FILENAME 将当前vim编辑的内容保存命名为FILENAME的文件中
- v motion:w FILENAME 将当前编辑文件中可视模式下选中的内容保存到FILENAME中
- :r FILENAME 提取磁盘文件FILENAME幷插入到当前文件的光标位置后面
- :r !dir 可读取dir命令的输出幷放置到当前文件的光标位置后面
18、插入模式进入
19、光标移动
- w 移动到下一个单词的首部
- e 移动到当前单词的尾部
- b 返回到上一个单词的首部
20、复制黏贴
- y 复制文本
- p 黏贴文本
21、替换模式
- R
22、set xxx进行一些有用的设置
- 'ic' 'ignorecase' 查找时忽略字母的大小写
- 'is' 'incsearch' 查找短语时显示部分匹配
- 'hls' 'hlsearch' 高亮显示所有的匹配短语
- 在选项前加上'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
- 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插件
- vim ~/.vimrc
4、vimrc样例
- set nocompatible " 去除VI一致性,必须要添加
- filetype off " 必须要添加
- " 设置包括vundle和初始化相关的runtime path
- set rtp+=~/.vim/bundle/Vundle.vim
- call vundle#begin()
- " 另一种选择, 指定一个vundle安装插件的路径
- "call vundle#begin('~/some/path/here')
- " 让vundle管理插件版本,必须
- Plugin 'VundleVim/Vundle.vim'
- " 以下范例用来支持不同格式的插件安装.
- " 请将安装插件的命令放在vundle#begin和vundle#end之间.
- " Github上的插件
- " 格式为 Plugin '用户名/插件仓库名'
- Plugin 'tpope/vim-fugitive'
- " 来自 http://vim-scripts.org/vim/scripts.html 的插件
- " Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处的用户名可以省略
- Plugin 'L9'
- " 由Git支持但不再github上的插件仓库 Plugin 'git clone 后面的地址'
- Plugin 'git://git.wincent.com/command-t.git'
- " 本地的Git仓库(例如自己的插件) Plugin 'file:///+本地插件仓库绝对路径'
- Plugin 'file:///home/gmarik/path/to/plugin'
- " 插件在仓库的子目录中.
- " 正确指定路径用以设置runtimepath. 以下范例插件在sparkup/vim目录下
- Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
- " 安装L9,如果已经安装过这个插件,可利用以下格式避免命名冲突
- Plugin 'ascenator/L9', {'name': 'newL9'}
- " 你的所有插件需要在下面这行之前
- call vundle#end() " 必须
- filetype plugin indent on " 必须 加载vim自带和插件相应的语法和文件类型相关脚本
- " 忽视插件改变缩进,可以使用以下替代:
- "filetype plugin on
- "
- " 常用的命令
- " :PluginList - 列出所有已配置的插件
- " :PluginInstall - 安装插件,追加 `!` 用以更新或使用 :PluginUpdate
- " :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地缓存
- " :PluginClean - 清除未使用插件,需要确认; 追加 `!` 自动批准移除未使用插件
- "
- " 查阅 :h vundle 获取更多细节和wiki以及FAQ
- " 将你自己对非插件片段放在这行之后
5、安装需要的插件
(1)将想要安装的插件,按照地址填写方法,将地址填写在vundle#begin和vundle#end之间就可以
(2)保存之后,有两种方法安装插件
A、运行 vim ,再运行 :PluginInstall
B、vim +PluginInstall +qall
6、移除不需要的插件
- 编辑.vimrc文件移除的你要移除的插件所对应的plugin那一行。
- 保存退出当前的vim
- 重新打开vim,输入命令
BundleClean
7、其他常用命令
- 更新插件
BundleUpdate
- 列出所有插件
BundleList
- 查找插件
BundleSearch
六、vim配置
1、无敌现成vim配置:https://github.com/spf13/spf13-vim/
- curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh
2、很好的一篇博文:讲解常用配置,可惜太小白了,自己装一个都跑不起来,研究出来再做下笔记。
vim学习笔记(一)—— vim安装方法的更多相关文章
- vim学习笔记(2)——vim配置
记录vim的配置,随时更新 MacVim 安装: homebrew,安装位置:/usr/local/Cellar brew linkapps macvim--将macvim.app加入到Applica ...
- vim学习笔记(1)——vim操作
仅记录一些自己最经常使用的vim操作.随时更新 文本操作 d 剪切.双击剪切一行 y 复制,双击复制一行 p 粘贴 x 删除当前光标下字符 r 替换当前光标字符.后面接替换的字符 :s/old/new ...
- PHP学习笔记----IIS7下安装配置php环境
原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...
- 【python学习笔记】9.魔法方法、属性和迭代器
[python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自 ...
- Java8学习笔记(八)--方法引入的补充
在Java8学习笔记(三)--方法引入中,简要总结了方法引入时的使用规则,但不够完善.这里补充下几种情况: 从形参到实例方法的实参 示例 public class Example { static L ...
- openresty 学习笔记一:环境安装
openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...
- linux学习笔记:vim程序编辑器—vim的使用
注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...
- 学习笔记之vim的使用
很多刚学习linux编程的人总是对vim有一种恐惧,我自己就是这么回事的. 可是当你努力的去尝试学习使用后,才发现它的精髓所在. 在我看来,让vim变得好用的前提是要安装两个插件,ctags和tagl ...
- vim学习笔记(10):vim命令大全
进入vim的命令: vim filename :打开或新建文件,并将光标置于第一行首 vim +n filename :打开文件,并将光标置于第n行首 vim + filename :打开文件,并将光 ...
- Linux学习笔记之VIM编辑器
此处根据需要,只罗列一些常用的指令和用法 五.VIM程序编辑器 Vi与vim Vi打开文件没有高亮注释,vim有,且vim是vi的高级版本 Vim默认打开文件为命令模式 i ...
随机推荐
- Linq-批量删除方法
linq中批量删除用DeleteAllOnSubmit,里面的参数是数据集 传入某要删除的ID列表,使用对象的Contains方法与数据库中值比较,相同就删除. //批量删除 public void ...
- PHP文件操作[总结]
1.前言 工作中涉及到数据处理,后台需要用到PHP处理数据,之前没有接触过PHP,借此机会了解了一下PHP,PHP很方便,很灵活,编码很舒服,很喜欢用PHP处理后台数据.今天总结一下php文件操作,主 ...
- 数据科学家Docker历险记(1):windows下环境搭建
原文:http://www.xueqing.tv/cms/article/247 Docker是最近炒得很火热的一门技术,在网上可以找到关于它的介绍文章,比如<Docker到底是什么?为什么它这 ...
- Python防止sql注入
看了网上文章,说的都挺好的,给cursor.execute传递格式串和参数,就能防止注入,但是我写了代码,却死活跑不通,怀疑自己用了一个假的python 最后,发现原因可能是不同的数据库,对于字符串的 ...
- iOS中文API之UITouch详解
UITouch 对象用于位置. 大小. 运动和一根手指在屏幕上为某一特定事件的力度.触摸的力度是从开始在 iOS 9 支持 3D 的触摸的设备上可用.你可以通过UIEvent对象传递给响应者对象访问. ...
- TFS 之 彻底删除团队项目
方式一 通过选择“齿轮图标”打开团队项目集合的管理上下文. 打开要删除的团队项目的 上下文菜单. 如果未看到上下文图标 (),则你不是在访问 Visual Studio Online,或不是项目集合管 ...
- [网摘][医学影像] DICOM 和 NIFTI 基础知识与区别
查找DICOM基础知识时,看到这篇文章里面写了一些关于使用深度学习进行医疗影像分析:文件格式篇.下文摘自:https://www.jiqizhixin.com/articles/2017-07-31 ...
- QtWebkit包含的类简介
前言 WebKit从Qt 4.4开始被作为一个Module被集成到Qt中.简单的说,Qt webkit就是Qt对Apple公司webkit的支持而开发的库,主要包括以下几个类: QWebDatabas ...
- hadoop mahout 算法和API说明
org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.main(args) --input 偏好数据路径,文本文件.格式 userid\t ite ...
- Data De-duplication
偶尔看到data deduplication的博客,还挺有意思,记录之 http://blog.csdn.net/liuben/article/details/5829083?reload http: ...