vim使用方法总结

说明:这是打造适合自己的vim编辑器的进阶方法,关于vim基础知识,请自行百度。也可参考文章末尾推荐blog网址

如果觉得自己打造vim编辑器麻烦,可以从github上面克隆一个,推荐:vimplus

vim简介

在windows系统下使用vim请下载gVim,linux自带Vim

  • Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。 VIM是自由软件。Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

配置Vundle

  • Vundle 是一个很方便的vim插件管理器。Vundle本身也是一个vim插件,只需要在vimrc里面配置号就课方便的安装、更新、删除插件,非常好用。关于其他插件的使用,请自行Google
  • 请确保安装好 vim git 这两个包
  • 如果没有
sudo apt-get install vim git
  • 下载Vundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
  • 创建 ~/.vimrc 文件,以通知 Vim 使用新的插件管理器。安装、更新、配置和移除插件需要这个文件。
vim ~/.vimrc
  • 在文件中加入以下内容,之后:wq保存退出
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') " let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" 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'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
" Plugin 'ascenator/L9', {'name': 'newL9'} " All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
  • 打开vim,键入命令安装插件,加在.vimrc文件中的所有插件都会自动安装
:PluginInstall
  • 安装完毕之后,键入下列命令,可以删除高速缓存区并关闭窗口
:bdelete
  • 在vim命令行模式下使用Vundele
  • 搜索插件:可以指定插件名搜索,如:PluginSearch taglist (查看编程函数列表)
:PluginSearch
:PluginSearch! (从vimscripts网站刷新本地列表)
  • 更新插件
:PluginUpdate
:PluginInstall! (重新安装所有插件)
  • 卸载插件,首先列出已安装的插件,之后将光标置于插件行上,按下shift+d 组合键。然后编辑./vimrc文件(删除插件入口),最后键入:wq 保存退出。另外一种方法,先删除插件入口,在使用命令:PluginClean
:PluginList
:e ~/.vimrc
  • 使用Vundle的帮助文档
:h vundle

配置.vimrc文件

  • 打开.vimrc文件,有两种方式。第一次编辑/.vimrc 新文件,建议使用第二种,用leafpad打开。因为vim不支持从其他地方直接复制内容。需要安装 vim-gnome
sudo vim ~/.vimrc
leafpad ~/.vimrc
  • 补充:安装vim-gnome,
sudo apt-get install vim-gnome

操作方式:都是在normal模式下使用的

y 表示从vim复制到系统剪切版
p 表示从外部文件(系统剪切版)粘贴到vim
d 表示剪切
gp 粘贴并且移动光标到粘贴内容后,gP同理
yy 复制一行
dd 删除一行
p 在当前光标后粘贴
P 在当前光标前粘贴
  • 在/.vimrc中添加插件入口,写上入口后,再去vim命令行安装
Plugin 'xxxx'
  • 设置其他,可以参考如下。在/.vimrc文件的最下方,添加命令。
set backspace=2
color desert set encoding=utf-8
let &termencoding=&encoding
set fileencodings=utf-8,gbk "解决中文乱码 set number
syntax on
set cindent
set incsearch "增量式搜索
set hlsearch "高亮搜索

更多vim进阶,可以参考如下blog

打造适合自己的vim编辑器方法总结的更多相关文章

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

    一.完全卸载vim的方法 sudo apt-get remove --purge vim (--purge 是完全删除,会连配置文件一起删除) 二.Vim前言——————“世界上只有三种编辑器,EMA ...

  2. linux系统中如何进入退出vim编辑器,方法及区别

    在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了.偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致强 ...

  3. [转] linux系统中如何进入退出vim编辑器,方法及区别

    原文链接:http://www.cnblogs.com/crazylqy/p/5649860.html 在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触 ...

  4. 【转】linux系统中如何进入退出vim编辑器,方法及区别

    在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致 ...

  5. Kali Linux的vi编辑器/vim编辑器使用方法

    转载声明:本文为转载文章 原文地址:https://www.52host.cn/blog/kali-linux-vi-editor/ Kali Linux系统的vi编辑器/vim编辑器的使用和Cent ...

  6. [转帖]Vim编辑器使用方法详解

    Vim编辑器使用方法详解 程序员小新人学习 2018-12-16 12:26:23 转载于https://www.cnblogs.com/libaoliang/articles/6961676.htm ...

  7. linux系统中如何进入退出vim编辑器的方法及区别

    在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致 ...

  8. Vi 和 Vim 编辑器详细使用方法

    学习linux的一项必会技能,熟练使用vi/vim编辑器那便最重要的了.不过一堆操作看的也是太头疼了,以下整理了些常用到的命令. 工作模式 vi编辑界面有三种不同的工作模式,分别为命令模式.输入模式. ...

  9. vim 编辑器 打开GB2312、GBK文件乱码解决方法

    安装好的操作系统一般都带有vim编辑器,但是默认不支持GB2312中文,打开文件出现乱码,解决办法如下. 1.打开以下文件 sudo vim /var/lib/locales/supported.d/ ...

随机推荐

  1. mysql(linux下)bug集结

    Mysql 启动测试: # systemctl status mysqld.service  

  2. 利用python实现两个文件夹的同步

    其实无论windows还是Linux,简单地去实现两个两个文件夹的同步只需系统自带的复制命令加参数就可以了. WINDOWS : xcopy 源文件夹\* 目标文件夹 /s /e /y Linux : ...

  3. sql注入-输入’or 1=1#

    比如:在用户名输入框中输入:’or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为:     select * from users where username='' or 1=1#' a ...

  4. 使用redis作为Return存储方式

    Return组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如MySQL.Redis.Memcache等,通过Return我们可以对 ...

  5. ifconfig 网卡 下面的参数

    ifconfig  eth1 eth1 Link encap:Ethernet HWaddr 20:12:07:04:05:00 inet addr:172.16.77.174 Bcast:172.1 ...

  6. Java扩展方法之SPI

    API:API(Application Programming Interface)表示应用程序编程接口 SPI:SPI(Service Provider Interface)表示服务提供商接口  A ...

  7. 用寄快递模拟数据在网络中的传送过程,发送一个ip数据报到接受这个ip数据报经历的过程

    发送一个ip数据报到接受这个ip数据报经历的过程 好比寄一个快递的过程 这个包裹一共有三层, 这个包裹的最里面是数据,数据 第二层写着目的ip地址和源ip地址,即收件人和发件人的姓名 第三层也就是最外 ...

  8. win 8.1 Your PC needs to be repaired修复过程

    一.问题情况描述: 下班时,执行关闭系统命令,但硬盘灯一直亮着,因急着下班,所以直接长按电源键,装包回家... 到家后一段时间,启动电脑,但电脑蓝屏,提示“Your PC needs to be re ...

  9. DEX: Deep EXpectation of apparent age from a single image 论文阅读

    来自:IMDB-WIKI - 500k+ face images with age and gender labels  https://data.vision.ee.ethz.ch/cvl/rrot ...

  10. upstream timed out (10060: A connection attempt failed because the connected party did not properly respond

    openresty 错误日志报错内容: // :: [error] #: * upstream timed : A connection attempt failed because the conn ...