浅谈Vim

一、基本介绍
vim(Vi IMproved)顾名思义是vi的改进版,那么vi是什么?
vi 是一种常用于GNU/Linux下的一款编辑器,随着需求的不断扩充,在vi的基础上做了很多改进,于是vim诞生了。
vim相对于vi的这些优势主要体现在以下几个方面:
1、多级撤消我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮vim可以用不同的颜色来加亮你的代码。
4、可视化操作就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容某些情况下,你可以把vim当成vi来使用。
由此可见vim是一款非常强大、非常受欢迎的一款文本编辑器。
官方网站:http://www.vim.org/
linux下安装vim-minimal软件包
如果是在Linux下,可以安装VIM-Enhance使其扩展为完整版本的VIM

二、整体概述
vim编辑中有三种模式
1、一般模式:
在Linux终端中输入“vim 文件名”就进入了一般模式,但不能输入文字。
2、编辑模式:
在一般模式下按i就会进入编辑模式,此时就可以写程式,按Esc可回到一般模式。
3、命令模式:
在一般模式下按:就会进入命令模式,左下角会有一个冒号出现,此时可以敲入命令并执行。

三、使用方法
首先vim file 打开一个文件
一般模式

命令模式

k、j、h、l分别是上下左右移动光标,个人比较喜欢用上下左右的箭头
w   跳到下一个字首,按标点或单词分割
W   跳到下一个字首,长跳,如end-of-line被认为是一个字
e     跳到下一个字尾
E     跳到下一个字尾,长跳
b     跳到上一个字
B     跳到上一个字,长跳
0 跳至行首,不管有无缩进,就是跳到第0个字符
*     查找光标所在处的单词,向下查找
#     查找光标所在处的单词,向上查找
s     删除当前字符并进入编辑模式
S     删除光标所在行并进入编辑模式

wq和x都是保存并退出,它们之间的区别在于:
wq  
强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
x
写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。
四、Other
部分命令解释:
% 全文(“%”是“1,$”范围的缩写)
s 替
/搜索字符串开始
/搜索字符串结束
/g 替换字符串结束,g表示替换每一行的所有匹配结果。
n 查找下一个& (当在vim用//查找字符串的时候,字符串有多个的时候,按n,光标会跳到下一个字符串)
批量注释或取消注释文本
注释文本:
一般模式下按下Ctrl+v,上下箭头选中每行,然后按大写I,插入#号,然后按两下ESC即可
取消注释:
一般模式下按Ctrl+v,然后上下箭头全内容(选每行的#),按下x即可

时间: 2024-10-14 19:55:15

浅谈Vim的相关文章

浅谈vim环境设置

有时候默认的vim环境并不适合自己的要求,这时我们可以通过修改vim的设置如字体.颜色.自动缩进等等以适应我们的需求. 常用的设置参数如下: : set nu : set nonu 设置与取消行号 : set hlsearch : set nohlsearch 查找的字符串是否反白显示 : set all显示所有的环境参数设置值 : set 显示与系统默认值不同的设置参数 : set autoindent 自动缩进 : syntax on : syntax off 是否依据不同程序相关语法显示不

浅谈nginx(一)

此文主要介绍nginx的基础知识及其基本配置,一为巩固,二为记录 知识点: nginx的作用 nginx的基本配置框架 nginx一些常用模块介绍 1.什么是nginx     nginx是一款免费的,开源的,高性能的HTTP服务软件,它不仅能     够支持反向代理服务器,而且也能当作IMPA/POP3代理服务.它稳     定, 配置丰富,设置简单,而且占用系统硬件资源少!这些特性     使得它深受广大用户喜欢. 1.1 Nginx的程序架构 Nginx架构: master/worker

Web服务器和动态语言如何交互--CGI&FastCGI&FPM浅谈

一个用户的Request是如何经过Web服务器(Apache,Nginx,IIS,Light)与后端的动态语言(如PHP等)进行交互并将结果返回给用户的呢? 本文浅谈个人观点,可能有误,欢迎拍砖,共同学习. 一. 首先明确几个概念,以便后续说明 CGI:(Common Gateway Interface)Http服务器与后端程序(如PHP)进行交互的中间层. 工作原理及处理方式(fork-and-execute模式): 1.当Web Server有Request到达 2.fork一个CGI进程或

浅谈 编译器 & 自然语言处理

============================================== copyright: KIRA-lzn ============================================== 转载请注明出处,这篇是我原创,翻版必究!!!!!!!!!!!!!!!!!!! ============================================== 如果觉得写个好,请留个言,点个赞. 自我介绍:本人13届 USTC 研一学生,菜鸟一枚,目前在int

浅谈linux--make和makefile

会不会写makefile从侧面能够反映一个人是否具有完成大型工程的能力,虽然我只是渣渣一枚,但是我爱学习呀,所以....所以今天就浅谈一下有关make和makefile文件的基本操作和用法 一.Makefile是一个文件 用传统的c/c++语言编写一个程序,都要经历:编辑-编译-连接,这几个步骤.但是在linux平台下这几个步骤是由我们自己来走,因为makefile关系到了整个工程的编译规则,一个工程的源文件不计其数,按功能,类型模块分在若干个目录下,makefile定义了一系列的规则来指定,那

浅谈如何做一名优秀的WEB前端工程师

浅谈如何做一名优秀的WEB前端工程师 随着近两三年来RIA(Rich Internet Applications的缩写,中文含义为:丰富的因特网应用程序)的流行和普及,前端开发这个行业也开始备受关注. 前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢.Web前端开发核心技术主要包括HTML.CSS.JavaScript等.HTML仅仅是简单的标记语言!CSS 只是无类型的样式修饰语言.当然可以勉强算作弱类型语言.Javascript 的基础部分相对来

Linux特殊符号浅谈

Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可以分以下几类 1.管道符号 字符 名称 功能描述 | 管道 传递的普通的字符串,来自于前一个命令 |xargs 管道流转换 与xargs 传递的是把字符串变成了文件名 2.目录结构 字符 名称 功能描述 . 当前目录 .. 当前目录上一级目录 3.重定向符号 字符 名称 功能描述 > 输出重定向 会

.net中对象序列化技术浅谈

.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化

浅谈——页面静态化

现在互联网发展越来越迅速,对网站的性能要求越来越高,也就是如何应对高并发量.像12306需要应付上亿人同时来抢票,淘宝双十一--所以,如何提高网站的性能,是做网站都需要考虑的. 首先网站性能优化的方面有很多:1,使用缓存,最传统的一级二级缓存:2,将服务和数据库分开,使用不同的服务器,分工更加明确,效率更加高:3,分布式,提供多台服务器,利用反向代理服务器nginx进行反向代理,将请求分散开来:4,数据库的读写分离,不同的数据库,将读操作和写操作分开,并实时同步即可:5,分布式缓存,使用memc