Linux的VI/VIM
参考自:http://www.cnblogs.com/itech/archive/2009/04/17/1438439.html
作者:iTech
出处:http://itech.cnblogs.com/
重新编辑,只保留了常用的命令,并增加少许理解和心得。
1、vi的基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) 命令行模式(command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
我的理解:写字板里的(编辑)菜单
2) 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
我的理解:写字板里按鼠标在页面里编辑,整个要整键盘才好使。
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
我的理解:写字板里的(文件)和(设置)菜单
2、vi的操作
1)进入vi
$ vi myfile 意思是:输入vi+空格+你要打开的文件名称
2)退出
【ESC+ :q!】 意思是:先按一下ESC键进入底行模式,输入冒号,输入q!,不保存强制退出vi,相当于写字板的(退出)。
【ESC+ : w filename】 意思是:先按一下ESC键进入底行模式,输入冒号,输入W+要保存的文件名称,相当于写字板的(另存为)。
【ESC : wq】 意思是:先按一下ESC键进入底行模式,输入冒号,输入wq,直接保存并退出vi,相当于写字板的(保存)。
3)编辑文件
按一下【i】,进入编辑模式,可以在光标位置打出来字符了,相当于点了一下鼠标,即指即点。
按一下【a】,进入编辑模式,从光标的下一个位置开始输入。
按一下【o】,进入编辑模式,从新的一行的一个位置开始输入。
4)移动光标
一般用箭头就行了,非要进入装逼模式就在命令模式下用【h】【j】【k】【l】控制左,下,上,右。
按【ctrl+b】:屏幕往“后”移动一页。
按【ctrl+f】:屏幕往“前”移动一页。
按【ctrl+u】:屏幕往“后”移动半页。
按【ctrl+d】:屏幕往“前”移动半页。
按【G】:移动到文章的开头,注意是大写G,搞了半天。
按【#l】:光标移到该行的第#个字符的位置,如:5l,56l。
5)输入字符
敲键盘,没别的。
6)删除字符
按【x】,按一次删除光标后面的一个字符
按【数字+x】,删除光标后面输入数字个数个字符
按【dd】,删除光标所在的行
按【数字+dd】,删除光标后面输入数字个数行
7)复制字符
按【数字+yw】复制光标后输入数字个数的字(这个字是指单词,不是字母)
按【yy】复制光标所在行
按【数字+yy】复制光标往下输入数字个数的行
8)粘贴
按【p】从光标位置粘贴
9)撤销
按【u】撤销上一次的命令
10)跳到指定行
【数字+G】跳到输入数字的行首
11)保存
【ESC+:w】 意思是按ESC键进入命令模式,按冒号,按w保存文件
12)列出行号
【ESC+:set nu】意思是按ESC进入命令模式,按冒号,输入set,空格,nu,自动列出行号
【ESC+:set nonu】去掉行号
13)查找
【ESC+:/要查找的字】意思是按ESC进入命令模式,按冒号,输入/,输入要查找的字,回车,找到第一个字,一直按n向后查询
【ESC+:?要查找的字】意思是按ESC进入命令模式,按冒号,输入?,输入要查找的字,回车,找到第一个字,一直按n向前查询
小结:
1、除了编辑文档,所有的操作都是要先按ESC键,进入编辑模式后输入命令才能操作的。
2、区分大小写
3、其实整体思路和windows的写字板,记事本是一样的,只是Linux黑白屏没有办法用鼠标,智能靠命令,而命令和文档的输入都得用键盘,所以就得区分输入模式和命令模式。
4、功能和记事本都一样,不过是用命令,用的多了就记住。
吐槽:
Linux根本就不是设计给一般用户用的,完全是给专业人员用的。和windows的定位根本就不同,既然这样,那些模仿windows又有什么意义呢?做Linux该做的事情吧。
高手的思维导图

Linux的VI/VIM的更多相关文章
- 【转】Linux上vi(vim)编辑器使用教程
Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...
- Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...
- [Linux/Ubuntu] vi/vim 使用方法讲解(转载)
转自:http://www.cnblogs.com/emanlee/archive/2011/11/10/2243930.html vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统 ...
- Linux命令vi/vim 使用方法讲解
vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...
- [Linux/Ubuntu] vi/vim 使用方法讲解
vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...
- Linux command ------ vi / vim
EDIT mode to GENERAL mode: press ESC General mode: operate file :q! :force to close the file but ...
- 新手指南:Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...
- Linux下Vi/Vim的使用方法
本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特 ...
随机推荐
- Linux shell 脚本中”2>&1″的含义解释
脚本是:nohup /mnt/Nand3/H2000G >/dev/null 2>&1 & 对于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是 ...
- Maven 打包可运行 jar
为配合自动化部署hudson,最近研究了如何将eclipse maven工程打包成可运行的jar函数及对应的资源文件. 由于我们工程中包含了多个可运行的任务,在打包成jar时需要分别导出,p ...
- phpcms v9版本二次开发四步曲
今晚看了一下PHPCMS V9版本,做一个实例抛砖引玉,其实很简单,以下是二次开发的一个实例以旅游模块为例1. 在phpcms\modules目录下建立一个文件夹tour2. 在phpcms\m ...
- iscroll.js
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- REDIS学习(1)环境搭建
1.下载 稳定版本的.tar.gz 包,解压到/usr/local/src/. 2 .cd 到文件夹下,不需要 configure 直接 make编译 ,成功之后,cd /usr/local/redi ...
- ASP.NET MVC5中的数据注解
ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...
- 复杂事件处理引擎—Esper 处理模型
1.esper的处理模型是持续性的——根据statement中事件流(event stream).视图(views).过滤器(filters)等的选择,esper引擎一旦处理事件数据,就会变更stat ...
- Windows下安装Emacs+Sbcl+Slime
前言 其实网上已经有很多类似的文章了,我也是按照上面的来做.在做的过程中会遇到几个很坑的地方,我自己也是折腾了好久才弄好.所以现在写出来希望能对大家有所帮助. 正文 下载和安装Emacs http:/ ...
- file_get_content、fsockopen和curl之间的优缺点
file_get_content 优点:在抓取单个文件上,效率很高,返回没有头信息的文件. 缺点:在抓取远程文件时,和fopen一样容易出错.在抓取多个跨域文件时,未对DNS进行缓存,所以效率上不不高 ...
- ng-class的使用
例如: td(ng-class="{0:'text-warning',1:'text-primary'}[bj.flag]") {{bj.flag | bjFlagfilter}} ...