vi/vim编辑器的基本操作

1 工具准备(下载gvim)

废话 :因为我们的目的是学习vi/vim操作,所以不必强调使用linux系统下的vi/vim,这里使用的是windows版的gvim(gvim是vi/vim的gui加强版)。
网盘下载 :http://pan.baidu.com/s/1hqfAch2
官网下载 :http://www.vim.org/download.php#pc

2 vi/vim基本入门

 

2.1 安装

windows下的vi/vim安装很简单的。这里就不啰嗦了。

2.2 基本使用

windows下进入gvim的3种方式

  1. 点击gvim74直接进入。
  2. Win+R 然后输入gvim后回车进入。
  3. Win+R 输入cmd进入控制台,然后在控制台里输入gvim后回车。

提示

  • 你也可把gvim换成vim进入控制台版

vi/vim3种基本工作模式:

命令行模式 控制屏幕光标的移动,字符,字或者行的删除,移动、复制某区域及插入模式,或者到末行模式。
插入模式 只有在插入模式下,才可以做文字输入,按“Esc"键可切换到命令行模式。
末行模式 用于保存文件或退出vi/vim编辑器,也可设置编辑环境,例如:列出行号,查找替换字符串等。

必知的移动键:


k
左j l右
j

上面的是vi/vim下的方向键,使用方法:切换到命令行模式分别按k(上)、j(下)、h (左)、l(右)移动光标。

进入givm后处于命令行模式下,按下“i”进入插入模式(注意是小写的i)此时你可以在你的编辑器里输入自己想要的内容。这里以简单的c程序为例,下面为步骤:

  • 进入插入模式
i
  • 输入内容
#include <stdio.h>
int main()
{
printf("欢迎来到友歌博客");
return 0;
}
  • 切换到命令行模式
Esc
  • 切换到末行模式
Shift + :
  • 保存文件到桌面
w desktop/welcom.c
  • 退出
Shift + :
q

按照顺序完成之后你就差不多能简单的使用gvim编辑器了。这里啰嗦一下,学习vi/vim最简单的途径就是使用它,尽量全键盘操作,不使用鼠标。(当你全部工作全用键盘完成,是不是有种黑客的感脚,有点装逼了,呵呵)


小提示:这里的"desktop"就是我们的桌面目录。


3 vi/vim基本命令表

