vim学习笔记(一)—— vim安装方法

时间:2022-02-05 17:57:14

一、完全卸载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、插入模式进入

vim学习笔记(一)—— vim安装方法

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、命令图解

vim学习笔记(一)—— vim安装方法

五、插件管理神器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#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/

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

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

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

  1. vim学习笔记&lpar;2&rpar;——vim配置

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

  2. vim学习笔记&lpar;1&rpar;——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&period;魔法方法、属性和迭代器

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

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

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

  6. openresty 学习笔记一&colon;环境安装

    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. android 无限循环的viewpager

    思路 例如存在 A -B -C 需要在viewpager滑动时无限循环 1.我们可以设计 C' A B C A'  C'与C相同,A'与A相同 2.滑动到A'时,则index回到1 3.滑动到C'时, ...

  2. iOS ReactiveCocoa简单使用笔记

    涉及对象: 两个输入框,一个按钮. 代码功能: 随时监测输入框内容的长度变化,并在输入内容不符合预设要求时,立即改变输入框背景色. 在两个输入框的内容都符合预设要求时,按钮才可用. RACSignal ...

  3. html5,加密元素

    <form action="">    账号:<input type="text" name="user">     ...

  4. MODBUS-寄存器与功能码学习

    分类 简称 起始地址 结束地址 能够使用的功能码 输出逻辑线圈/(可读写位)/(DI/O)(如继电器开关控制) 0x 00000 09999 0x01读一组逻辑线圈 0x05写单个线圈 0x0f写多个 ...

  5. Tsinsen A1517&period; 动态树 树链剖分&comma;线段树&comma;子树操作

    题目 : http://www.tsinsen.com/A1517 A1517. 动态树 时间限制:3.0s   内存限制:1.0GB    总提交次数:227   AC次数:67   平均分:49. ...

  6. (转载)C&plus;&plus; const成员初始化问题

    (转载)http://www.189works.com/article-45135-1.html Const成员如其它任何成员一样,简单考虑其出现在三个位置:全局作用域.普通函数内部.类里面. 下面请 ...

  7. maya和Unity中的坐标系旋转

    maya软件是用的右手坐标系,默认旋转顺序是ZYX,即先绕Z轴旋转,再绕Y轴旋转,最后绕X轴旋转. 比如在maya软件中,右侧的旋转顺序是可选的,默认的选择是“XYZ”,其实物体旋转顺序是倒着念,即上 ...

  8. C&num;中MD5加密

    C#中进行MD5加密需要使用MD5这个类,这个类位于System.Security.Cryptography命名空间. 转到元数据得知MD5是抽象类和两个静态方法 上代码详解: //得到其静态方法创建 ...

  9. java之IDEA中使用Maven

    Maven的安装与使用 安装 1.下载,官网下载. 2.解压,存放路径中不可包含空格和中文.如:"E:\dev\workspace\maven\apache-maven-3.6.0&quot ...

  10. qvalue&colon; Check that you have valid p-values or use a different range of lambda

    ERROR: The estimated pi0 <= 0. Check that you have valid p-values or use a different range of lam ...