下面为vi编辑器常用的命令,仅供参考。
相关资料:[http://www.vim.org/docs.php]
vi/vim帮助文档:[http://vimdoc.sourceforge.net/htmldoc/help.html]

命令 描述
vi 从控制台进入vi编辑器
vi filename 创建名为filename的文件并进入vi编辑器
命令行模式  
i 从光标所在字符前插入
a 从光标所在的字符后插入
o 从光标所在行的下面插入空白行
I 从光标所在行的行首插入
A 从光标所在行的行末插入
O 从光标所在行的上面插入空白行
s 删除光标所在字符进入插入模式
S 删除光标所在行进入插入模式
Esc 插入模式切换到命令行模式
k 类似方向键上
j 类似方向键下
h 类似方向键左
l 类是方向键右
Ctrl+u 向上移动半页
Ctrl+d 向下移动半页
Ctrl+b 向上移动一页
Ctrl+f 向下移动一页
0 光标移动到所在行的行首
gg 移动到文本的第一行
G 移动到文本最后一行
$ 光标移动到所在行的行为
^ 光标移动到所在行的行首
w 光标跳到下个字的开头
e 光标跳到下个字的字尾
b 光标回到上个字的开头
x 每按一次,删除光标所在位置的一个字符
nx 如"3x"表示删除光标所在位置开始的3个字符
X 删除光标所在位置的前一个字符
nX 如"3X"表示删除光标所在位置的前3个字符
dd 删除光标所在行
ndd 如"3dd"表示删除光标所在行开始的3行字符
yw 将光标所在之处到字尾的字符复制到缓冲区
nyw 复制n个字符到缓冲区
p 将缓冲区里的内容写到光标所在位置
r 替换光标所在处的字符
R 替换贯标所在处的字符,直到按下"Esc"为止
u 撤销命令,可多次撤销
Ctrl+g 列出光标所在行的的行号
nG 表示移动光标到文本的第n行行首
ZZ 存盘退出
ZQ 不存盘退出
末行模式  
: 先按Esc进入命令行模式再按Esc进入末行模式
set nu 开启每行的行号
set nonu 取消每行的行号
n n代表数字,表示跳到n行
/关键字 先按"/",在输入关键字后回车查找字符(查找),按n查找下一个
?关键字 类似"/关键字"
!命令 windows下运行dos命令,linux下运行shell命令
s /a/b 将光标所在行的第一个a替换为b
s /a/b/g 将光标所在行的a全部替换为b
w 保存修改的文件
w filename 保存并命名为filename
q 退出vi
q! 强制退出无法退出的vi
wq 保存并退出

Author: 卢小友

Created: 2015-04-23 周四 22:08

Website:luxiaoyou.com (About)

Sina Weibo:http://weibo.com/yougelu

 
分类: vim
 
 

vi/vim编辑器的基本操作的更多相关文章

  1. windows下vi/vim编辑器的基本操作

    windows下vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准 ...

  2. vi/vim编辑器基本操作

    一.vi/vim的三种模式 vi编辑器有三种模式:命令模式(command mode).插入模式(Insert mode).底行模式(last line mode). 就是你直接用命令(vi  文件名 ...

  3. 【转】Linux上vi(vim)编辑器使用教程

    Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...

  4. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  5. 怎么样退出vi/vim编辑器

    怎么样退出vi/vim编辑器 先按   ESC   然后输入  w  q  :wq 就退出来了

  6. 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作

    Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑 ...

  7. linux vi/vim 编辑器学习总结

    linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...

  8. Linux随笔 - vi/vim 编辑器显示行号

    显示行号 1. 打开vi 编辑器 2. 输入  :set number 3. 回车 关闭行号显示 1. 打开vi 编辑器 2. 输入  :set nonumber 3. 回车 行号在每次打开 vi/v ...

  9. vi/vim编辑器操作梳理

    1. vi/vim编辑器详细使用讲解 1.1 vi/vim编辑器的3种模式 1.2 vi/vim编辑器操作说明 参数/命令/模式 说明 ###普通模式   :set nu  显示行号 :set non ...

随机推荐

  1. 同TextView在不同的显示内容

    首先,请原谅我不能命名文章.. . 我们不能准确地表达你说说什么什么,真正急着赶智商. 直接在地图上 如图所看到的显示的是两个textview 第一个实现的是,在同一个textview中给不同内容赋予 ...

  2. 说说nio2

    利不百不变法,功不十不易器 为什么会出现nio,之前的io有什么问题? 请先看 说说nio1 nio类图例如以下 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZX ...

  3. 从头开始建网站(三)DNS

    前面介绍了站点搭建所须要的两大要素:域名和server,这次要说的是域名解析,也就是把域名和server进行绑定的过程. 我们在訪问网络时,网址会被发送到DNSserver,然后由DNSserver返 ...

  4. hdu 4876 ZCC loves cards(暴力)

    题目链接:hdu 4876 ZCC loves cards 题目大意:给出n,k,l,表示有n张牌,每张牌有值.选取当中k张排列成圈,然后在该圈上进行游戏,每次选取m(1≤m≤k)张连续的牌,取牌上值 ...

  5. HDU 4778 内存搜索&amp;如压力

    鉴于G宝石,B包.和S.S当代表凑齐每种颜色的宝石S我们可以成为哲学家的石头 每个软件包包含N宝石.分别c1,c2....... 然后他们轮流拿包.每个包可以得到一次.宝石出包放在地上. 假设你可以成 ...

  6. ATL 创COM物

    我原来以前写dll创建过程,而直接使用LoadLibrary加载动态库. 但ATL提出了一个非常重要的特点是引入COM对象的概念. 首先. ATL active template library该活动 ...

  7. ef添加字段

    先在实体类里添加字段 ,然后执行 Add-Migration updateNumberOfLikes Update-Database -Verbose

  8. cassandra 服务启动流程

    cassandra 服务启动流程 1.  setup 1)   CassandraDaemon ->main publicstaticvoidmain(String[]args) { insta ...

  9. OpenGL学习日记-2015.3.13——多实例渲染

        实例化(instancing)或者多实例渲染(instancd rendering)是一种连续运行多条同样渲染命令的方法.而且每一个命令的所产生的渲染结果都会有轻微的差异. 是一种很有效的.有 ...

  10. Asp.net中Postback及Callback

    我们知道,在默认的情况下,当我们点击Asp.net Page中的一个服务器Button时(默认其实是Submit Form),会导致Page被Recreated,这个过程我们称之为Postback,它 ...